IQueueCallbackIoStop::OnIoStop 方法 (wudfddi.h)
[警告: UMDF 2 是最新版本的 UMDF,並取代 UMDF 1。 所有新的UMDF驅動程式都應該使用UMDF 2撰寫。 未將新功能新增至 UMDF 1,而且較新版本的 Windows 10 上對 UMDF 1 的支援有限。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱 開始使用 UMDF。]
OnIoStop 回呼函式會停止從指定的佇列處理指定的 I/O 要求。
語法
void OnIoStop(
[in] IWDFIoQueue *pWdfQueue,
[in] IWDFIoRequest *pWdfRequest,
[in] ULONG ActionFlags
);
參數
[in] pWdfQueue
已停止處理 I/O 要求之 I/O 佇列物件的 IWDFIoQueue 介面指標。
[in] pWdfRequest
IWDFIoRequest 介面的指標,表示停止處理的架構要求物件。
[in] ActionFlags
識別停止動作要求狀態之 WDF_REQUEST_STOP_ACTION_FLAGS型別值的有效位 OR。
傳回值
沒有
言論
驅動程式會在驅動程式呼叫 IWDFDevice::CreateIoQueue 方法來建立 I/O 佇列或設定預設 I/O 佇列時,註冊 IQueueCallbackIoStop 介面。
如果驅動程式為 I/O 佇列註冊 OnIoStop 回呼函式,則架構會在佇列的基礎裝置離開其運作狀態時呼叫它。 架構會針對驅動程式尚未完成的每個 I/O 要求,呼叫 OnIoStop 回呼函式,包括驅動程式擁有的要求以及其轉送至 I/O 目標的要求。
OnIoStop 回呼函式必須完成、取消或延後 I/O 要求的進一步處理。 您必須使用下列規則:
如果驅動程式擁有 I/O 要求,則必須呼叫 IWDFIoRequest::Complete 來完成或取消要求,或者必須延後進一步處理要求,然後呼叫 IWDFIoRequest2::StopAcknowledge。
如果驅動程式已將 I/O 要求轉送至 I/O 目標,則必須呼叫 IWDFIoRequest::CancelSentRequest 嘗試取消要求,或必須延後進一步處理要求,然後 呼叫 stopAcknowledge。
如果在 actionFlags 參數中設定 WdfRequestStopRequestCancelable 旗標, 驅動程式必須先呼叫 IWDFIoRequest::UnmarkCancelable,才能呼叫 IWDFIoRequest::Complete 來完成要求或呼叫 IWDFIoRequest2::StopAcknowledge 以重新排入要求。
要求
要求 | 價值 |
---|---|
目標平臺 | 窗戶 |
標頭 | wudfddi.h (包括 Wudfddi.h) |