This CLSID returns the status of the headlight switch.
Headlight switch
Read, shareable or exclusive
Type: | VT_UI4 (unsigned long bitmask) |
The following table shows possible bitmask values.
Headlight switch status |
Bitmask value |
VIOHEADLIGHTS_OFF | 0x00 |
VIOHEADLIGHTS_PARKINGLIGHTS | 0x01 |
VIOHEADLIGHTS_HEADLIGHTS | 0x02 |
VIOHEADLIGHTS_BRIGHTHEADLIGHTS | 0x04 |
None
Type: | VT_UI4 (unsigned long) |
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 VIOHEADLIGHTS_* values. |
HRESULT hr;
IVIO_Device *pHeadlightSwitch;
VARIANT vDeviceData;
ULONG ulSwitchStatus;
//Create an instance of the headlight switch device component and get //its IVIO_Device interface.
hr = CoCreateInstance(CLSID_VIO_HEADLIGHTS, NULL,
CLSCTX_INPROC_SERVER, IID_VIODEVICE,
&pHeadlightSwitch);
//Ask the device for its current status bits.
pHeadlightSwitch->GetData(&vDeviceData, 1000);
//Fetch the status bits from the VARIANT.
ulSwitchStatus = vDeviceData.ulVal;
//Release the reference to the interface.
pHeadlightSwitch->Release();