Função WdfIoTargetCloseForQueryRemove (wdfiotarget.h)
[Aplica-se a KMDF e UMDF]
O método WdfIoTargetCloseForQueryRemove fecha temporariamente um de 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 obtido de uma chamada anterior para WdfIoTargetCreate.
Valor de retorno
Nenhum
Observações
Uma verificação de bug ocorre se o driver fornece 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 ade 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 do Toaster. 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 |
---|---|
da 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) |