Поделиться через


Функция WdfPdoAddEjectionRelationsPhysicalDevice (wdfpdo.h)

[Относится только к KMDF]

Метод WdfPdoAddEjectionRelationsPhysicalDevice указывает, что указанное устройство извлекается при извлечении другого указанного устройства.

Синтаксис

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

Параметры

[in] Device

Дескриптор объекта устройства платформы.

[in] PhysicalDevice

Указатель на предоставленную вызывающей DEVICE_OBJECT структуру, представляющую объект физического устройства (PDO).

Возвращаемое значение

Если операция выполнена успешно, метод возвращает STATUS_SUCCESS. К дополнительным возвращаемым значениям относятся:

Код возврата Описание
STATUS_INVALID_PARAMETER
Входной параметр имеет значение NULL.
STATUS_INSUFFICIENT_RESOURCES
Сбой выделения памяти.
 

Метод также может возвращать другие значения NTSTATUS.

Системная ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Комментарии

Параметр PhysicalDevice указывает на PDO устройства, которое извлекается при извлечении устройства, идентифицированного с помощью устройства . Как правило, оба устройства управляются вызывающим драйвером. Не сообщайте о дочерних устройствах Устройства , так как, когда диспетчер PnP извлекает родительское устройство, он также извлекает дочерние элементы устройства.

Дополнительные сведения см. в разделе Поддержка извлекаемых устройств.

Примеры

В следующем примере кода устройство, которое представляет структура pPhysicalDeviceObject , добавляется в список устройств, которые извлекаются при извлечении устройства, указанного устройством .

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

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Верхняя часть wdfpdo.h (включая Wdf.h)
Библиотека Wdf01000.sys (см. раздел Управление версиями библиотеки Платформы).
IRQL <= DISPATCH_LEVEL
Правила соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

См. также раздел

WdfPdoClearEjectionRelationsDevices

WdfPdoRemoveEjectionRelationsPhysicalDevice