Función WdfDeviceAddRemovalRelationsPhysicalDevice (wdfdevice.h)

[Solo se aplica a KMDF]

El método WdfDeviceAddRemovalRelationsPhysicalDevice indica que se debe quitar un dispositivo especificado cuando se quita otro dispositivo especificado.

Sintaxis

NTSTATUS WdfDeviceAddRemovalRelationsPhysicalDevice(
  [in] WDFDEVICE      Device,
  [in] PDEVICE_OBJECT PhysicalDevice
);

Parámetros

[in] Device

Identificador de un objeto de dispositivo de marco.

[in] PhysicalDevice

Puntero a una estructura de DEVICE_OBJECT proporcionada por el autor de la llamada que representa un objeto de dispositivo físico (PDO).

Valor devuelto

Si la operación se realiza correctamente, WdfDeviceAddRemovalRelationsPhysicalDevice devuelve STATUS_SUCCESS. Entre los valores devueltos adicionales se incluyen:

Código devuelto Descripción
STATUS_INVALID_PARAMETER
PhysicalDevice es NULL.
STATUS_INSUFFICIENT_RESOURCES
Error en la asignación de memoria.
 

El método podría devolver otros valores NTSTATUS.

Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.

Comentarios

El parámetro PhysicalDevice apunta a un PDO de un dispositivo cuyos controladores deben quitarse cuando se quitan los controladores del dispositivo . Normalmente, ambos dispositivos se controlan mediante el controlador de llamada. No notifique los dispositivos secundarios del objeto de dispositivo especificado en Device porque cuando el administrador de Plug and Play quita un dispositivo primario, también quita los elementos secundarios del dispositivo.

El controlador puede llamar a WdfDeviceAddRemovalRelationsPhysicalDevice varias veces para agregar varios dispositivos a la lista de dispositivos que se deben quitar cuando se quita el dispositivo . No se define el orden en que se quitan los dispositivos especificados.

Ejemplos

En el ejemplo de código siguiente se agrega el dispositivo que pPdo identifica a la lista de dispositivos que se deben quitar cuando se quita el dispositivo que especifica el dispositivo .

status = WdfDeviceAddRemovalRelationsPhysicalDevice(
                                                    device,
                                                    pPdo
                                                    );

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Encabezado wdfdevice.h (incluir Wdf.h)
Library Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos).
IRQL <= DISPATCH_LEVEL
Reglas de cumplimiento de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte también

WdfDeviceClearRemovalRelationsDevices

WdfDeviceRemoveRemovalRelationsPhysicalDevice