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