Metode IWDFIoRequest::ForwardToIoQueue (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 ForwardToIoQueue meneruskan (yaitu, mengantre ulang) permintaan I/O ke salah satu antrean I/O driver panggilan.

Sintaks

HRESULT ForwardToIoQueue(
  [in] IWDFIoQueue *pDestination
);

Parameter

[in] pDestination

Penunjuk ke antarmuka IWDFIoQueue untuk objek antrean tujuan.

Nilai kembali

ForwardToIoQueue mengembalikan S_OK jika operasi berhasil. Jika tidak, metode ini mengembalikan salah satu kode kesalahan yang didefinisikan dalam Winerror.h.

Keterangan

Driver harus memiliki permintaan I/O dan harus mendapatkan permintaan dari salah satu antrean I/O-nya.

Antrean sumber dan tujuan tidak boleh sama. Dengan kata lain, driver tidak dapat memanggil ForwardToIoQueue untuk mengembalikan permintaan ke antrean asalnya. Untuk mengembalikan permintaan I/O ke antrean I/O asalnya, driver dapat memanggil IWDFIoRequest2::Requeue.

Antrean sumber dan tujuan harus milik perangkat yang sama.

Selain itu, metode ForwardToIoQueue tidak dapat mengantre ulang permintaan yang diperoleh driver dengan memanggil metode IWDFIoQueue::RetrieveNextRequest .

Permintaan tidak dapat dibatalkan. Jika driver sebelumnya memanggil metode IWDFIoRequest::MarkCancelable untuk membuat permintaan dapat dibatalkan, driver harus memanggil metode IWDFIoRequest::UnmarkCancelable sebelum memanggil ForwardToIoQueue.

Contoh

Contoh kode berikut menunjukkan cara meneruskan permintaan ke antrean lain jika buffer permintaan tidak cukup untuk menyimpan informasi yang diperlukan.

HRESULT hr;
 if (OutputBufferSizeInBytes < sizeof(SWITCH_STATE)) {
    hr = HRESULT_FROM_NT(ERROR_INSUFFICIENT_BUFFER);
 }
 else {
     hr = FxRequest->ForwardToIoQueue(
                          m_Device->GetSwitchChangeQueue()
                          );
     if (SUCCEEDED(hr)) {
         completeRequest = false;
     }
  }

Persyaratan

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

Lihat juga

IWDFIoQueue

IWDFIoQueue::RetrieveNextRequest

IWDFIoRequest

IWDFIoRequest::MarkCancelable

IWDFIoRequest::UnmarkCancelable