структура SENSOR_CONTROLLER_CONFIG (sensorscx.h)
Эта структура содержит указатели на функции обратного вызова, которые должны быть реализованы драйвером и переданы в расширение класса для вызова.
Синтаксис
typedef struct _SENSOR_CONTROLLER_CONFIG {
ULONG Size;
WDF_TRI_STATE DriverIsPowerPolicyOwner;
PFN_SENSOR_DRIVER_START_SENSOR EvtSensorStart;
PFN_SENSOR_DRIVER_STOP_SENSOR EvtSensorStop;
PFN_SENSOR_DRIVER_GET_SUPPORTED_DATA_FIELDS EvtSensorGetSupportedDataFields;
PFN_SENSOR_DRIVER_GET_DATA_FIELD_PROPERTIES EvtSensorGetDataFieldProperties;
PFN_SENSOR_DRIVER_GET_DATA_INTERVAL EvtSensorGetDataInterval;
PFN_SENSOR_DRIVER_SET_DATA_INTERVAL EvtSensorSetDataInterval;
PFN_SENSOR_DRIVER_GET_DATA_THRESHOLDS EvtSensorGetDataThresholds;
PFN_SENSOR_DRIVER_SET_DATA_THRESHOLDS EvtSensorSetDataThresholds;
PFN_SENSOR_DRIVER_GET_PROPERTIES EvtSensorGetProperties;
PFN_SENSOR_DRIVER_DEVICE_IO_CONTROL EvtSensorDeviceIoControl;
PFN_SENSOR_DRIVER_START_SENSOR_HISTORY EvtSensorStartHistory;
PFN_SENSOR_DRIVER_STOP_SENSOR_HISTORY EvtSensorStopHistory;
PFN_SENSOR_DRIVER_CLEAR_SENSOR_HISTORY EvtSensorClearHistory;
PFN_SENSOR_DRIVER_START_HISTORY_RETRIEVAL EvtSensorStartHistoryRetrieval;
PFN_SENSOR_DRIVER_CANCEL_HISTORY_RETRIEVAL EvtSensorCancelHistoryRetrieval;
PFN_SENSOR_DRIVER_SET_BATCH_LATENCY EvtSensorSetBatchLatency;
PFN_SENSOR_DRIVER_START_STATE_CHANGE_NOTIFICATION EvtSensorStartStateChangeNotification;
PFN_SENSOR_DRIVER_STOP_STATE_CHANGE_NOTIFICATION EvtSensorStopStateChangeNotification;
PFN_SENSOR_DRIVER_ENABLE_WAKE EvtSensorEnableWake;
PFN_SENSOR_DRIVER_DISABLE_WAKE EvtSensorDisableWake;
} SENSOR_CONTROLLER_CONFIG, *PSENSOR_CONTROLLER_CONFIG;
Члены
Size
Выделенный размер этой структуры (в байтах).
DriverIsPowerPolicyOwner
Указывает, является ли драйвер владельцем политики управления питанием. Это значение должно быть WdfFalse, WdfUseDefault или WdfTrue. Чтобы партнеры воспользовались преимуществами управления питанием на основе pep, они должны установить для этого флага WdfFalse или WdfUseDefault и удалить все методы _PSx в таблицах ACPI.
EvtSensorStart
Эта функция обратного вызова запускает датчик на основе свойств по умолчанию, заданных драйвером, или свойств, заданных расширением класса.
EvtSensorStop
Эта функция обратного вызова останавливает работу датчика.
EvtSensorGetSupportedDataFields
Эта функция обратного вызова возвращает список полей данных, поддерживаемых указанным датчиком.
EvtSensorGetDataFieldProperties
Эта функция обратного вызова возвращает свойства заданного поля данных, связанного с датчиком.
EvtSensorGetDataInterval
Эта функция обратного вызова возвращает интервал данных для указанного датчика.
EvtSensorSetDataInterval
Эта функция обратного вызова задает интервал данных для указанного датчика.
EvtSensorGetDataThresholds
Эта функция обратного вызова возвращает пороговые значения, связанные с датчиком.
EvtSensorSetDataThresholds
Эта функция обратного вызова останавливает работу датчика.
EvtSensorGetProperties
Эта функция обратного вызова возвращает свойства для заданного датчика.
EvtSensorDeviceIoControl
Эта функция обратного вызова обрабатывает IOCTL за пределами расширения класса.
EvtSensorStartHistory
EvtSensorStopHistory
EvtSensorClearHistory
EvtSensorStartHistoryRetrieval
EvtSensorCancelHistoryRetrieval
EvtSensorSetBatchLatency
Эта функция обратного вызова задает задержку пакета для указанного датчика.
EvtSensorStartStateChangeNotification
EvtSensorStopStateChangeNotification
EvtSensorEnableWake
EvtSensorDisableWake
Комментарии
Эта структура задается расширению класса с помощью функции SensorsCxDeviceInitialize . Если какой-либо из следующих указателей на функцию не задан, драйвер не сможет загрузиться:
- EvtSensorStart
- EvtSensorStop
- EvtSensorGetSupportedDataFields
- EvtSensorGetDataFieldProperties
- EvtSensorGetDataInterval
- EvtSensorSetDataInterval
- EvtSensorGetDataThresholds
- EvtSensorSetDataThresholds
- EvtSensorGetProperties
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8.1 |
Минимальная версия сервера | Windows Server 2012 R2 |
Верхняя часть | sensorscx.h |