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 être bientôt supprimé.

Syntaxe

void WdfIoTargetCloseForQueryRemove(
  [in] WDFIOTARGET IoTarget
);

Paramètres

[in] IoTarget

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

Valeur de retour

None

Remarques

Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.

Les pilotes qui fournissent une fonction de rappel EvtIoTargetQueryRemove 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 de cibles d’E/S.

Exemples

L’exemple de code suivant est la fonction de rappel EvtIoTargetQueryRemove de l’exemple de pilote Toaster . La fonction arrête un minuteur, s’assure qu’un élément de travail précédemment envoyé 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;
}

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfiotarget.h (inclure 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