Bagikan melalui


Metode IWDFIoRequest2::GetRequestorMode (wudfddi.h)

[Peringatan: UMDF 2 adalah versi terbaru UMDF dan pengganti UMDF 1. Semua driver UMDF baru harus ditulis menggunakan UMDF 2. Tidak ada fitur baru yang ditambahkan ke UMDF 1 dan ada dukungan terbatas untuk UMDF 1 pada versi Windows 10 yang lebih baru. Driver Universal Windows harus menggunakan UMDF 2. Untuk informasi selengkapnya, lihat Mulai menggunakan UMDF.]

Metode GetRequestorMode menunjukkan apakah permintaan I/O berasal dari driver mode kernel atau komponen mode pengguna (baik aplikasi atau driver mode pengguna).

Sintaks

WDF_KPROCESSOR_MODE GetRequestorMode();

Mengembalikan nilai

GetRequestorMode mengembalikan nilai WDF_KPROCESSOR_MODE-typed yang menunjukkan apakah permintaan I/O saat ini berasal dari driver mode kernel atau komponen mode pengguna.

Keterangan

Driver berbasis UMDF dapat menerima permintaan I/O dari driver mode kernel hanya jika driver berbasis UMDF mendukung klien mode kernel.

Jika GetRequestorMode mengembalikan WdfUserMode, driver dapat memanggil IWDFIoRequest2::IsFromUserModeDriver untuk menentukan apakah permintaan I/O berasal dari aplikasi atau driver mode pengguna.

Contoh

Contoh kode berikut menunjukkan bagaimana fungsi panggilan balik IQueueCallbackWrite::OnWrite dapat menentukan apakah permintaan I/O berasal dari mode kernel atau mode pengguna. Jika permintaan berasal dari mode pengguna, contoh menentukan apakah permintaan berasal dari aplikasi atau driver mode pengguna lainnya.

VOID
STDMETHODCALLTYPE
  CMyQueue::OnWrite(
    __in IWDFIoQueue *pWdfQueue,
    __in IWDFIoRequest *pWdfRequest,
    __in SIZE_T BytesToWrite
    )
{
 WDF_KPROCESSOR_MODE processorMode;
    BOOL fromApp = FALSE;
    //
    // Declare an IWDFIoRequest2 interface pointer and obtain the
    // IWDFIoRequest2 interface from the IWDFIoRequest interface.
    //
    CComQIPtr<IWDFIoRequest2> r2 = pWdfRequest;

    processorMode = r2->GetRequestorMode();
    if (processorMode == WdfUserMode)
    {
        fromApp = r2->IsFromUserModeDriver();
    }
...
}

Persyaratan

Persyaratan Nilai
Akhir dukungan Tidak tersedia di UMDF 2.0 dan yang lebih baru.
Target Platform Desktop
Versi UMDF minimum 1.9
Header wudfddi.h (termasuk Wudfddi.h)
DLL WUDFx.dll

Lihat juga

IWDFIoRequest2

IWDFIoRequest2::IsFromUserModeDriver