Функция WdfPdoAddEjectionRelationsPhysicalDevice (wdfpdo.h)
[Относится только к KMDF]
Метод WdfPdoAddEjectionRelationsPhysicalDevice указывает, что указанное устройство извлекается при извлечении другого указанного устройства.
Синтаксис
NTSTATUS WdfPdoAddEjectionRelationsPhysicalDevice(
[in] WDFDEVICE Device,
[in] PDEVICE_OBJECT PhysicalDevice
);
Параметры
[in] Device
Дескриптор объекта устройства платформы.
[in] PhysicalDevice
Указатель на предоставленную вызывающей DEVICE_OBJECT структуру, представляющую объект физического устройства (PDO).
Возвращаемое значение
Если операция выполнена успешно, метод возвращает STATUS_SUCCESS. К дополнительным возвращаемым значениям относятся:
Код возврата | Описание |
---|---|
|
Входной параметр имеет значение NULL. |
|
Сбой выделения памяти. |
Метод также может возвращать другие значения 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) |