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)

Weitere Informationen

EvtIoTargetQueryRemove

WdfIoTargetCreate