# SIMCONNECT_RECV_FACILITY_DATA The **SIMCONNECT\_RECV\_FACILITY\_DATA** structure is used to provide information that has been requested from the server using the `SimConnect_RequestFacilityData` function. This struct may be received multiple times before receiving `SIMCONNECT_RECV_FACILITY_DATA_END`.   ##### Syntax ``` cpp struct SIMCONNECT_RECV_FACILITY_DATA : public SIMCONNECT_RECV{ DWORD UserRequestId; DWORD UniqueRequestId; DWORD ParentUniqueRequestId; SIMCONNECT_FACILITY_DATA_TYPE Type; bool IsListItem; DWORD ItemIndex; DWORD ListSize; DWORD Data; }; ```   ##### Members {{< table-wrapper >}} | Member | Description | |-------------------------|---------------------------------------------------------------------------------------------------------------------------------------| | `UserRequestId` | Double word containing the client defined request ID. | | `UniqueRequestId` | The unique request ID, so the client can identify it. | | `ParentUniqueRequestId` | If the current message is about a child object, this field will contain the parent's `UniqueRequestId`, otherwise it will be 0. | | `Type` | Specifies the type of the object, will be a value from the [`SIMCONNECT_FACILITY_DATA_TYPE`](simconnect-facility-data-type/) enum. | | `IsListItem` | If the current message is about a child object, this specifies if it is an orphan object or not. | | `ItemIndex` | If `IsListItem` is true then this specifies the index in the list. | | `ListSize` | If `IsListItem` is true, then this specifies the list size. | | `Data` | Buffer of data. Have to cast it to a struct which matches the definition. | {{< /table-wrapper >}}   ##### Remarks   This structure inherits the [`SIMCONNECT_RECV`](simconnect-recv/) structure, so use the [`SIMCONNECT_RECV_ID`](simconnect-recv-id/) enumeration to determine which list structure has been received.