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 |
---|---|
|
Un parámetro de entrada es NULL. |
|
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) |