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) |