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. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 in neueren Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF.]

Die Purge-Methode weist 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 Warteschlangenzustand an den Treiber zu übermitteln. Das Framework ruft die -Methode auf, nachdem alle Anforderungen abgebrochen wurden. Dieser Parameter ist optional und kann NULL sein.

Rückgabewert

Keine

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::OnCancel auf.

Der Treiber sollte sicherstellen, dass zu einem bestimmten Zeitpunkt nur eine der folgenden Methoden ausgeführt wird:

Wenn der Treiber beispielsweise zuvor Purge aufgerufen hat, sollte er auf eine Benachrichtigung von der -Methode der Schnittstelle warten, auf die der pPurgeComplete-Parameter zeigt, bevor er entweder Stop oder Drain aufruft. Wenn Sie gegen diese Regel verstoßen, wird der Hostprozess beendet.

Beispiele

Im folgenden Codebeispiel wird gezeigt, 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
UMDF-Mindestversion 1.5
Kopfzeile wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

Weitere Informationen

IQueueCallbackStateChange

IRequestCallbackCancel::OnCancel

IWDFIoQueue

IWDFIoQueue::D rain

IWDFIoQueue::Stop