Compartilhar via


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)

Confira também

EvtIoTargetQueryRemove

WdfIoTargetCreate