Compartilhar via


Função WdfPdoAddEjectionRelationsPhysicalDevice (wdfpdo.h)

[Aplica-se somente ao KMDF]

O método WdfPdoAddEjectionRelationsPhysicalDevice indica que um dispositivo especificado é ejetado quando outro dispositivo especificado é ejetado.

Sintaxe

NTSTATUS WdfPdoAddEjectionRelationsPhysicalDevice(
  [in] WDFDEVICE      Device,
  [in] PDEVICE_OBJECT PhysicalDevice
);

Parâmetros

[in] Device

Um identificador para um objeto de dispositivo de estrutura.

[in] PhysicalDevice

Um ponteiro para uma estrutura de DEVICE_OBJECT fornecida pelo chamador que representa um PDO (objeto de dispositivo físico).

Valor de retorno

Se a operação for bem-sucedida, o método retornará STATUS_SUCCESS. Os valores de retorno adicionais incluem:

Código de retorno Descrição
STATUS_INVALID_PARAMETER
Um parâmetro de entrada é NULL.
STATUS_INSUFFICIENT_RESOURCES
Falha na alocação de memória.
 

O método também pode retornar outros valores NTSTATUS.

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

Observações

O parâmetro PhysicalDevice aponta para um PDO de um dispositivo que é ejetado quando o dispositivo identificado por Device é ejetado. Normalmente, ambos os dispositivos são controlados pelo driver de chamada. Não relate os dispositivos filho de Device porque quando o gerenciador PnP ejeta um dispositivo pai, ele também ejeta os filhos do dispositivo.

Para obter mais informações, consulte suporte a dispositivos ejetáveis.

Exemplos

O exemplo de código a seguir adiciona um dispositivo que a estrutura pPhysicalDeviceObject representa para a lista de dispositivos que são ejetados quando o dispositivo que dispositivo especificar é ejetado.

PDEVICE_OBJECT  pPhysicalDeviceObject;
NTSTATUS  status;
...
status = WdfPdoAddEjectionRelationsPhysicalDevice(
 device,
 pPhysicalDeviceObject
                                                  );

Requisitos

Requisito Valor
da Plataforma de Destino Universal
versão mínima do KMDF 1.0
cabeçalho wdfpdo.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

WdfPdoClearEjectionRelationsDevices

WdfPdoRemoveEjectionRelationsPhysicalDevice