# SimConnect_CameraGetStatus The **SimConnect\_CameraGetStatus** function is used to get the add-on camera status, regardless of whether it has been acquired or not.   ##### Syntax ``` cpp HRESULT SimConnect_CameraGetStatus( HANDLE hSimConnect ); ```   ##### Parameters {{< table-wrapper >}} | Parameter | Description | Type | |---------------|--------------------------------|---------| | *hSimConnect* | Handle to a SimConnect object. | Integer | {{< /table-wrapper >}}   ##### Return Values The function returns an **HRESULT**. Possible values include, but are not limited to, those in the following table. {{< table-wrapper >}} | Return value | Description | |--------------|-------------------------| | S\_OK | The function succeeded. | | E\_FAIL | The function failed. | {{< /table-wrapper >}}   ##### Example Request the camera status: ``` cpp SimConnect_CameraGetStatus(hSimConnect); ```   User defined dispatch function: ``` cpp void CALLBACK MyDispatchProc(SIMCONNECT_RECV* pData, DWORD cbData, void* pContext) { switch (pData->dwID) { case SIMCONNECT_RECV_ID_CAMERA_STATUS: { // Receive an update on the camera status (the structure is subject to change) SIMCONNECT_RECV_CAMERA_STATUS* pRes = (SIMCONNECT_RECV_CAMERA_STATUS*)pData; // Is the game controlling the camera ? (RTC, menu, ...) bIsGameControlled = pRes->bGameControlled; // Is the camera acquired by the current user bIsAquired = pRes->acquiredState == SIMCONNECT_CAMERA_ACQUIRED; printf("\nIsSettable: %s", (bIsAquired && !bIsGameControlled) ? "true" : "false"); printf("\nIsAcquired: %s - IsGameControlled: %s", bIsAquired ? "true" : "false", bIsGameControlled ? "true" : "false"); break; } } } ```   ##### Remarks The simulation will send a `SIMCONNECT_RECV_CAMERA_STATUS` to the client requesting the camera status.