CLSID_VIO_AUX_LIGHTS

This CLSID returns the status of various lights in the vehicle.

Name

Auxiliary light status

Access

Read, shareable or exclusive

Range

Type: VT_UI4 (unsigned long bitmask)

Bitmask Values

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

Input

None

Output

Type: VT_UI4 (unsigned long bitmask)
Measurement: VIOMEASUREMENT_DISCRETEMASK (Bitmask)
Units: VIOUNITS_BITMASK

Remarks

API device objects expect the following data types and sizes when sending data to and from the mini-drivers:

Mini-driver input

None

Mini-driver output

Type: DWORD *
Size: 4 bytes
Description: Bitmask that contains the state of the vehicle’s lights, in VIOLIGHTS_* values.

Example

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();