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 |
---|---|
|
PhysicalDevice é NULL. |
|
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) |