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로 설정하고 ACPI 테이블에서 _PSx 메서드를 제거해야 합니다.

EvtSensorStart

이 콜백 함수는 드라이버에서 지정한 기본 속성 또는 클래스 확장에서 설정한 속성에 따라 센서를 시작합니다.

EvtSensorStop

이 콜백 함수는 센서를 중지합니다.

EvtSensorGetSupportedDataFields

이 콜백 함수는 지정된 센서에서 지원하는 데이터 필드 목록을 반환합니다.

EvtSensorGetDataFieldProperties

이 콜백 함수는 센서와 연결된 지정된 데이터 필드의 속성을 반환합니다.

EvtSensorGetDataInterval

이 콜백 함수는 지정된 센서에 대한 데이터 간격을 반환합니다.

EvtSensorSetDataInterval

이 콜백 함수는 지정된 센서의 데이터 간격을 설정합니다.

EvtSensorGetDataThresholds

이 콜백 함수는 센서와 연결된 임계값을 반환합니다.

EvtSensorSetDataThresholds

이 콜백 함수는 센서를 중지합니다.

EvtSensorGetProperties

이 콜백 함수는 지정된 센서의 속성을 반환합니다.

EvtSensorDeviceIoControl

이 콜백 함수는 클래스 확장 외부의 IOCTL을 처리합니다.

참고 드라이버가 IRP를 큐에 대기해야 하는 경우 IRP를 드라이버가 소유한 IoQueue에 복사해야 합니다. 이렇게 하면 완료될 때까지 드라이버의 모든 IRP가 중단되지 않습니다.

 

EvtSensorStartHistory

EvtSensorStopHistory

EvtSensorClearHistory

EvtSensorStartHistoryRetrieval

EvtSensorCancelHistoryRetrieval

EvtSensorSetBatchLatency

이 콜백 함수는 지정된 센서의 일괄 처리 대기 시간을 설정합니다.

EvtSensorStartStateChangeNotification

EvtSensorStopStateChangeNotification

EvtSensorEnableWake

EvtSensorDisableWake

설명

이 구조체는 SensorsCxDeviceInitialize 함수를 사용하여 클래스 확장에 제공됩니다. 다음 함수 포인터가 설정되지 않으면 드라이버가 로드되지 않습니다.

  • EvtSensorStart
  • EvtSensorStop
  • EvtSensorGetSupportedDataFields
  • EvtSensorGetDataFieldProperties
  • EvtSensorGetDataInterval
  • EvtSensorSetDataInterval
  • EvtSensorGetDataThresholds
  • EvtSensorSetDataThresholds
  • EvtSensorGetProperties
각 함수는 성공적으로 완료되면 STATUS_SUCCESS 반환합니다.
참고 CX(클래스 확장)는 NT_SUCCESS 매크로만 사용하여 드라이버의 Evt 함수 호출이 성공했는지 확인하지만 함수가 실패했거나 STATUS_SUCCESS 반환하지 않는 경우 아무 작업도 수행하지 않습니다.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8.1
지원되는 최소 서버 Windows Server 2012 R2
머리글 sensorscx.h