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

驱动程序应确保在任何给定时间只有以下方法之一正在进行:

例如,如果驱动程序之前调用 清除,它应等待接口方法的通知,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