Função WdfIoTargetCloseForQueryRemove (wdfiotarget.h)
[Aplica-se a KMDF e UMDF]
O método WdfIoTargetCloseForQueryRemove fecha temporariamente um destino de E/S remoto especificado porque o dispositivo de destino pode ser removido em breve.
Sintaxe
void WdfIoTargetCloseForQueryRemove(
[in] WDFIOTARGET IoTarget
);
Parâmetros
[in] IoTarget
Um identificador para um objeto de destino de E/S remoto que foi obtido de uma chamada anterior para WdfIoTargetCreate.
Retornar valor
Nenhum
Comentários
Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.
Os drivers que fornecem uma função de retorno de chamada EvtIoTargetQueryRemove devem chamar WdfIoTargetCloseForQueryRemove de dentro dessa função de retorno de chamada, se o driver determinar que o dispositivo de destino pode ser removido com segurança.
Para obter mais informações sobre WdfIoTargetCloseForQueryRemove, consulte Controlando o estado de um destino de E/S geral.
Para obter mais informações sobre destinos de E/S, consulte Usando destinos de E/S.
Exemplos
O exemplo de código a seguir é a função de retorno de chamada EvtIoTargetQueryRemove do driver de exemplo da Torradeira . A função interrompe um temporizador, garante que um item de trabalho enviado anteriormente tenha sido atendido e, em seguida, chama 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 | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Versão mínima do UMDF | 2,0 |
Cabeçalho | wdfiotarget.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
Regras de conformidade de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |