Partilhar via


Função WdfDeviceAddRemovalRelationsPhysicalDevice (wdfdevice.h)

[Aplica-se somente ao KMDF]

O método WdfDeviceAddRemovalRelationsPhysicalDevice indica que um dispositivo especificado deve ser removido quando outro dispositivo especificado é removido.

Sintaxe

NTSTATUS WdfDeviceAddRemovalRelationsPhysicalDevice(
  [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, WdfDeviceAddRemovalRelationsPhysicalDevice retornará STATUS_SUCCESS. Os valores de retorno adicionais incluem:

Código de retorno Descrição
STATUS_INVALID_PARAMETER
PhysicalDevice é NULL.
STATUS_INSUFFICIENT_RESOURCES
Falha na alocação de memória.
 

O método pode retornar outros valores NTSTATUS .

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

Observações

O parâmetro PhysicalDevice aponta para um PDO de um dispositivo cujos drivers devem ser removidos quando os drivers de Device são removidos. Normalmente, ambos os dispositivos são controlados pelo driver de chamada. Não relate os dispositivos filho do objeto do dispositivo especificado em Device porque quando o gerenciador plug and play remove um dispositivo pai, ele também remove os filhos do dispositivo.

Seu driver pode chamar WdfDeviceAddRemovalRelationsPhysicalDevice várias vezes para adicionar vários dispositivos à lista de dispositivos que devem ser removidos quando Dispositivo é removido. A ordem na qual os dispositivos especificados são removidos não está definida.

Exemplos

O exemplo de código a seguir adiciona o dispositivo que pPdo identifica à lista de dispositivos que devem ser removidos quando o dispositivo que dispositivo especificar for removido.

status = WdfDeviceAddRemovalRelationsPhysicalDevice(
                                                    device,
                                                    pPdo
                                                    );

Requisitos

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

WdfDeviceClearRemovalRelationsDevices

WdfDeviceRemoveRemovalRelationsPhysicalDevice