Metodo IWDFIoQueue::P urge (wudfddi.h)

[Avviso: UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Nessuna nuova funzionalità viene aggiunta a UMDF 1 ed è disponibile un supporto limitato per UMDF 1 nelle versioni più recenti di Windows 10. I driver di Windows universali devono usare UMDF 2. Per altre informazioni, vedere Introduzione con UMDF.]

Il metodo Di eliminazione indirizza il framework per rifiutare nuove richieste di I/O in ingresso e per annullare tutte le richieste in sospeso.

Sintassi

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

Parametri

[in, optional] pPurgeComplete

Puntatore all'interfaccia IQueueCallbackStateChange il cui metodo chiama il framework per recapitare lo stato della coda al driver. Il framework chiama il metodo dopo l'annullamento di tutte le richieste. Questo parametro è facoltativo e può essere NULL.

Valore restituito

nessuno

Osservazioni

Il framework annulla le richieste non elaborate nella coda. Per le richieste recapitate al driver e contrassegnate come annullabili, il framework chiama IRequestCallbackCancel::OnCancel.

Il driver deve assicurarsi che solo uno dei metodi seguenti sia in corso in qualsiasi momento:

Ad esempio, se il driver precedentemente denominato Elimina, deve attendere la notifica dal metodo dell'interfaccia a cui punta il parametro pPurgeComplete prima di chiamare Stop o Drain. La violazione di questa regola comporta la chiusura del processo host.

Esempio

Nell'esempio di codice seguente viene illustrato come arrestare le richieste a una coda.

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

Requisiti

Requisito Valore
Fine del supporto Non disponibile in UMDF 2.0 e versioni successive.
Piattaforma di destinazione Desktop
Versione UMDF minima 1.5
Intestazione wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

Vedi anche

IQueueCallbackStateChange

IRequestCallbackCancel::OnCancel

IWDFIoQueue

IWDFIoQueue::D rain

IWDFIoQueue::Stop