// failed to parse report descriptor
//
Parser->Debug("[HIDPARSER] Failed to parse report descriptor with %x\n", ParserStatus);
- return TranslateHidParserStatus(ParserStatus);
+ return ParserStatus;
}
//
//
// no memory
//
- return TranslateHidParserStatus(ParserStatus);
+ Parser->Free(DeviceDescription->CollectionDesc);
+ Parser->Free(DeviceDescription->ReportIDs);
+ return ParserStatus;
}
//
// get collection usage page
//
ParserStatus = HidParser_GetCollectionUsagePage((PVOID)DeviceDescription->CollectionDesc[Index].PreparsedData, &DeviceDescription->CollectionDesc[Index].Usage, &DeviceDescription->CollectionDesc[Index].UsagePage);
+ if (ParserStatus != HIDPARSER_STATUS_SUCCESS)
+ {
+ // collection not found
+ Parser->Free(DeviceDescription->CollectionDesc);
+ Parser->Free(DeviceDescription->ReportIDs);
+ return ParserStatus;
+ }
//
// windows seems to prepend the report id, regardless if it is required
//
// implement me
//
- UNIMPLEMENTED
+ UNIMPLEMENTED;
//
// invalid report
OUT PHIDP_BUTTON_CAPS ButtonCaps,
IN OUT PULONG ButtonCapsLength)
{
- UNIMPLEMENTED
+ UNIMPLEMENTED;
ASSERT(FALSE);
return STATUS_NOT_IMPLEMENTED;
}
IN PCHAR Report,
IN ULONG ReportLength)
{
- UNIMPLEMENTED
+ UNIMPLEMENTED;
ASSERT(FALSE);
return STATUS_NOT_IMPLEMENTED;
}
OUT PHIDP_EXTENDED_ATTRIBUTES Attributes,
IN OUT PULONG LengthAttributes)
{
- UNIMPLEMENTED
+ UNIMPLEMENTED;
ASSERT(FALSE);
return STATUS_NOT_IMPLEMENTED;
}
OUT PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes,
IN OUT PULONG LinkCollectionNodesLength)
{
- UNIMPLEMENTED
+ UNIMPLEMENTED;
ASSERT(FALSE);
return STATUS_NOT_IMPLEMENTED;
}
IN USHORT HidPacketLength,
OUT PULONG OutputBuffer)
{
- UNIMPLEMENTED
+ UNIMPLEMENTED;
ASSERT(FALSE);
return STATUS_NOT_IMPLEMENTED;
}
IN PVOID CollectionContext,
OUT PULONG OutputBuffer)
{
- UNIMPLEMENTED
+ UNIMPLEMENTED;
ASSERT(FALSE);
return STATUS_NOT_IMPLEMENTED;
}
IN PCHAR Report,
IN ULONG ReportLength)
{
- UNIMPLEMENTED
+ UNIMPLEMENTED;
ASSERT(FALSE);
return STATUS_NOT_IMPLEMENTED;
}
IN OUT PCHAR Report,
IN ULONG ReportLength)
{
- UNIMPLEMENTED
+ UNIMPLEMENTED;
ASSERT(FALSE);
return STATUS_NOT_IMPLEMENTED;
}
IN PHIDP_INSERT_SCANCODES InsertCodesProcedure,
IN PVOID InsertCodesContext)
{
- UNIMPLEMENTED
+ UNIMPLEMENTED;
ASSERT(FALSE);
return STATUS_NOT_IMPLEMENTED;
}
IN OUT PCHAR Report,
IN ULONG ReportLength)
{
- UNIMPLEMENTED
+ UNIMPLEMENTED;
ASSERT(FALSE);
return STATUS_NOT_IMPLEMENTED;
}
OUT PCHAR Report,
IN ULONG ReportLength)
{
- UNIMPLEMENTED
+ UNIMPLEMENTED;
ASSERT(FALSE);
return STATUS_NOT_IMPLEMENTED;
}
IN OUT PCHAR Report,
IN ULONG ReportLength)
{
- UNIMPLEMENTED
+ UNIMPLEMENTED;
ASSERT(FALSE);
return STATUS_NOT_IMPLEMENTED;
}
IN OUT PCHAR Report,
IN ULONG ReportLength)
{
- UNIMPLEMENTED
+ UNIMPLEMENTED;
ASSERT(FALSE);
return STATUS_NOT_IMPLEMENTED;
}
IN OUT PCHAR Report,
IN ULONG ReportLength)
{
- UNIMPLEMENTED
+ UNIMPLEMENTED;
ASSERT(FALSE);
return STATUS_NOT_IMPLEMENTED;
}
IN PVOID CollectionContext,
IN HIDP_REPORT_TYPE ReportType)
{
- UNIMPLEMENTED
+ UNIMPLEMENTED;
ASSERT(FALSE);
return 0;
}
IN OUT PCHAR Report,
IN ULONG ReportLength)
{
- UNIMPLEMENTED
+ UNIMPLEMENTED;
ASSERT(FALSE);
return STATUS_NOT_IMPLEMENTED;
}
PHIDP_VALUE_CAPS ValueCaps,
PULONG ValueCapsLength)
{
- UNIMPLEMENTED
+ UNIMPLEMENTED;
ASSERT(FALSE);
return STATUS_NOT_IMPLEMENTED;
}