Función WdfPdoAddEjectionRelationsPhysicalDevice (wdfpdo.h)

[Solo se aplica a KMDF]

El método WdfPdoAddEjectionRelationsPhysicalDevice indica que un dispositivo especificado se expulsa cuando se expulsa otro dispositivo especificado.

Sintaxis

NTSTATUS WdfPdoAddEjectionRelationsPhysicalDevice(
  [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, el método devuelve STATUS_SUCCESS. Entre los valores devueltos adicionales se incluyen:

Código devuelto Descripción
STATUS_INVALID_PARAMETER
Un parámetro de entrada es NULL.
STATUS_INSUFFICIENT_RESOURCES
Error en la asignación de memoria.
 

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

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

Comentarios

El parámetro PhysicalDevice apunta a un PDO de un dispositivo que se expulsa cuando se expulsa el dispositivo identificado por Device . Normalmente, ambos dispositivos se controlan mediante el controlador de llamada. No notifique los dispositivos secundarios del dispositivo porque cuando el administrador de PnP expulsa un dispositivo primario, también expulsa los elementos secundarios del dispositivo.

Para obtener más información, consulte Compatibilidad con dispositivos expulsables.

Ejemplos

En el ejemplo de código siguiente se agrega un dispositivo que la estructura pPhysicalDeviceObject representa a la lista de dispositivos que se expulsan cuando se expulsa el dispositivo que especifica el dispositivo .

PDEVICE_OBJECT  pPhysicalDeviceObject;
NTSTATUS  status;
...
status = WdfPdoAddEjectionRelationsPhysicalDevice(
 device,
 pPhysicalDeviceObject
                                                  );

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Encabezado wdfpdo.h (incluya 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

WdfPdoClearEjectionRelationsDevices

WdfPdoRemoveEjectionRelationsPhysicalDevice