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


Функция WdfChildListRetrieveAddressDescription (wdfchildlist.h)

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

Метод WdfChildListRetrieveAddressDescription находит дочернее устройство с указанным описанием идентификации и получает описание адреса устройства.

Синтаксис

NTSTATUS WdfChildListRetrieveAddressDescription(
  [in]      WDFCHILDLIST                                 ChildList,
  [in]      PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription,
  [in, out] PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER        AddressDescription
);

Параметры

[in] ChildList

Дескриптор дочернего объекта списка.

[in] IdentificationDescription

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

[in, out] AddressDescription

Указатель на структуру WDF_CHILD_ADDRESS_DESCRIPTION_HEADER , которая определяет описание дочернего адреса. Платформа заполняет это описание.

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

WdfChildListRetrieveAddressDescription возвращает STATUS_SUCCESS или другое значение состояния, для которого NT_SUCCESS(status) равно TRUE, если операция выполнена успешно. В противном случае этот метод может возвращать одно из следующих значений:

Код возврата Описание
STATUS_INVALID_PARAMETER
Входной параметр был недопустимым.
STATUS_NO_SUCH_DEVICE
Устройство не соответствует указанному описанию идентификации.
STATUS_INVALID_DEVICE_REQUEST
Дочерний список не содержал описаний адресов или размер описания адреса, указанного в AddressDescription , был неверным.
 

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

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

Комментарии

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

Примеры

В следующем примере кода выполняется поиск дочернего списка для дочернего устройства, описание идентификации которого содержит значение, указанное в SomeValue. Если WdfChildListRetrieveAddressDescription находит устройство, оно получает описание его адреса.

MY_IDENTIFICATION_DESCRIPTION  id;
MY_ADDRESS_DESCRIPTION  addrDescrip;

WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_INIT(
                                                 &id.Header,
                                                 sizeof(id)
                                                 );
WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_INIT(
                                          &addrDescrip.Header,
                                          sizeof(addrDescrip)
                                          );

id.DeviceIdentifier = SomeValue;
status = WdfChildListRetrieveAddressDescription(
                                                list,
                                                &idDescrip.Header,
                                                &addrDescrip.Header
                                                );
if (!NT_SUCCESS(status) {
    return status;
}

Требования

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

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

WDF_CHILD_ADDRESS_DESCRIPTION_HEADER

WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_INIT

WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER

WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_INIT