Partager via


WdfIoTargetCloseForQueryRemove, fonction (wdfiotarget.h)

[S’applique à KMDF et UMDF]

La méthode WdfIoTargetCloseForQueryRemove ferme temporairement une cible d’E/S distante spécifiée, car l’appareil cible peut bientôt être supprimé.

Syntaxe

VOID WdfIoTargetCloseForQueryRemove(
  [in] WDFIOTARGET IoTarget
);

Paramètres

[in] IoTarget

Handle vers un objet cible d’E/S distant obtenu à partir d’un appel précédent à WdfIoTargetCreate.

Valeur de retour

Aucun

Remarques

Une vérification de bogue se produit si le pilote fournit un handle d’objet non valide.

Les pilotes qui fournissent une EvtIoTargetQueryRemove fonction de rappel doivent appeler WdfIoTargetCloseForQueryRemove à partir de cette fonction de rappel, si le pilote détermine que l’appareil cible peut être supprimé en toute sécurité.

Pour plus d’informations sur WdfIoTargetCloseForQueryRemove, consultez Contrôle de l’état d’une cible d’E/S générale.

Pour plus d’informations sur les cibles d’E/S, consultez Utilisation des cibles d’E/S.

Exemples

L’exemple de code suivant est la fonction de rappel EvtIoTargetQueryRemove à partir de l’exemple de pilote Grille-pain. La fonction arrête un minuteur, garantit qu’un élément de travail précédemment soumis a été pris en charge, puis appelle WdfIoTargetCloseForQueryRemove.

NTSTATUS
ToastMon_EvtIoTargetQueryRemove(
    WDFIOTARGET IoTarget
)
{
    PTARGET_DEVICE_INFO  targetDeviceInfo = NULL;

    //
    // Get I/O target object's context space.
    //
    targetDeviceInfo = GetTargetDeviceInfo(IoTarget);

    //
    // Stop the timer and wait for any outstanding work items
    // to finish before closing the target.
    //
    WdfTimerStop(targetDeviceInfo->TimerForPostingRequests, TRUE);
    WdfWorkItemFlush(targetDeviceInfo->WorkItemForPostingRequests);

    WdfIoTargetCloseForQueryRemove(IoTarget);

    return STATUS_SUCCESS;
}

Spécifications

Besoin Valeur
plateforme cible Universel
version minimale de KMDF 1.0
version minimale de UMDF 2.0
En-tête wdfiotarget.h (include Wdf.h)
Bibliothèque Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
règles de conformité DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Voir aussi

EvtIoTargetQueryRemove

WdfIoTargetCreate