функция HidP_GetCollectionDescription (hidpddi.h)
Заполняет блок описания устройства описанием коллекции и соответствующими сведениями об идентификаторе отчета для указанного дескриптора отчета. Мини-driver 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 (include Hidpddi.h) |
библиотеки | Hidparse.lib |
IRQL | <= DISPATCH_LEVEL |