WdfRequestGetRequestorMode 関数 (wdfrequest.h)
[KMDF と UMDF に適用]
WdfRequestGetRequestorMode メソッドは、指定された I/O 要求の発信元のプロセッサ アクセス モードを返します。
構文
KPROCESSOR_MODE WdfRequestGetRequestorMode(
[in] WDFREQUEST Request
);
パラメーター
[in] Request
フレームワーク要求オブジェクトへのハンドル。
戻り値
I/O 要求の発信元がカーネル モードで実行されている場合、WdfRequestGetRequestorMode は KernelMode を返します。 それ以外の場合、このメソッドは UserMode を返します。 KernelMode 定数と UserMode 定数は wdm.h で定義されます。
ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。
注釈
WdfRequestGetRequestorMode の詳細については、「I/O 要求に関する情報の取得」を参照してください。
例
次のコード例は、 NDISProt サンプル ドライバーのものです。 次の使用例は、I/O 要求がユーザー モード アプリケーションから送信された場合に、有効な MAC アドレスを確認します。
//
// To prevent applications from sending packets with spoofed MAC address,
// perform the following check to make sure the source address
// in the packet is the same as the current MAC address of the NIC.
//
if ((WdfRequestGetRequestorMode(Request) == UserMode) &&
!NPROT_MEM_CMP(pEthHeader->SrcAddr, pOpenContext->CurrentAddress, NPROT_MAC_ADDR_LEN))
{
DEBUGP(DL_WARN, ("Write: Failing with invalid Source address"));
NtStatus = STATUS_INVALID_PARAMETER;
break;
}
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
最小 UMDF バージョン | 2.0 |
Header | wdfrequest.h (Wdf.h を含む) |
Library | Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
DDI コンプライアンス規則 | DriverCreate(kmdf)、 InvalidReqAccess(kmdf)、 InvalidReqAccessLocal(kmdf)、 KmdfIrql(kmdf)、 KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf) |