📄 hidpddi.h
字号:
/*++
Copyright (c) 1996 Microsoft Corporation
Module Name:
HIDPDDI.H
Abstract:
This module contains the PUBLIC definitions for the
code that implements the driver side of the parsing library.
Environment:
Kernel mode
--*/
#ifndef _HIDPDDI_H
#define _HIDPDDI_H
#include "hidusage.h"
#include "hidpi.h"
typedef struct _HIDP_COLLECTION_DESC
{
USAGE UsagePage;
USAGE Usage;
UCHAR CollectionNumber;
UCHAR Reserved [15]; // Must be zero
USHORT InputLength;
USHORT OutputLength;
USHORT FeatureLength;
USHORT PreparsedDataLength;
PHIDP_PREPARSED_DATA PreparsedData;
} HIDP_COLLECTION_DESC, *PHIDP_COLLECTION_DESC;
typedef struct _HIDP_REPORT_IDS
{
UCHAR ReportID;
UCHAR CollectionNumber;
USHORT InputLength;
USHORT OutputLength;
USHORT FeatureLength;
} HIDP_REPORT_IDS, *PHIDP_REPORT_IDS;
typedef struct _HIDP_GETCOLDESC_DBG
{
ULONG BreakOffset;
ULONG ErrorCode;
ULONG Args[6];
} HIDP_GETCOLDESC_DBG, *PHIDP_GETCOLDESC_DBG;
typedef struct _HIDP_DEVICE_DESC
{
PHIDP_COLLECTION_DESC CollectionDesc; // Array allocated By Parser
ULONG CollectionDescLength;
PHIDP_REPORT_IDS ReportIDs; // Array allocated By Parsre
ULONG ReportIDsLength;
HIDP_GETCOLDESC_DBG Dbg;
} HIDP_DEVICE_DESC, *PHIDP_DEVICE_DESC;
NTSTATUS
HidP_GetCollectionDescription (
IN PHIDP_REPORT_DESCRIPTOR ReportDesc,
IN ULONG DescLength,
IN POOL_TYPE PoolType,
OUT PHIDP_DEVICE_DESC DeviceDescription
);
/*++
Routine Description:
Given a RAW report descriptor, this function fills in the DeviceDescription
block with a linked list of collection descriptors and the corresponding
report ID information that is described by the given report descriptor.
The memory for the collection information and the ReportID information is
allocated from PoolType.
Arguments:
ReportDesc the raw report descriptor.
DescLength the length of the report descriptor.
PoolType pool type from which to allocate the linked lists
DeviceDescription device description block that will be filled in
with the above lists
Return Value:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -