функция HidP_GetCollectionDescription (hidpddi.h)
Заполняет блок описания устройства описанием коллекции и соответствующими сведениями об идентификаторе отчета для указанного дескриптора отчета. Мини-диск HID обычно не требуется вызывать эту функцию. Вместо этого он возвращает дескриптор отчета драйверу Hidclass в ответ на IOCTL_HID_GET_REPORT_DESCRIPTOR.
Синтаксис
NTSTATUS HidP_GetCollectionDescription(
[in] PHIDP_REPORT_DESCRIPTOR ReportDesc,
[in] ULONG DescLength,
[in] POOL_TYPE PoolType,
[out] PHIDP_DEVICE_DESC DeviceDescription
);
Параметры
[in] ReportDesc
Указатель на массив UCHAR, содержащий необработанный дескриптор отчета.
[in] DescLength
Длина массива дескрипторов отчета.
[in] PoolType
Значение POOL_TYPE, указывающее тип пула, из которого выделяется память для связанного списка. Сюда входят каждый элемент массива HIDP_COLLECTION_DESCHIDP_DEVICE_DESC, каждый HIDP_PREPARSED_DATA в каждом HIDP_COLLECTION_DESC, каждый элемент массива HIDP_REPORT_IDSHIDP_DEVICE_DESC.
[out] DeviceDescription
Указатель на структуру HIDP_DEVICE_DESC , заполненную блоком описания устройства, заполненным дескрипторами коллекции в виде связанных списков. Это структура, выделенная вызывающим объектом. Однако ее HIDP_COLLECTION_DESC элементы массива и элементы HIDP_REPORT_IDS массива выделяются этой функцией.
Возвращаемое значение
HidP_GetCollectionDescription может вернуть одно из следующих значений: TRUE , если он успешно заполняет блок описания устройства. В противном случае возвращается значение FALSE.
Возвращаемое значение | Описание |
---|---|
|
Успешно проанализирован дескриптор отчета и выделены блоки памяти, необходимые для описания устройства. |
|
Не удалось найти коллекции верхнего уровня в дескрипторе отчета. |
|
В дескрипторе отчета обнаружена ошибка. См. код ошибки в поле Dbg структуры HIDP_DEVICE_DESC . |
|
Найден конец дескриптора отчета, когда ожидалось больше данных. |
|
Не удалось выделить память. |
|
Не удалось проанализировать элемент в дескрипторе отчета. |
|
В дескрипторе обнаружен идентификатор отчета 0. |
Комментарии
Для необработанного дескриптора отчета, заданного параметром ReportDesc , HidP_GetCollectionDescription заполняет блок DeviceDescription выделенным вызывающим списком дескрипторов коллекции и соответствующими сведениями об идентификаторе отчета, которые описываются заданным дескриптором отчета. Память для сведений о коллекции и reportID выделяется на основе значения PoolType .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows 2000 и более поздних версиях Windows. |
Целевая платформа | Универсальное |
Верхняя часть | hidpddi.h (включая Hidpddi.h) |
Библиотека | Hidparse.lib |
IRQL | <= DISPATCH_LEVEL |