IWDFIoRequest2::Metode GetStatus (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 GetStatus mengembalikan status permintaan I/O.
Sintaks
HRESULT GetStatus();
Mengembalikan nilai
GetStatus mengembalikan nilai status berjenis HRESULT, Nilai ini menunjukkan status permintaan I/O saat ini yang diwakili antarmuka IWDFIoRequest2 .
Keterangan
Driver dapat memanggil GetStatus setelah memanggil IWDFIoRequest::Kirim untuk mengirim permintaan I/O ke target I/O.
-
Jika panggilan driver ke Kirim berhasil, GetStatus mengembalikan nilai status yang diatur oleh driver yang menyelesaikan permintaan yang ditentukan.
Jika driver menentukan WDF_REQUEST_SEND_OPTION_SYNCHRONOUS untuk permintaan saat memanggil Kirim, driver dapat memanggil GetStatus (atau IWDFIoRequest::GetCompletionParams) segera setelah memanggil Kirim.
Jika driver tidak menentukan WDF_REQUEST_SEND_OPTION_SYNCHRONOUS saat memanggil Kirim, driver biasanya memanggil GetStatus (atau IWDFIoRequest::GetCompletionParams) dari dalam fungsi panggilan balik IRequestCallbackRequestCompletion::OnCompletion .
- Jika panggilan driver ke Kirim gagal, Kirim mengembalikan nilai status yang telah diatur kerangka kerja untuk menjelaskan kegagalan. Driver dapat memanggil GetStatus (tetapi bukanIWDFIoRequest::GetCompletionParams) untuk mendapatkan status permintaan saat ini, tetapi dalam hal ini GetStatus mengembalikan kode kegagalan yang sama dengan yang Dikirim dikembalikan.
Contoh
Contoh kode berikut mengirimkan permintaan I/O ke target I/O. Jika panggilan ke Kirim berhasil, contohnya mendapatkan antarmuka IWDFIoRequest2 , memanggil GetStatus untuk mendapatkan nilai status permintaan, lalu memanggil IWDFIoRequest::CompleteWithInformation untuk menyelesaikan permintaan I/O.
HRESULT hrSend = S_OK;
...
hrSend = fxRequest->Send(m_pIoTarget,
WDF_REQUEST_SEND_OPTION_SYNCHRONOUS,
0);
if (SUCCEEDED(hrSend))
{
//
// If send succeeded, complete the request and specify
// the current status value.
//
CComQIPtr<IWDFIoRequest2> fxRequest2 = fxRequest;
hrSend = fxRequest2->GetStatus();
fxRequest->CompleteWithInformation(hrSend, 0);
}
...
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
IRequestCallbackRequestCompletion::OnCompletion
IWDFIoRequest::CompleteWithInformation