WdfIoTargetCloseForQueryRemove-Funktion (wdfiotarget.h)
[Gilt für KMDF und UMDF]
Die WdfIoTargetCloseForQueryRemove-Methode schließt vorübergehend ein angegebenes Remote-E/A-Ziel , da das Zielgerät möglicherweise bald entfernt wird.
Syntax
void WdfIoTargetCloseForQueryRemove(
[in] WDFIOTARGET IoTarget
);
Parameter
[in] IoTarget
Ein Handle für ein Remote-E/A-Zielobjekt, das von einem vorherigen Aufruf von WdfIoTargetCreate abgerufen wurde.
Rückgabewert
Keine
Bemerkungen
Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.
Treiber, die eine EvtIoTargetQueryRemove-Rückruffunktion bereitstellen, müssen WdfIoTargetCloseForQueryRemove innerhalb dieser Rückruffunktion aufrufen, wenn der Treiber feststellt, dass das Zielgerät sicher entfernt werden kann.
Weitere Informationen zu WdfIoTargetCloseForQueryRemove finden Sie unter Steuern des Status eines allgemeinen E/A-Ziels.
Weitere Informationen zu E/A-Zielen finden Sie unter Verwenden von E/A-Zielen.
Beispiele
Das folgende Codebeispiel ist die Rückruffunktion EvtIoTargetQueryRemove aus dem Toaster-Beispieltreiber . Die Funktion beendet einen Timer, stellt sicher, dass ein zuvor übermitteltes Arbeitselement gewartet wurde, und ruft dann WdfIoTargetCloseForQueryRemove auf.
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;
}
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.0 |
UMDF-Mindestversion | 2.0 |
Kopfzeile | wdfiotarget.h (include Wdf.h) |
Bibliothek | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |