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

[警告: UMDF 2 是最新版本的 UMDF,取代了 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 未向 UMDF 1 添加新功能,并且较新版本的 Windows 10 上对 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