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 |