[FASTFAT] Implement delayed close
[reactos.git] / drivers / hid / hidparse / hidparse.c
index 4254fd7..bc8e856 100644 (file)
 
 #include "hidparse.h"
 
+#define NDEBUG
+#include <debug.h>
+
 PVOID
 NTAPI
 AllocFunction(
     IN ULONG ItemSize)
 {
-    PVOID Item = ExAllocatePool(NonPagedPool, ItemSize);
+    PVOID Item = ExAllocatePoolWithTag(NonPagedPool, ItemSize, HIDPARSE_TAG);
     if (Item)
     {
         //
@@ -38,7 +41,7 @@ FreeFunction(
     //
     // free item
     //
-    ExFreePool(Item);
+    ExFreePoolWithTag(Item, HIDPARSE_TAG);
 }
 
 VOID
@@ -67,25 +70,25 @@ CopyFunction(
 }
 
 VOID
-NTAPI
+__cdecl
 DebugFunction(
     IN LPCSTR FormatStr, ...)
 {
-
+#if HID_DBG
     va_list args;
-    unsigned int i;
-     char printbuffer[1024];
+    char printbuffer[1024];
 
-     va_start(args, FormatStr);
-     i = vsprintf(printbuffer, FormatStr, args);
-     va_end(args);
+    va_start(args, FormatStr);
+    vsprintf(printbuffer, FormatStr, args);
+    va_end(args);
 
-     DbgPrint(printbuffer);
+    DbgPrint(printbuffer);
+#endif
 }
 
 VOID
 NTAPI
-HidP_FreeCollectionDescription (
+HidP_FreeCollectionDescription(
     IN PHIDP_DEVICE_DESC   DeviceDescription)
 {
     HID_PARSER Parser;
@@ -122,6 +125,29 @@ HidP_GetCaps(
     return HidParser_GetCaps(&Parser, PreparsedData, Capabilities);
 }
 
+NTSTATUS
+TranslateStatusForUpperLayer(
+    IN HIDPARSER_STATUS Status)
+{
+    //
+    // now we are handling only this values, for others just return
+    // status as it is.
+    //
+    switch (Status)
+    {
+    case HIDPARSER_STATUS_INSUFFICIENT_RESOURCES:
+        return STATUS_INSUFFICIENT_RESOURCES;
+    case HIDPARSER_STATUS_INVALID_REPORT_TYPE:
+        return HIDP_STATUS_INVALID_REPORT_TYPE;
+    case HIDPARSER_STATUS_BUFFER_TOO_SMALL:
+        return STATUS_BUFFER_TOO_SMALL;
+    case HIDPARSER_STATUS_COLLECTION_NOT_FOUND:
+        return STATUS_NO_DATA_DETECTED;
+    default:
+        return Status;
+    }
+}
+
 NTSTATUS
 NTAPI
 HidP_GetCollectionDescription(
@@ -131,6 +157,7 @@ HidP_GetCollectionDescription(
     OUT PHIDP_DEVICE_DESC DeviceDescription)
 {
     HID_PARSER Parser;
+    NTSTATUS Status;
 
     //
     // init parser
@@ -140,16 +167,17 @@ HidP_GetCollectionDescription(
     //
     // get description;
     //
-    return HidParser_GetCollectionDescription(&Parser, ReportDesc, DescLength, PoolType, DeviceDescription);
+    Status = HidParser_GetCollectionDescription(&Parser, ReportDesc, DescLength, PoolType, DeviceDescription);
+    return TranslateStatusForUpperLayer(Status);
 }
 
 HIDAPI
 ULONG
 NTAPI
 HidP_MaxUsageListLength(
-  IN HIDP_REPORT_TYPE  ReportType,
-  IN USAGE  UsagePage  OPTIONAL,
-  IN PHIDP_PREPARSED_DATA  PreparsedData)
+    IN HIDP_REPORT_TYPE  ReportType,
+    IN USAGE  UsagePage  OPTIONAL,
+    IN PHIDP_PREPARSED_DATA  PreparsedData)
 {
     HID_PARSER Parser;
 
@@ -174,13 +202,13 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_GetSpecificValueCaps(
-  IN HIDP_REPORT_TYPE  ReportType,
-  IN USAGE  UsagePage,
-  IN USHORT  LinkCollection,
-  IN USAGE  Usage,
-  OUT PHIDP_VALUE_CAPS  ValueCaps,
-  IN OUT PULONG  ValueCapsLength,
-  IN PHIDP_PREPARSED_DATA  PreparsedData)
+    IN HIDP_REPORT_TYPE  ReportType,
+    IN USAGE  UsagePage,
+    IN USHORT  LinkCollection,
+    IN USAGE  Usage,
+    OUT PHIDP_VALUE_CAPS  ValueCaps,
+    IN OUT PUSHORT  ValueCapsLength,
+    IN PHIDP_PREPARSED_DATA  PreparsedData)
 {
     HID_PARSER Parser;
 
@@ -204,14 +232,14 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_GetUsages(
-  IN HIDP_REPORT_TYPE  ReportType,
-  IN USAGE  UsagePage,
-  IN USHORT  LinkCollection  OPTIONAL,
-  OUT USAGE  *UsageList,
-  IN OUT ULONG  *UsageLength,
-  IN PHIDP_PREPARSED_DATA  PreparsedData,
-  IN PCHAR  Report,
-  IN ULONG  ReportLength)
+    IN HIDP_REPORT_TYPE ReportType,
+    IN USAGE UsagePage,
+    IN USHORT LinkCollection  OPTIONAL,
+    OUT PUSAGE UsageList,
+    IN OUT PULONG UsageLength,
+    IN PHIDP_PREPARSED_DATA  PreparsedData,
+    IN PCHAR Report,
+    IN ULONG ReportLength)
 {
     HID_PARSER Parser;
 
@@ -238,11 +266,11 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_UsageListDifference(
-  IN PUSAGE  PreviousUsageList,
-  IN PUSAGE  CurrentUsageList,
-  OUT PUSAGE  BreakUsageList,
-  OUT PUSAGE  MakeUsageList,
-  IN ULONG  UsageListLength)
+    IN PUSAGE  PreviousUsageList,
+    IN PUSAGE  CurrentUsageList,
+    OUT PUSAGE  BreakUsageList,
+    OUT PUSAGE  MakeUsageList,
+    IN ULONG  UsageListLength)
 {
     return HidParser_UsageListDifference(PreviousUsageList, CurrentUsageList, BreakUsageList, MakeUsageList, UsageListLength);
 }
@@ -251,26 +279,26 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_GetUsagesEx(
-  IN HIDP_REPORT_TYPE  ReportType,
-  IN USHORT  LinkCollection,
-  OUT PUSAGE_AND_PAGE  ButtonList,
-  IN OUT ULONG  *UsageLength,
-  IN PHIDP_PREPARSED_DATA  PreparsedData,
-  IN PCHAR  Report,
-  IN ULONG  ReportLength)
+    IN HIDP_REPORT_TYPE  ReportType,
+    IN USHORT  LinkCollection,
+    OUT PUSAGE_AND_PAGE  ButtonList,
+    IN OUT ULONG  *UsageLength,
+    IN PHIDP_PREPARSED_DATA  PreparsedData,
+    IN PCHAR  Report,
+    IN ULONG  ReportLength)
 {
-    return HidP_GetUsages(ReportType, HID_USAGE_PAGE_UNDEFINED, LinkCollection, (PUSAGE)ButtonList, UsageLength, PreparsedData, Report, ReportLength);
+    return HidP_GetUsages(ReportType, HID_USAGE_PAGE_UNDEFINED, LinkCollection, &ButtonList->Usage, UsageLength, PreparsedData, Report, ReportLength);
 }
 
 HIDAPI
 NTSTATUS
 NTAPI
 HidP_UsageAndPageListDifference(
-   IN PUSAGE_AND_PAGE  PreviousUsageList,
-   IN PUSAGE_AND_PAGE  CurrentUsageList,
-   OUT PUSAGE_AND_PAGE  BreakUsageList,
-   OUT PUSAGE_AND_PAGE  MakeUsageList,
-   IN ULONG  UsageListLength)
+    IN PUSAGE_AND_PAGE  PreviousUsageList,
+    IN PUSAGE_AND_PAGE  CurrentUsageList,
+    OUT PUSAGE_AND_PAGE  BreakUsageList,
+    OUT PUSAGE_AND_PAGE  MakeUsageList,
+    IN ULONG  UsageListLength)
 {
     return HidParser_UsageAndPageListDifference(PreviousUsageList, CurrentUsageList, BreakUsageList, MakeUsageList, UsageListLength);
 }
@@ -279,14 +307,14 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_GetScaledUsageValue(
-  IN HIDP_REPORT_TYPE  ReportType,
-  IN USAGE  UsagePage,
-  IN USHORT  LinkCollection  OPTIONAL,
-  IN USAGE  Usage,
-  OUT PLONG  UsageValue,
-  IN PHIDP_PREPARSED_DATA  PreparsedData,
-  IN PCHAR  Report,
-  IN ULONG  ReportLength)
+    IN HIDP_REPORT_TYPE  ReportType,
+    IN USAGE  UsagePage,
+    IN USHORT  LinkCollection  OPTIONAL,
+    IN USAGE  Usage,
+    OUT PLONG  UsageValue,
+    IN PHIDP_PREPARSED_DATA  PreparsedData,
+    IN PCHAR  Report,
+    IN ULONG  ReportLength)
 {
     HID_PARSER Parser;
 
@@ -310,14 +338,14 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_GetUsageValue(
-  IN HIDP_REPORT_TYPE  ReportType,
-  IN USAGE  UsagePage,
-  IN USHORT  LinkCollection,
-  IN USAGE  Usage,
-  OUT PULONG  UsageValue,
-  IN PHIDP_PREPARSED_DATA  PreparsedData,
-  IN PCHAR  Report,
-  IN ULONG  ReportLength)
+    IN HIDP_REPORT_TYPE  ReportType,
+    IN USAGE  UsagePage,
+    IN USHORT  LinkCollection,
+    IN USAGE  Usage,
+    OUT PULONG  UsageValue,
+    IN PHIDP_PREPARSED_DATA  PreparsedData,
+    IN PCHAR  Report,
+    IN ULONG  ReportLength)
 {
     HID_PARSER Parser;
 
@@ -342,12 +370,12 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_TranslateUsageAndPagesToI8042ScanCodes(
-   IN PUSAGE_AND_PAGE  ChangedUsageList,
-   IN ULONG  UsageListLength,
-   IN HIDP_KEYBOARD_DIRECTION  KeyAction,
-   IN OUT PHIDP_KEYBOARD_MODIFIER_STATE  ModifierState,
-   IN PHIDP_INSERT_SCANCODES  InsertCodesProcedure,
-   IN PVOID  InsertCodesContext)
+    IN PUSAGE_AND_PAGE  ChangedUsageList,
+    IN ULONG  UsageListLength,
+    IN HIDP_KEYBOARD_DIRECTION  KeyAction,
+    IN OUT PHIDP_KEYBOARD_MODIFIER_STATE  ModifierState,
+    IN PHIDP_INSERT_SCANCODES  InsertCodesProcedure,
+    IN PVOID  InsertCodesContext)
 {
     HID_PARSER Parser;
 
@@ -362,8 +390,6 @@ HidP_TranslateUsageAndPagesToI8042ScanCodes(
     return HidParser_TranslateUsageAndPagesToI8042ScanCodes(&Parser, ChangedUsageList, UsageListLength, KeyAction, ModifierState, InsertCodesProcedure, InsertCodesContext);
 }
 
-
-
 HIDAPI
 NTSTATUS
 NTAPI
@@ -373,22 +399,22 @@ HidP_GetButtonCaps(
     PUSHORT ButtonCapsLength,
     PHIDP_PREPARSED_DATA PreparsedData)
 {
-    return HidP_GetSpecificButtonCaps(ReportType, HID_USAGE_PAGE_UNDEFINED, 0, 0, ButtonCaps, (PULONG)ButtonCapsLength, PreparsedData);
+    return HidP_GetSpecificButtonCaps(ReportType, HID_USAGE_PAGE_UNDEFINED, 0, 0, ButtonCaps, ButtonCapsLength, PreparsedData);
 }
 
 HIDAPI
 NTSTATUS
 NTAPI
 HidP_GetSpecificButtonCaps(
-  IN HIDP_REPORT_TYPE  ReportType,
-  IN USAGE  UsagePage,
-  IN USHORT  LinkCollection,
-  IN USAGE  Usage,
-  OUT PHIDP_BUTTON_CAPS  ButtonCaps,
-  IN OUT PULONG  ButtonCapsLength,
-  IN PHIDP_PREPARSED_DATA  PreparsedData)
-{
-    UNIMPLEMENTED
+    IN HIDP_REPORT_TYPE ReportType,
+    IN USAGE UsagePage,
+    IN USHORT LinkCollection,
+    IN USAGE Usage,
+    OUT PHIDP_BUTTON_CAPS ButtonCaps,
+    IN OUT PUSHORT ButtonCapsLength,
+    IN PHIDP_PREPARSED_DATA  PreparsedData)
+{
+    UNIMPLEMENTED;
     ASSERT(FALSE);
     return STATUS_NOT_IMPLEMENTED;
 }
@@ -397,14 +423,14 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_GetData(
-  IN HIDP_REPORT_TYPE  ReportType,
-  OUT PHIDP_DATA  DataList,
-  IN OUT PULONG  DataLength,
-  IN PHIDP_PREPARSED_DATA  PreparsedData,
-  IN PCHAR  Report,
-  IN ULONG  ReportLength)
-{
-    UNIMPLEMENTED
+    IN HIDP_REPORT_TYPE  ReportType,
+    OUT PHIDP_DATA  DataList,
+    IN OUT PULONG  DataLength,
+    IN PHIDP_PREPARSED_DATA  PreparsedData,
+    IN PCHAR  Report,
+    IN ULONG  ReportLength)
+{
+    UNIMPLEMENTED;
     ASSERT(FALSE);
     return STATUS_NOT_IMPLEMENTED;
 }
@@ -413,13 +439,13 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_GetExtendedAttributes(
-  IN HIDP_REPORT_TYPE  ReportType,
-  IN USAGE  UsagePage,
-  IN PHIDP_PREPARSED_DATA  PreparsedData,
-  OUT PHIDP_EXTENDED_ATTRIBUTES  Attributes,
-  IN OUT PULONG  LengthAttributes)
+    IN HIDP_REPORT_TYPE  ReportType,
+    IN USHORT DataIndex,
+    IN PHIDP_PREPARSED_DATA  PreparsedData,
+    OUT PHIDP_EXTENDED_ATTRIBUTES  Attributes,
+    IN OUT PULONG  LengthAttributes)
 {
-    UNIMPLEMENTED
+    UNIMPLEMENTED;
     ASSERT(FALSE);
     return STATUS_NOT_IMPLEMENTED;
 }
@@ -432,31 +458,31 @@ HidP_GetLinkCollectionNodes(
     IN OUT PULONG  LinkCollectionNodesLength,
     IN PHIDP_PREPARSED_DATA  PreparsedData)
 {
-    UNIMPLEMENTED
+    UNIMPLEMENTED;
     ASSERT(FALSE);
     return STATUS_NOT_IMPLEMENTED;
 }
 
 NTSTATUS
 NTAPI
-HidP_SysPowerEvent (
+HidP_SysPowerEvent(
     IN PCHAR HidPacket,
     IN USHORT HidPacketLength,
     IN PHIDP_PREPARSED_DATA Ppd,
     OUT PULONG OutputBuffer)
 {
-    UNIMPLEMENTED
+    UNIMPLEMENTED;
     ASSERT(FALSE);
     return STATUS_NOT_IMPLEMENTED;
 }
 
 NTSTATUS
 NTAPI
-HidP_SysPowerCaps (
+HidP_SysPowerCaps(
     IN PHIDP_PREPARSED_DATA Ppd,
     OUT PULONG OutputBuffer)
 {
-    UNIMPLEMENTED
+    UNIMPLEMENTED;
     ASSERT(FALSE);
     return STATUS_NOT_IMPLEMENTED;
 }
@@ -465,17 +491,17 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_GetUsageValueArray(
-  IN HIDP_REPORT_TYPE  ReportType,
-  IN USAGE  UsagePage,
-  IN USHORT  LinkCollection  OPTIONAL,
-  IN USAGE  Usage,
-  OUT PCHAR  UsageValue,
-  IN USHORT  UsageValueByteLength,
-  IN PHIDP_PREPARSED_DATA  PreparsedData,
-  IN PCHAR  Report,
-  IN ULONG  ReportLength)
-{
-    UNIMPLEMENTED
+    IN HIDP_REPORT_TYPE  ReportType,
+    IN USAGE  UsagePage,
+    IN USHORT  LinkCollection  OPTIONAL,
+    IN USAGE  Usage,
+    OUT PCHAR  UsageValue,
+    IN USHORT  UsageValueByteLength,
+    IN PHIDP_PREPARSED_DATA  PreparsedData,
+    IN PCHAR  Report,
+    IN ULONG  ReportLength)
+{
+    UNIMPLEMENTED;
     ASSERT(FALSE);
     return STATUS_NOT_IMPLEMENTED;
 }
@@ -485,16 +511,16 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_UnsetUsages(
-  IN HIDP_REPORT_TYPE  ReportType,
-  IN USAGE  UsagePage,
-  IN USHORT  LinkCollection,
-  IN PUSAGE  UsageList,
-  IN OUT PULONG  UsageLength,
-  IN PHIDP_PREPARSED_DATA  PreparsedData,
-  IN OUT PCHAR  Report,
-  IN ULONG  ReportLength)
-{
-    UNIMPLEMENTED
+    IN HIDP_REPORT_TYPE  ReportType,
+    IN USAGE  UsagePage,
+    IN USHORT  LinkCollection,
+    IN PUSAGE  UsageList,
+    IN OUT PULONG  UsageLength,
+    IN PHIDP_PREPARSED_DATA  PreparsedData,
+    IN OUT PCHAR  Report,
+    IN ULONG  ReportLength)
+{
+    UNIMPLEMENTED;
     ASSERT(FALSE);
     return STATUS_NOT_IMPLEMENTED;
 }
@@ -503,14 +529,14 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_TranslateUsagesToI8042ScanCodes(
-  IN PUSAGE  ChangedUsageList,
-  IN ULONG  UsageListLength,
-  IN HIDP_KEYBOARD_DIRECTION  KeyAction,
-  IN OUT PHIDP_KEYBOARD_MODIFIER_STATE  ModifierState,
-  IN PHIDP_INSERT_SCANCODES  InsertCodesProcedure,
-  IN PVOID  InsertCodesContext)
-{
-    UNIMPLEMENTED
+    IN PUSAGE  ChangedUsageList,
+    IN ULONG  UsageListLength,
+    IN HIDP_KEYBOARD_DIRECTION  KeyAction,
+    IN OUT PHIDP_KEYBOARD_MODIFIER_STATE  ModifierState,
+    IN PHIDP_INSERT_SCANCODES  InsertCodesProcedure,
+    IN PVOID  InsertCodesContext)
+{
+    UNIMPLEMENTED;
     ASSERT(FALSE);
     return STATUS_NOT_IMPLEMENTED;
 }
@@ -519,16 +545,16 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_SetUsages(
-  IN HIDP_REPORT_TYPE  ReportType,
-  IN USAGE  UsagePage,
-  IN USHORT  LinkCollection,
-  IN PUSAGE  UsageList,
-  IN OUT PULONG  UsageLength,
-  IN PHIDP_PREPARSED_DATA  PreparsedData,
-  IN OUT PCHAR  Report,
-  IN ULONG  ReportLength)
-{
-    UNIMPLEMENTED
+    IN HIDP_REPORT_TYPE  ReportType,
+    IN USAGE  UsagePage,
+    IN USHORT  LinkCollection,
+    IN PUSAGE  UsageList,
+    IN OUT PULONG  UsageLength,
+    IN PHIDP_PREPARSED_DATA  PreparsedData,
+    IN OUT PCHAR  Report,
+    IN ULONG  ReportLength)
+{
+    UNIMPLEMENTED;
     ASSERT(FALSE);
     return STATUS_NOT_IMPLEMENTED;
 }
@@ -537,17 +563,17 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_SetUsageValueArray(
-  IN HIDP_REPORT_TYPE  ReportType,
-  IN USAGE  UsagePage,
-  IN USHORT  LinkCollection  OPTIONAL,
-  IN USAGE  Usage,
-  IN PCHAR  UsageValue,
-  IN USHORT  UsageValueByteLength,
-  IN PHIDP_PREPARSED_DATA  PreparsedData,
-  OUT PCHAR  Report,
-  IN ULONG  ReportLength)
-{
-    UNIMPLEMENTED
+    IN HIDP_REPORT_TYPE  ReportType,
+    IN USAGE  UsagePage,
+    IN USHORT  LinkCollection  OPTIONAL,
+    IN USAGE  Usage,
+    IN PCHAR  UsageValue,
+    IN USHORT  UsageValueByteLength,
+    IN PHIDP_PREPARSED_DATA  PreparsedData,
+    OUT PCHAR  Report,
+    IN ULONG  ReportLength)
+{
+    UNIMPLEMENTED;
     ASSERT(FALSE);
     return STATUS_NOT_IMPLEMENTED;
 }
@@ -556,16 +582,16 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_SetUsageValue(
-  IN HIDP_REPORT_TYPE  ReportType,
-  IN USAGE  UsagePage,
-  IN USHORT  LinkCollection,
-  IN USAGE  Usage,
-  IN ULONG  UsageValue,
-  IN PHIDP_PREPARSED_DATA  PreparsedData,
-  IN OUT PCHAR  Report,
-  IN ULONG  ReportLength)
-{
-    UNIMPLEMENTED
+    IN HIDP_REPORT_TYPE  ReportType,
+    IN USAGE  UsagePage,
+    IN USHORT  LinkCollection,
+    IN USAGE  Usage,
+    IN ULONG  UsageValue,
+    IN PHIDP_PREPARSED_DATA  PreparsedData,
+    IN OUT PCHAR  Report,
+    IN ULONG  ReportLength)
+{
+    UNIMPLEMENTED;
     ASSERT(FALSE);
     return STATUS_NOT_IMPLEMENTED;
 }
@@ -574,16 +600,16 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_SetScaledUsageValue(
-  IN HIDP_REPORT_TYPE  ReportType,
-  IN USAGE  UsagePage,
-  IN USHORT  LinkCollection  OPTIONAL,
-  IN USAGE  Usage,
-  IN LONG  UsageValue,
-  IN PHIDP_PREPARSED_DATA  PreparsedData,
-  IN OUT PCHAR  Report,
-  IN ULONG  ReportLength)
-{
-    UNIMPLEMENTED
+    IN HIDP_REPORT_TYPE  ReportType,
+    IN USAGE  UsagePage,
+    IN USHORT  LinkCollection  OPTIONAL,
+    IN USAGE  Usage,
+    IN LONG  UsageValue,
+    IN PHIDP_PREPARSED_DATA  PreparsedData,
+    IN OUT PCHAR  Report,
+    IN ULONG  ReportLength)
+{
+    UNIMPLEMENTED;
     ASSERT(FALSE);
     return STATUS_NOT_IMPLEMENTED;
 }
@@ -592,14 +618,14 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_SetData(
-  IN HIDP_REPORT_TYPE  ReportType,
-  IN PHIDP_DATA  DataList,
-  IN OUT PULONG  DataLength,
-  IN PHIDP_PREPARSED_DATA  PreparsedData,
-  IN OUT PCHAR  Report,
-  IN ULONG  ReportLength)
-{
-    UNIMPLEMENTED
+    IN HIDP_REPORT_TYPE  ReportType,
+    IN PHIDP_DATA  DataList,
+    IN OUT PULONG  DataLength,
+    IN PHIDP_PREPARSED_DATA  PreparsedData,
+    IN OUT PCHAR  Report,
+    IN ULONG  ReportLength)
+{
+    UNIMPLEMENTED;
     ASSERT(FALSE);
     return STATUS_NOT_IMPLEMENTED;
 }
@@ -608,10 +634,10 @@ HIDAPI
 ULONG
 NTAPI
 HidP_MaxDataListLength(
-  IN HIDP_REPORT_TYPE  ReportType,
-  IN PHIDP_PREPARSED_DATA  PreparsedData)
+    IN HIDP_REPORT_TYPE  ReportType,
+    IN PHIDP_PREPARSED_DATA  PreparsedData)
 {
-    UNIMPLEMENTED
+    UNIMPLEMENTED;
     ASSERT(FALSE);
     return STATUS_NOT_IMPLEMENTED;
 }
@@ -620,13 +646,13 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_InitializeReportForID(
-  IN HIDP_REPORT_TYPE  ReportType,
-  IN UCHAR  ReportID,
-  IN PHIDP_PREPARSED_DATA  PreparsedData,
-  IN OUT PCHAR  Report,
-  IN ULONG  ReportLength)
+    IN HIDP_REPORT_TYPE  ReportType,
+    IN UCHAR  ReportID,
+    IN PHIDP_PREPARSED_DATA  PreparsedData,
+    IN OUT PCHAR  Report,
+    IN ULONG  ReportLength)
 {
-    UNIMPLEMENTED
+    UNIMPLEMENTED;
     ASSERT(FALSE);
     return STATUS_NOT_IMPLEMENTED;
 }
@@ -637,12 +663,12 @@ HIDAPI
 NTSTATUS
 NTAPI
 HidP_GetValueCaps(
-  HIDP_REPORT_TYPE ReportType,
-  PHIDP_VALUE_CAPS ValueCaps,
-  PULONG ValueCapsLength,
-  PHIDP_PREPARSED_DATA PreparsedData)
+    HIDP_REPORT_TYPE ReportType,
+    PHIDP_VALUE_CAPS ValueCaps,
+    PUSHORT ValueCapsLength,
+    PHIDP_PREPARSED_DATA PreparsedData)
 {
-    UNIMPLEMENTED
+    UNIMPLEMENTED;
     ASSERT(FALSE);
     return STATUS_NOT_IMPLEMENTED;
 }
@@ -653,7 +679,6 @@ DriverEntry(
     IN PDRIVER_OBJECT DriverObject,
     IN PUNICODE_STRING RegPath)
 {
-
     DPRINT("********* HID PARSE *********\n");
     return STATUS_SUCCESS;
 }