Функция 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, если операция выполнена успешно. В противном случае этот метод может возвращать одно из следующих значений:
Код возврата | Описание |
---|---|
|
Входной параметр был недопустимым. |
|
Устройство не соответствует указанному описанию идентификации. |
|
Дочерний список не содержал описаний адресов или размер описания адреса, указанного в 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