Поделиться через


Метод IWDFIoQueue::P urge (wudfddi.h)

[Предупреждение: UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. Новые функции не добавляются в UMDF 1, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе начало работы с помощью UMDF.]

Метод Purge предписывает платформе отклонять новые входящие запросы ввода-вывода и отменять все невыполненные запросы.

Синтаксис

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

Параметры

[in, optional] pPurgeComplete

Указатель на интерфейс IQueueCallbackStateChange , метод которого платформа вызывает для доставки состояния очереди драйверу. Платформа вызывает метод после отмены всех запросов. Этот параметр является необязательным и может иметь значение NULL.

Возвращаемое значение

None

Remarks

Платформа отменяет необработанные запросы в очереди. Для запросов, которые доставляются драйверу и помечены как отменяемые, платформа вызывает IRequestCallbackCancel::OnCancel.

Драйвер должен убедиться, что в любой момент времени выполняется только один из следующих методов:

Например, если драйвер ранее назывался Purge, он должен дождаться уведомления от метода интерфейса, на который указывает параметр pPurgeComplete , прежде чем вызывать Stop или Drain. Нарушение этого правила приводит к завершению хост-процесса.

Примеры

В следующем примере кода показано, как остановить запросы к очереди.

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