共用方式為


IWDFIoQueue::RetrieveNextRequestByFileObject 方法 (wudfddi.h)

警告

UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的UMDF驅動程式都應該使用UMDF 2撰寫。 未將新功能新增至 UMDF 1,且較新版本的 #D24AEBE4CE9824DFEA2D46F66B7A2D449 上,UMDF 1 的支援有限。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱使用UMDF使用者入門

RetrieveNextRequestByFileObject 方法會從 I/O 佇列擷取下一個 I/O 要求,其檔案物件符合指定的檔案物件。

語法

HRESULT RetrieveNextRequestByFileObject(
  [in]  IWDFFile      *pFile,
  [out] IWDFIoRequest **ppRequest
);

參數

[in] pFile

檔案物件的 IWDFFile 介面指標,用於擷取下一個 I/O 要求,其檔案物件符合這個提供的檔案物件。

[out] ppRequest

緩衝區的指標,接收下一個要求物件的 IWDFIoRequest 介面指標,其檔案物件符合提供的檔案物件,如果佇列是空的,或是找不到下一個要求,則會收到 NULL

傳回值

RetrieveNextRequestByFileObject 會傳回下列其中一個值:

傳回碼 描述
S_OK 已成功從 I/O 佇列擷取下一個 I/O 要求。
HRESULT_FROM_NT (STATUS_WDF_PAUSED) 佇列未分派要求。 如果裝置進行電源狀態轉換,而且所有佇列都會停止分派要求,或驅動程序明確呼叫 IWDFIoQueue::Stop 以停止發送要求,就會發生這種情況。 如果驅動程式嘗試從受電源管理的手動佇列中移除要求,且已關閉電源,或佇列已暫停,也可能會發生這種情況。
HRESULT_FROM_WIN32 (ERROR_NO_MORE_ITEMS) 佇列中沒有要求。
HRESULT_FROM_NT (STATUS_INVALID_DEVICE_STATE) 已呼叫 以從平行佇列擷取要求。

RetrieveNextRequestByFileObject 也可能傳回其他 HRESULT 值。

備註

如果驅動程式設定 I/O 佇列以手動分派 I/O 要求,驅動程式可以呼叫 RetrieveNextRequestByFileObject 方法來取得下一個要求,其檔案物件符合佇列中提供的檔案物件。 如需手動分派 I/O 要求的詳細資訊,請參閱 設定 I/O 佇列的分派模式

如果多個 I/O 要求其檔案物件符合 pFile 參數指向的檔案物件存在於 I/O 佇列中,則會傳回第一個 I/O 要求。

範例

如需如何使用 RetrieveNextRequestByFileObject 方法的程式代碼範例,請參閱 IWDFIoQueue::RetrieveNextRequest

規格需求

需求
終止支援 在 UMDF 2.0 和更新版本中無法使用。
目標平台 桌面
最低UMDF版本 1.5
標頭 wudfddi.h (包含 Wudfddi.h)
Dll WUDFx.dll

另請參閱