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 コントロール要求を送信します。 ProcessIoControl を呼び出して、すべての WPD 要求をセンサー クラス拡張機能に転送して処理することをお勧めします。 WPD マクロ IS_WPD_IOCTLを使用して、特定のコントロール コードが WPD に固有であるかどうかを判断できます。 Sensor API と Location API のクライアントは WPD IOCTL のみを送信します。これは、センサー クラス拡張機能によって常に処理できます。
I/O コントロール要求を処理した後、センサー クラス拡張機能は、ドライバーのコールバック インターフェイス ISensorDriver を使用して、必要に応じて通知を提供します。 センサー クラス拡張機能が既定で処理しない WPD 要求は、 ISensorDriver::OnProcessWpdMessage を介してドライバーに送信されます。
ドライバーは、センサー クラス拡張機能に転送する I/O コントロール要求を完了できません。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | sensorsclassextension.h |
Library | SensorsClassExtension.lib |