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