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


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

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

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

Синтаксис

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

Параметры

[in, optional] pPurgeComplete

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

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

Никакой

Замечания

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

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

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

Примеры

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

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 (include Wudfddi.h)
DLL WUDFx.dll

См. также

IQueueCallbackStateChange

IRequestCallbackCancel::OnCancel

IWDFIoQueue

IWDFIoQueue::D rain

IWDFIoQueue::Stop