IWDFIoQueue::RetrieveNextRequestByFileObject 方法 (wudfddi.h)
警告
UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的UMDF驅動程式都應該使用UMDF 2撰寫。 未將新功能新增至 UMDF 1,而且較新版本的 Windows 10 上對 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 |