Freigeben über


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

Die Parameter

[in] IoTarget

Ein Handle für ein Remote-E/A-Zielobjekt, das aus einem vorherigen Aufruf von WdfIoTargetCreateabgerufen wurde.

Rückgabewert

Nichts

Bemerkungen

Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.

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 WdfIoTargetCloseForQueryRemovefinden Sie unter Controlling a General I/O Target's State.

Weitere Informationen zu E/A-Zielen finden Sie unter Using I/O Targets.

Beispiele

Das folgende Codebeispiel ist die EvtIoTargetQueryRemove Rückruffunktion aus dem Toaster Beispieltreiber. Die Funktion stoppt einen Timer, stellt sicher, dass eine zuvor übermittelte Arbeitsaufgabe gewartet wurde, und ruft dann WdfIoTargetCloseForQueryRemoveauf.

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
Minimale KMDF-Version 1.0
Mindest-UMDF-Version 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)

Siehe auch

EvtIoTargetQueryRemove

WdfIoTargetCreate