ISensorClassExtension::P rocessIoControl 메서드(sensorsclassextension.h)
ISensorClassExtension::P rocessControl 메서드는 처리를 위해 Windows WPD(이식 가능한 디바이스) 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 제어 요청을 보냅니다. 프로세스IoControl을 호출하여 처리를 위해 모든 WPD 요청을 센서 클래스 확장으로 전달하는 것이 좋습니다. WPD 매크로 IS_WPD_IOCTL 사용하여 지정된 제어 코드가 WPD와 관련된지 여부를 확인할 수 있습니다. 센서 API 및 위치 API의 클라이언트는 항상 센서 클래스 확장에서 처리할 수 있는 WPD IOCTL만 보냅니다.
I/O 제어 요청을 처리한 후 센서 클래스 확장은 드라이버의 콜백 인터페이스인 ISensorDriver를 사용하여 적절하게 알림을 제공합니다. 센서 클래스 확장에서 기본적으로 처리하지 않는 WPD 요청은 ISensorDriver::OnProcessWpdMessage를 통해 드라이버로 전송됩니다.
드라이버는 센서 클래스 확장에 전달하는 I/O 제어 요청을 완료해서는 안 됩니다.
요구 사항
| 대상 플랫폼 | Windows |
| 헤더 | sensorsclassextension.h |
| 라이브러리 | SensorsClassExtension.lib |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기