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


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

[Применяется только к KMDF]

Метод WdfDeviceAddDependentUsageDeviceObject указывает, что указанное устройство зависит от другого устройства, когда указанное устройство используется для хранения специальных файлов.

Синтаксис

NTSTATUS WdfDeviceAddDependentUsageDeviceObject(
  [in] WDFDEVICE      Device,
  [in] PDEVICE_OBJECT DependentDevice
);

Параметры

[in] Device

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

[in] DependentDevice

Указатель на поставляемую вызывающей стороной DEVICE_OBJECT структуру, определяющую устройство, от которое зависит устройство .

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

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

Код возврата Описание
STATUS_INVALID_PARAMETER
DependentDevice имеет значение NULL.
STATUS_INSUFFICIENT_RESOURCES
Не удалось выделить память.
 

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

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

Комментарии

Драйвер может вызвать WdfDeviceAddDependentUsageDeviceObject , чтобы указать, что устройство, идентифицированное устройством, зависит от устройства, идентифицированного DependentDevice, если Устройство поддерживает специальные файлы. Если драйвер вызывает WdfDeviceAddDependentUsageDeviceObject, платформа вызывает функции обратного вызова EvtDeviceUsageNotification в драйверах DependentDevice, прежде чем вызывать функции обратного вызова EvtDeviceUsageNotification в драйверах устройства.

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

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

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

Примеры

В следующем примере кода устройство (pDeviceObject) добавляется в список устройств, от которые зависит другое устройство (Устройство).

status = WdfDeviceAddDependentUsageDeviceObject(
                                                device,
                                                pDeviceObject
                                                );

Требования

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

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

EvtDeviceUsageNotification

WdfDeviceRemoveDependentUsageDeviceObject