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