IWDFIoQueue::P urge 方法 (wudfddi.h)

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

Purge 方法會指示架構拒絕新的傳入 I/O 要求,以及取消所有未處理的要求。

語法

void Purge(
  [in, optional] IQueueCallbackStateChange *pPurgeComplete
);

參數

[in, optional] pPurgeComplete

IQueueCallbackStateChange 介面的指標,其架構會呼叫方法將佇列狀態傳遞給驅動程式。 架構會在取消所有要求之後呼叫 方法。 這個參數是選擇性的,而且可以是 NULL

傳回值

備註

架構會取消佇列中未處理的要求。 對於傳遞至驅動程式並標示為可取消的要求,架構會呼叫 IRequestCallbackCancel::OnCancel

驅動程式應該確保在任何指定時間只有下列其中一個方法正在進行中:

例如,如果驅動程式先前呼叫 Purge,它應該等候 來自 pPurgeComplete 參數所指向介面方法的通知,再呼叫 StopDrain。 違反此規則會導致主機進程終止。

範例

下列程式代碼範例示範如何停止對佇列的要求。

VOID
CUmdfHidFile::OnCleanupFile(
    __in IWDFFile* /* WdfFile */
    )
/*++
    This method handles the cleanup operation for the file object.  
    Because the file is disabled, no new reports should be added to the ring buffer.
--*/
{
    this->Disable();

    //
    // Stop all current requests to read reports.
    //

    m_GetReportQueue->Purge(NULL);
}

規格需求

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

另請參閱

IQueueCallbackStateChange

IRequestCallbackCancel::OnCancel

IWDFIoQueue

IWDFIoQueue::D rain

IWDFIoQueue::Stop