Compartilhar via


Função WdfIoTargetWdmGetTargetPhysicalDevice (wdfiotarget.h)

[Aplica-se somente ao KMDF]

O método WdfIoTargetWdmGetTargetPhysicalDevice retorna um ponteiro para o PDO (objeto de dispositivo físico) WDM (Windows Driver Model) que representa o dispositivo de um destino de E/S remoto.

Sintaxe

PDEVICE_OBJECT WdfIoTargetWdmGetTargetPhysicalDevice(
  [in] WDFIOTARGET IoTarget
);

Parâmetros

[in] IoTarget

Um identificador para um objeto de destino de E/S remoto. Esse identificador foi obtido de uma chamada anterior para WdfIoTargetCreate.

Valor de retorno

Se o destino de E/S representar um dispositivo PnP, WdfIoTargetWdmGetTargetPhysicalDevice retornará um ponteiro para uma estrutura de DEVICE_OBJECT que representa o PDO de um destino de E/S remoto. Caso contrário, o método retornará NULL.

Uma verificação de bug ocorre se o driver fornece um identificador de objeto inválido.

Observações

O ponteiro que o método WdfIoTargetWdmGetTargetPhysicalDevice retorna é válido até que o driver chame WdfIoTargetClose ou WdfIoTargetCloseForQueryRemoveou até que o objeto de destino de E/S remoto seja excluído. Se o driver fornecer uma função EvtCleanupCallback para o objeto de destino de E/S remoto e se o objeto for excluído antes que o destino de E/S remoto seja fechado, o ponteiro será válido até que a função EvtCleanupCallback retorne.

Se o driver tentar acessar o objeto do dispositivo WDM depois que ele for removido, o driver poderá causar uma falha no sistema. O exemplo toastmon demonstra como o driver pode fornecer uma função de retorno de chamada EvtIoTargetQueryRemove para que ele seja notificado se o destino de E/S for removido.

Para obter mais informações sobre WdfIoTargetWdmGetTargetPhysicalDevice, consulte Obtendo informações sobre umde 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 obtém um ponteiro para uma estrutura de DEVICE_OBJECT que representa o PDO de um dispositivo de destino de E/S remoto.

PDEVICE_OBJECT  pTargetDO;

pTargetDO = WdfIoTargetWdmGetTargetPhysicalDevice(IoTarget);

Requisitos

Requisito Valor
da Plataforma de Destino Universal
versão mínima do KMDF 1.0
cabeçalho wdfiotarget.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (consulte o Controle de Versão da Biblioteca da Estrutura.)
IRQL <=DISPATCH_LEVEL
regras de conformidade de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte também

DEVICE_OBJECT

WdfIoTargetCreate