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