IWDFIoRequest2::Requeue 方法 (wudfddi.h)
[警告: UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的 UMDF 驅動程式都應該使用 UMDF 2 來撰寫。 未將新功能新增至 UMDF 1,且較新版本的 Windows 10 上不支援 UMDF 1。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱使用 UMDF 使用者入門。]
Requeue 方法會將 I/O 要求傳回給傳遞至驅動程式的 I/O 佇列前端。
Syntax
HRESULT Requeue();
傳回值
如果作業成功,重新排入佇列會傳回S_OK。 否則,此方法可能會傳回下列其中一個值:
傳回碼 | Description |
---|---|
|
如果發生下列其中一項,就會傳回此值:
|
這個方法可能會傳回 Winerror.h 包含的其他其中一個值。
備註
只有在驅動程式使用 I/O 佇列的手動分派方法時,才能呼叫 Requeue。
範例
下列程式代碼範例顯示 IQueueCallbackStateChange::OnStateChange 回 呼函式的區段。 區段會從 I/O 取得 I/O 要求,然後將要求傳回至佇列。
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;
...
}
規格需求
需求 | 值 |
---|---|
終止支援 | UMDF 2.0 和更新版本中無法使用。 |
目標平台 | 桌面 |
最低UMDF版本 | 1.9 |
標頭 | wudfddi.h (包括 Wudfddi.h) |
Dll | WUDFx.dll |