IWDFIoRequest2::Metode antrean ulang (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 Antrean Ulang mengembalikan permintaan I/O ke kepala antrean I/O dari mana ia dikirimkan ke driver.

Sintaks

HRESULT Requeue();

Mengembalikan nilai

Antrean ulang mengembalikan S_OK jika operasi berhasil. Jika tidak, metode ini mungkin mengembalikan salah satu nilai berikut:

Menampilkan kode Deskripsi
HRESULT_FROM_WIN32 (ERROR_INVALID_OPERATION)
Nilai ini dikembalikan jika salah satu hal berikut ini terjadi:
  • Permintaan I/O yang ditentukan tidak berasal dari antrean I/O.
  • Driver tidak memiliki permintaan I/O.
  • Permintaan dapat dibatalkan.
  • Metode pengiriman antrean tidak manual.
 

Metode ini mungkin mengembalikan salah satu nilai lain yang dikandung Winerror.h.

Keterangan

Driver dapat memanggil Antrean Ulang hanya jika menggunakan metode pengiriman manual untuk antrean I/O.

Contoh

Contoh kode berikut menunjukkan segmen fungsi panggilan balik IQueueCallbackStateChange::OnStateChange . Segmen memperoleh permintaan I/O dari I/O lalu mengembalikan permintaan ke antrean.

void 
CMyQueue::OnStateChange(
    __in IWDFIoQueue* pWdfQueue,
    __in WDF_IO_QUEUE_STATE 
    )
{
    HRESULT hr;
    IWDFIoRequest* Request;
...
    //
    // Get the IWDFIoRequest interface of the next request.
    //
    hr = pWdfQueue->RetrieveNextRequest(&Request);
...
    //
    // Declare an IWDFIoRequest2 interface pointer and obtain the
    // IWDFIoRequest2 interface from the IWDFIoRequest interface.
    //
    CComQIPtr<IWDFIoRequest2> r2 = Request;

    //
    // Add code here to determine whether to process or requeue the request.
    //
...
    //
    // Requeue the request.
    //
    hr = r2->Requeue();
    if (FAILED(hr)) goto Error;
...
}

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

IWDFIoQueue::RetrieveNextRequest

IWDFIoRequest2