- {\r
- CurrReportItem->Attributes.Usage.Usage = 0;\r
- }\r
- \r
- switch (HIDReportItem & TAG_MASK)\r
- {\r
- case TAG_MAIN_INPUT:\r
- CurrReportItem->ItemType = REPORT_ITEM_TYPE_In;\r
- CurrReportItem->BitOffset = BitOffsetIn;\r
- \r
- BitOffsetIn += CurrStateTable->Attributes.BitSize;\r
- \r
- break;\r
- case TAG_MAIN_OUTPUT:\r
- CurrReportItem->ItemType = REPORT_ITEM_TYPE_Out;\r
- CurrReportItem->BitOffset = BitOffsetOut;\r
- \r
- BitOffsetOut += CurrStateTable->Attributes.BitSize;\r
- \r
- break;\r
-#if defined(HID_ENABLE_FEATURE_PROCESSING)\r
- case TAG_MAIN_FEATURE:\r
- CurrReportItem->ItemType = REPORT_ITEM_TYPE_Feature; \r
- CurrReportItem->BitOffset = BitOffsetFeature;\r
- \r
- BitOffsetFeature += CurrStateTable->Attributes.BitSize; \r
+ NewReportItem.ItemType = REPORT_ITEM_TYPE_Feature;\r
+ \r
+ NewReportItem.BitOffset = CurrReportIDInfo->ReportSizeBits[NewReportItem.ItemType];\r