SimConnect_EnumerateCameraDefinitions
The SimConnect_EnumerateCameraDefinitions function is used to retrieve an array of all the defined camera names.
Syntax
HRESULT SimConnect_EnumerateCameraDefinitions(
HANDLE hSimConnect,
SIMCONNECT_DATA_REQUEST_ID RequestID
);
Parameters
| Parameter | Description | Type |
|---|---|---|
| hSimConnect | Handle to a SimConnect object. | Integer |
| RequestID | Specifies the client defined request ID. | Integer |
Return Values
The function returns an HRESULT. Possible values include, but are not limited to, those in the following table.
| Return value | Description |
|---|---|
| S_OK | The function succeeded. |
| E_FAIL | The function failed. |
Example
Request information on cameras:
HANDLE hSimConnect = NULL;
int expectedDefReceived = -1;
int defReceived = 0;
void main()
{
// Open SimConnect connection
if (SUCCEEDED(SimConnect_Open(&hSimConnect, "Enumerate Camera Def Names", NULL, 0, 0, 0)))
{
SimConnect_EnumerateCameraDefinitions(hSimConnect, 0);
// Call dispatch proc while we didn't receive all
while (expectedDefReceived != defReceived)
{
SimConnect_CallDispatch(hSimConnect, MyDispatchProc, NULL);
Sleep(1);
}
}
}
User defined dispatch function:
void CALLBACK MyDispatchProc(SIMCONNECT_RECV* pData, DWORD cbData, void* pContext)
{
switch (pData->dwID)
{
case SIMCONNECT_RECV_ID_CAMERA_DEFINITION_LIST:
{
SIMCONNECT_RECV_CAMERA_DEFINITION_LIST* list = (SIMCONNECT_RECV_CAMERA_DEFINITION_LIST*)pData;
for (int i = 0; i < list->dwArraySize; ++i)
{
std::cout << list->rgData[i].Str << std::endl;
}
expectedDefReceived = list->dwOutOf;
defReceived++;
break;
}
}
}
Remarks
This function will generate a SIMCONNECT_RECV_CAMERA_DEFINITION_LIST containing an array with all the different unique camera ID strings.
0/255