SENSOR_CONTROLLER_CONFIG Struktur (sensorscx.h)

Diese Struktur enthält Zeiger auf Rückruffunktionen, die vom Treiber implementiert und an die Klassenerweiterung zum Aufrufen übergeben werden müssen.

Syntax

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;

Member

Size

Die zugeordnete Größe dieser Struktur (in Bytes).

DriverIsPowerPolicyOwner

Gibt an, ob der Treiber besitzer der Energierichtlinie ist. Dieser Wert muss entweder WdfFalse, WdfUseDefault oder WdfTrue sein. Damit Partner die Pep-basierte Energieverwaltung nutzen können, müssen sie dieses Flag auf WdfFalse oder WdfUseDefault festlegen und jede _PSx-Methode in ihren ACPI-Tabellen entfernen.

EvtSensorStart

Diese Rückruffunktion startet den Sensor basierend auf den vom Treiber angegebenen Standardeigenschaften oder den von der Klassenerweiterung festgelegten Eigenschaften.

EvtSensorStop

Diese Rückruffunktion stoppt den Sensor.

EvtSensorGetSupportedDataFields

Diese Rückruffunktion gibt eine Liste von Datenfeldern zurück, die vom angegebenen Sensor unterstützt werden.

EvtSensorGetDataFieldProperties

Diese Rückruffunktion gibt die Eigenschaften eines bestimmten Datenfelds zurück, das einem Sensor zugeordnet ist.

EvtSensorGetDataInterval

Diese Rückruffunktion gibt das Datenintervall für einen angegebenen Sensor zurück.

EvtSensorSetDataInterval

Diese Rückruffunktion legt das Datenintervall für einen angegebenen Sensor fest.

EvtSensorGetDataThresholds

Diese Rückruffunktion gibt die Schwellenwerte zurück, die einem Sensor zugeordnet sind.

EvtSensorSetDataThresholds

Diese Rückruffunktion stoppt den Sensor.

EvtSensorGetProperties

Diese Rückruffunktion gibt die Eigenschaften für einen bestimmten Sensor zurück.

EvtSensorDeviceIoControl

Diese Rückruffunktion verarbeitet IOCTLs außerhalb der Klassenerweiterung.

Hinweis Wenn der Treiber die IRP in eine Warteschlange stellen muss, muss er die IRP in eine IoQueue kopieren, die der Treiber besitzt. Dadurch wird verhindert, dass alle IRPs für den Treiber bis zum Abschluss angehalten werden.

 

EvtSensorStartHistory

EvtSensorStopHistory

EvtSensorClearHistory

EvtSensorStartHistoryRetrieval

EvtSensorCancelHistoryRetrieval

EvtSensorSetBatchLatency

Diese Rückruffunktion legt die Batchlatenz für einen angegebenen Sensor fest.

EvtSensorStartStateChangeNotification

EvtSensorStopStateChangeNotification

EvtSensorEnableWake

EvtSensorDisableWake

Hinweise

Diese Struktur wird der Klassenerweiterung mithilfe der SensorsCxDeviceInitialize-Funktion zugewiesen. Wenn einer der folgenden Funktionszeiger nicht festgelegt ist, kann der Treiber nicht geladen werden:

  • EvtSensorStart
  • EvtSensorStop
  • EvtSensorGetSupportedDataFields
  • EvtSensorGetDataFieldProperties
  • EvtSensorGetDataInterval
  • EvtSensorSetDataInterval
  • EvtSensorGetDataThresholds
  • EvtSensorSetDataThresholds
  • EvtSensorGetProperties
Jede Funktion gibt STATUS_SUCCESS zurück, wenn sie erfolgreich abgeschlossen wurde.
Hinweis Die Klassenerweiterung (CX) verwendet nur das NT_SUCCESS Makro, um zu bestimmen, ob der Aufruf der Evt-Funktion des Treibers erfolgreich war, führt jedoch keine Aktion aus, wenn die Funktion fehlgeschlagen ist oder STATUS_SUCCESS nicht zurückgibt.
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8.1
Unterstützte Mindestversion (Server) Windows Server 2012 R2
Kopfzeile sensorscx.h