ISensorClassExtension::P rocessIoControl 메서드(sensorsclassextension.h)
ISensorClassExtension::P rocessControl 메서드는 처리를 위해 WPD(Windows 이식 장치) I/O 컨트롤 요청을 센서 클래스 확장으로 보냅니다.
구문
HRESULT ProcessIoControl(
IWDFIoRequest *pRequest
);
매개 변수
pRequest
UMDF 요청 개체를 나타내는 IWDFIoRequest 인터페이스에 대한 포인터입니다.
반환 값
이 메서드는 HRESULT를 반환합니다. 가능한 값은 다음 값 중 하나를 포함하지만 이에 국한되지는 않습니다.
반환 코드 | 설명 |
---|---|
S_OK | 메서드가 성공했습니다. |
E_ACCESS_DENIED | 사용 권한이 없습니다. 예를 들어 I/O 요청은 권한이 없는 데이터를 찾습니다. |
E_POINTER | 필수 포인터 인수는 NULL입니다. |
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED) | 요청에 WPD IOCTL이 포함되지 않았습니다. |
설명
UMDF는 IQueueCallbackDeviceIoControl::OnDeviceIoControl을 통해 센서 드라이버에 I/O 제어 요청을 보냅니다. ProcessIoControl을 호출하여 처리를 위해 모든 WPD 요청을 센서 클래스 확장으로 전달하는 것이 좋습니다. WPD 매크로 IS_WPD_IOCTL 사용하여 지정된 컨트롤 코드가 WPD와 관련된지 여부를 확인할 수 있습니다. 센서 API 및 위치 API의 클라이언트는 항상 센서 클래스 확장에서 처리할 수 있는 WPD IOCTL만 보냅니다.
I/O 컨트롤 요청을 처리한 후 센서 클래스 확장은 드라이버의 콜백 인터페이스인 ISensorDriver를 사용하여 알림을 적절하게 제공합니다. 센서 클래스 확장이 기본적으로 처리하지 않는 WPD 요청은 ISensorDriver::OnProcessWpdMessage를 통해 드라이버로 전송됩니다.
드라이버가 센서 클래스 확장에 전달하는 I/O 제어 요청을 완료하면 안 됩니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | sensorsclassextension.h |
라이브러리 | SensorsClassExtension.lib |