estrutura SENSOR_CONTROLLER_CONFIG (sensorscx.h)

Essa estrutura contém ponteiros para funções de retorno de chamada que devem ser implementadas pelo driver e passadas para a extensão de classe a ser chamada.

Sintaxe

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;

Membros

Size

O tamanho alocado dessa estrutura (em bytes).

DriverIsPowerPolicyOwner

Indica se o driver possui ou não a política de energia. Esse valor deve ser WdfFalse, WdfUseDefault ou WdfTrue. Para que os parceiros aproveitem o gerenciamento de energia baseado em pep, eles devem definir esse sinalizador como WdfFalse ou WdfUseDefault e remover qualquer método de _PSx em suas tabelas ACPI.

EvtSensorStart

Essa função de retorno de chamada inicia o sensor com base nas propriedades padrão especificadas pelo driver ou nas propriedades definidas pela extensão de classe.

EvtSensorStop

Essa função de retorno de chamada interrompe o sensor.

EvtSensorGetSupportedDataFields

Essa função de retorno de chamada retorna uma lista de campos de dados compatíveis com o sensor especificado.

EvtSensorGetDataFieldProperties

Essa função de retorno de chamada retorna as propriedades de um determinado campo de dados associado a um sensor.

EvtSensorGetDataInterval

Essa função de retorno de chamada retorna o intervalo de dados para um sensor especificado.

EvtSensorSetDataInterval

Essa função de retorno de chamada define o intervalo de dados para um sensor especificado.

EvtSensorGetDataThresholds

Essa função de retorno de chamada retorna os limites associados a um sensor.

EvtSensorSetDataThresholds

Essa função de retorno de chamada interrompe o sensor.

EvtSensorGetProperties

Essa função de retorno de chamada retorna as propriedades de um determinado sensor.

EvtSensorDeviceIoControl

Essa função de retorno de chamada manipula IOCTLs fora da extensão de classe.

Nota Se o driver precisar enfileirar o IRP, ele deverá copiar o IRP para um IoQueue que o driver possui. Isso impedirá que todos os IRPs do driver fiquem paralisados até a conclusão.

 

EvtSensorStartHistory

EvtSensorStopHistory

EvtSensorClearHistory

EvtSensorStartHistoryRetrieval

EvtSensorCancelHistoryRetrieval

EvtSensorSetBatchLatency

Essa função de retorno de chamada define a latência em lote para um sensor especificado.

EvtSensorStartStateChangeNotification

EvtSensorStopStateChangeNotification

EvtSensorEnableWake

EvtSensorDisableWake

Comentários

Essa estrutura é fornecida à extensão de classe usando a função SensorsCxDeviceInitialize . Se qualquer um dos seguintes ponteiros de função não estiver definido, o driver não carregará:

  • EvtSensorStart
  • EvtSensorStop
  • EvtSensorGetSupportedDataFields
  • EvtSensorGetDataFieldProperties
  • EvtSensorGetDataInterval
  • EvtSensorSetDataInterval
  • EvtSensorGetDataThresholds
  • EvtSensorSetDataThresholds
  • EvtSensorGetProperties
Cada função retorna STATUS_SUCCESS quando concluída com êxito.
Nota A CX (extensão de classe) usa apenas a macro NT_SUCCESS para determinar se a chamada para a função Evt do driver foi bem-sucedida, mas não executa nenhuma ação se a função falhou ou não retorna STATUS_SUCCESS.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8.1
Servidor mínimo com suporte Windows Server 2012 R2
Cabeçalho sensorscx.h