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