Bagikan melalui


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.
Untuk informasi selengkapnya tentang penyelesaian permintaan, lihat Menyelesaikan Permintaan I/O.

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

IWDFIoRequest2

IWDFIoRequest::CompleteWithInformation

IWDFIoRequest::GetCompletionParams

IWDFIoRequest::Send