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

Retornar valor

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.

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

Comentários

O parâmetro PhysicalDevice aponta para um PDO de um dispositivo que é ejetado quando o dispositivo identificado pelo Dispositivo é ejetado. Normalmente, ambos os dispositivos são controlados pelo driver de chamada. Não relate os dispositivos filho do Dispositivo 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 à lista de dispositivos que são ejetados quando o dispositivo especificado pelo dispositivo é ejetado.

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

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Cabeçalho wdfpdo.h (include Wdf.h)
Biblioteca Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.)
IRQL <= DISPATCH_LEVEL
Regras de conformidade da DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Confira também

WdfPdoClearEjectionRelationsDevices

WdfPdoRemoveEjectionRelationsPhysicalDevice