Condividi tramite


Funzione WdfIoTargetCloseForQueryRemove (wdfiotarget.h)

[Si applica a KMDF e UMDF]

Il metodo WdfIoTargetCloseForQueryRemove chiude temporaneamente una destinazione di I/O remota specificata perché il dispositivo di destinazione potrebbe essere presto rimosso.

Sintassi

void WdfIoTargetCloseForQueryRemove(
  [in] WDFIOTARGET IoTarget
);

Parametri

[in] IoTarget

Handle per un oggetto di destinazione di I/O remoto ottenuto da una chiamata precedente a WdfIoTargetCreate.

Valore restituito

nessuno

Osservazioni

Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.

I driver che forniscono una funzione di callback EvtIoTargetQueryRemove devono chiamare WdfIoTargetCloseForQueryRemove dall'interno di tale funzione di callback, se il driver determina che il dispositivo di destinazione può essere rimosso in modo sicuro.

Per altre informazioni su WdfIoTargetCloseForQueryRemove, vedere Controllo dello stato di una destinazione di I/O generale.

Per altre informazioni sulle destinazioni di I/O, vedere Uso delle destinazioni di I/O.

Esempio

L'esempio di codice seguente è la funzione di callback EvtIoTargetQueryRemove del driver di esempio Tostapane . La funzione arresta un timer, verifica che sia stato eseguito il servizio di un elemento di lavoro inviato in precedenza e quindi chiami 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;
}

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1.0
Versione UMDF minima 2,0
Intestazione wdfiotarget.h (include Wdf.h)
Libreria Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Regole di conformità DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Vedi anche

EvtIoTargetQueryRemove

WdfIoTargetCreate