This CLSID returns the status of various lights in the vehicle.
Auxiliary light status
Read, shareable or exclusive
Type: | VT_UI4 (unsigned long bitmask) |
The following table shows possible bitmask values.
Auxiliary light |
Bitmask value |
Description |
VIOLIGHTS_DOME | 0x0001 | Dome lighting |
VIOLIGHTS_DASH | 0x0002 | Dash light — on or off only, no analog level |
VIOLIGHTS_DRIVING | 0x0004 | Driving lights — separate from headlights |
VIOLIGHTS_LEFT_VISOR | 0x0008 | Left visor light |
VIOLIGHTS_RIGHT_VISOR | 0x0010 | Right visor light |
VIOLIGHTS_LEFT_MAP | 0x0020 | Left map light |
VIOLIGHTS_RIGHT_MAP | 0x0040 | Right map light |
VIOLIGHTS_LEFT_REAR | 0x0080 | Left rear passenger light |
VIOLIGHTS_RIGHT_REAR | 0x0100 | Right rear passenger light |
VIOLIGHTS_TRUNK | 0x0200 | Trunk light |
None
Type: | VT_UI4 (unsigned long bitmask) |
Measurement: | VIOMEASUREMENT_DISCRETEMASK (Bitmask) |
Units: | VIOUNITS_BITMASK |
API device objects expect the following data types and sizes when sending data to and from the mini-drivers:
None
Type: | DWORD * |
Size: | 4 bytes |
Description: | Bitmask that contains the state of the vehicle’s lights, in VIOLIGHTS_* values. |
HRESULT hr;
IVIO_Device *pLightStatus;
VARIANT vDeviceData;
ULONG ulLightStatus;
//Create an instance of the auxiliary light status device and get its
//IVIO_DEVICE interface.
hr = CoCreateInstance(CLSID_VIO_LIGHT_STATUS, NULL,
CLSCTX_INPROC_SERVER, IID_VIODEVICE,
&pLightStatus);
//Ask the device for its current status bits.
pLightStatus->GetData(&vDeviceData, 1000);
//Fetch the status bits from the VARIANT
ulLightStatus = vDeviceData.ulVal;
//Release the reference to the interface.
pLightStatus->Release();