Freigeben über


IWDFIoQueue::P urge-Methode (wudfddi.h)

[Warnung: UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. Es werden keine neuen Features zu UMDF 1 hinzugefügt, und es gibt eingeschränkte Unterstützung für UMDF 1 für neuere Versionen von Windows 10. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF-.]

Die Purge Methode leitet das Framework an, neue eingehende E/A-Anforderungen abzulehnen und alle ausstehenden Anforderungen abzubrechen.

Syntax

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

Parameter

[in, optional] pPurgeComplete

Ein Zeiger auf die IQueueCallbackStateChange Schnittstelle, deren Methode das Framework aufruft, um den Warteschlangenstatus an den Treiber zu übermitteln. Das Framework ruft die Methode auf, nachdem alle Anforderungen abgebrochen wurden. Dieser Parameter ist optional und kann NULL-werden.

Rückgabewert

Nichts

Bemerkungen

Das Framework bricht nicht verarbeitete Anforderungen in der Warteschlange ab. Für Anforderungen, die an den Treiber übermittelt und als abbruchfähig gekennzeichnet sind, ruft das Framework IRequestCallbackCancel::OnCancelauf.

Der Treiber sollte sicherstellen, dass immer nur eine der folgenden Methoden ausgeführt wird:

Wenn der Treiber z. B. zuvor Purgeaufgerufen hat, sollte er auf die Benachrichtigung über die Methode der Schnittstelle warten, auf die der pPurgeComplete Parameter verweist, bevor er entweder Stop oder Drainaufruft. Ein Verstoß gegen diese Regel führt zum Beenden des Hostprozesses.

Beispiele

Das folgende Codebeispiel zeigt, wie Anforderungen an eine Warteschlange beendet werden.

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);
}

Anforderungen

Anforderung Wert
Ende des Supports In UMDF 2.0 und höher nicht verfügbar.
Zielplattform- Desktop
Mindest-UMDF-Version 1.5
Header- wudfddi.h (include Wudfddi.h)
DLL- WUDFx.dll

Siehe auch

IQueueCallbackStateChange

IRequestCallbackCancel::OnCancel

IWDFIoQueue

IWDFIoQueue::D rain

IWDFIoQueue::Stop