Функция WdfDeviceAddRemovalRelationsPhysicalDevice (wdfdevice.h)

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

Метод WdfDeviceAddRemovalRelationsPhysicalDevice указывает, что указанное устройство должно быть удалено при удалении другого указанного устройства.

Синтаксис

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

Параметры

[in] Device

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

[in] PhysicalDevice

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

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

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

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

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

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

Комментарии

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

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

Примеры

В следующем примере кода устройство, идентифицирующее pPdo , добавляется в список устройств, которые необходимо удалить при удалении устройства, указанного устройством .

status = WdfDeviceAddRemovalRelationsPhysicalDevice(
                                                    device,
                                                    pPdo
                                                    );

Требования

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

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

WdfDeviceClearRemovalRelationsDevices

WdfDeviceRemoveRemovalRelationsPhysicalDevice