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 (Modelo de Driver do Windows) 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.

Retornar valor

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

Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.

Comentários

O ponteiro que o método WdfIoTargetWdmGetTargetPhysicalDevice retorna é válido até que o driver chame WdfIoTargetClose ou WdfIoTargetCloseForQueryRemove ou 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 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 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
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Cabeçalho wdfiotarget.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.)
IRQL <=DISPATCH_LEVEL
Regras de conformidade de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Confira também

DEVICE_OBJECT

WdfIoTargetCreate