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

Retornar valor

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.

Um bug 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 cujos drivers devem ser removidos quando os drivers do Dispositivo são removidos. Normalmente, ambos os dispositivos são controlados pelo driver de chamada. Não relate os dispositivos filho do objeto de dispositivo especificado em Dispositivo porque quando o gerenciador de 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 o 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 o pPdo identifica à lista de dispositivos que devem ser removidos quando o dispositivo especificado pelo dispositivo for removido.

status = WdfDeviceAddRemovalRelationsPhysicalDevice(
                                                    device,
                                                    pPdo
                                                    );

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Cabeçalho wdfdevice.h (inclua 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

WdfDeviceClearRemovalRelationsDevices

WdfDeviceRemoveRemovalRelationsPhysicalDevice