Función WdfIoTargetCloseForQueryRemove (wdfiotarget.h)

[Se aplica a KMDF y UMDF]

El método WdfIoTargetCloseForQueryRemove cierra temporalmente un destino de E/S remoto especificado porque el dispositivo de destino podría quitarse pronto.

Sintaxis

void WdfIoTargetCloseForQueryRemove(
  [in] WDFIOTARGET IoTarget
);

Parámetros

[in] IoTarget

Identificador de un objeto de destino de E/S remoto obtenido de una llamada anterior a WdfIoTargetCreate.

Valor devuelto

None

Observaciones

Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.

Los controladores que proporcionan una función de devolución de llamada EvtIoTargetQueryRemove deben llamar a WdfIoTargetCloseForQueryRemove desde dentro de esa función de devolución de llamada, si el controlador determina que el dispositivo de destino se puede quitar de forma segura.

Para obtener más información sobre WdfIoTargetCloseForQueryRemove, vea Controlar el estado de un destino de E/S general.

Para obtener más información sobre los destinos de E/S, consulte Uso de destinos de E/S.

Ejemplos

El siguiente ejemplo de código es la función de devolución de llamada EvtIoTargetQueryRemove del controlador de ejemplo toaster . La función detiene un temporizador, garantiza que se ha realizado un servicio de un elemento de trabajo enviado anteriormente y, a continuación, llama a 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;
}

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdfiotarget.h (incluya Wdf.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte también

EvtIoTargetQueryRemove

WdfIoTargetCreate