Fungsi WdfRequestGetRequestorMode (wdfrequest.h)

[Berlaku untuk KMDF dan UMDF]

Metode WdfRequestGetRequestorMode mengembalikan mode akses prosesor dari penampung permintaan I/O tertentu.

Sintaks

KPROCESSOR_MODE WdfRequestGetRequestorMode(
  [in] WDFREQUEST Request
);

Parameter

[in] Request

Handel ke objek permintaan kerangka kerja.

Nilai kembali

WdfRequestGetRequestorMode mengembalikan KernelMode jika penanda permintaan I/O dijalankan dalam mode kernel. Jika tidak, metode ini mengembalikan UserMode. Konstanta KernelMode dan UserMode didefinisikan dalam wdm.h.

Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.

Keterangan

Untuk informasi selengkapnya tentang WdfRequestGetRequestorMode, lihat Mendapatkan Informasi Tentang Permintaan I/O.

Contoh

Contoh kode berikut berasal dari driver sampel NDISProt . Contoh ini memeriksa alamat MAC yang valid jika permintaan I/O berasal dari aplikasi mode pengguna.

//
// 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;
}

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Versi UMDF minimum 2.0
Header wdfrequest.h (termasuk Wdf.h)
Pustaka Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Aturan kepatuhan DDI DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)