Méthode IWDFIoQueue ::P urge (wudfddi.h)

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

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

Syntaxe

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

Paramètres

[in, optional] pPurgeComplete

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

Valeur de retour

None

Remarques

L’infrastructure annule les requêtes 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 à un moment donné :

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 pointe le paramètre pPurgeComplete avant d’appeler Stop 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 demandes adressées à 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);
}

Configuration requise

Condition requise Valeur
Fin de la prise en charge Non disponible dans UMDF 2.0 et versions ultérieures.
Plateforme cible Desktop (Expérience utilisateur)
Version UMDF minimale 1.5
En-tête wudfddi.h (inclure Wudfddi.h)
DLL WUDFx.dll

Voir aussi

IQueueCallbackStateChange

IRequestCallbackCancel ::OnCancel

IWDFIoQueue

IWDFIoQueue ::D rain

IWDFIoQueue ::Stop