Partager via


IWDFIoQueue ::P urge, méthode (wudfddi.h)

[Avertissement : UMDF 2 est la dernière version de UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide de UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et il existe une prise en charge limitée de UMDF 1 sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Bien démarrer avec UMDF.]

La méthode Purge dirige l’infrastructure pour rejeter les nouvelles demandes d’E/S entrantes et annuler toutes les demandes en attente.

Syntaxe

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

Paramètres

[in, optional] pPurgeComplete

Pointeur vers l’interface IQueueCallbackStateChange dont la méthode appelle l’infrastructure pour remettre l’état de file d’attente au pilote. L’infrastructure appelle la méthode une fois toutes les requêtes annulées. Ce paramètre est facultatif et peut être NULL.

Valeur de retour

Aucun

Remarques

L’infrastructure annule les demandes non traitées dans la file d’attente. Pour les demandes remises au pilote et marquées comme annulables, l’infrastructure appelle IRequestCallbackCancel ::OnCancel.

Le pilote doit s’assurer qu’une seule des méthodes suivantes est en cours à tout moment :

Par exemple, si le pilote a précédemment appelé purge, il doit attendre la notification de la méthode de l’interface vers laquelle le paramètre pPurgeComplete pointe avant d’appeler Arrêter ou Drain. La violation de cette règle entraîne l’arrêt du processus hôte.

Exemples

L’exemple de code suivant montre comment arrêter les requêtes vers une file d’attente.

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

Exigences

Exigence Valeur
fin du support Indisponible dans UMDF 2.0 et versions ultérieures.
plateforme cible Bureau
version minimale de UMDF 1.5
d’en-tête wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

Voir aussi

IQueueCallbackStateChange

IRequestCallbackCancel ::OnCancel

IWDFIoQueue

IWDFIoQueue ::D rain

IWDFIoQueue ::Stop