diff --git a/dlls/hid/hid.spec b/dlls/hid/hid.spec index b50e04d197f..b8e29fef16a 100644 --- a/dlls/hid/hid.spec +++ b/dlls/hid/hid.spec @@ -22,7 +22,7 @@ @ stdcall HidP_GetCaps(ptr ptr) @ stdcall HidP_GetData(long ptr ptr ptr ptr long) @ stub HidP_GetExtendedAttributes -@ stub HidP_GetLinkCollectionNodes +@ stdcall HidP_GetLinkCollectionNodes(ptr ptr ptr) @ stdcall HidP_GetScaledUsageValue(long long long long ptr ptr ptr long) @ stdcall HidP_GetSpecificButtonCaps(long long long long ptr ptr ptr) @ stdcall HidP_GetSpecificValueCaps(long long long long ptr ptr ptr) diff --git a/dlls/hid/hidp.c b/dlls/hid/hidp.c index 9d631912c85..e0513af7fba 100644 --- a/dlls/hid/hidp.c +++ b/dlls/hid/hidp.c @@ -927,3 +927,13 @@ NTSTATUS WINAPI HidP_GetData(HIDP_REPORT_TYPE ReportType, HIDP_DATA *DataList, U return rc; } + +NTSTATUS WINAPI HidP_GetLinkCollectionNodes(HIDP_LINK_COLLECTION_NODE *LinkCollectionNode, + ULONG *LinkCollectionNodeLength, PHIDP_PREPARSED_DATA PreparsedData) +{ + FIXME("stub (%p, %p, %p)\n", LinkCollectionNode, LinkCollectionNodeLength, PreparsedData); + + *LinkCollectionNodeLength = 0; + + return STATUS_NOT_IMPLEMENTED; +} diff --git a/include/ddk/hidpi.h b/include/ddk/hidpi.h index 042c84dd1c5..51d61ea8541 100644 --- a/include/ddk/hidpi.h +++ b/include/ddk/hidpi.h @@ -175,6 +175,19 @@ typedef struct _HIDP_DATA { } DUMMYUNIONNAME; } HIDP_DATA, *PHIDP_DATA; +typedef struct _HIDP_LINK_COLLECTION_NODE { + USAGE LinkUsage; + USAGE LinkUsagePage; + USHORT Parent; + USHORT NumberOfChildren; + USHORT NextSibling; + USHORT FirstChild; + ULONG CollectionType : 8; + ULONG IsAlias : 1; + ULONG Reserved : 23; + PVOID UserContext; +} HIDP_LINK_COLLECTION_NODE, *PHIDP_LINK_COLLECTION_NODE; + typedef BOOLEAN (NTAPI *PHIDP_INSERT_SCANCODES) (VOID *Context, CHAR *NewScanCodes, ULONG Length); @@ -196,6 +209,7 @@ NTSTATUS WINAPI HidP_GetSpecificValueCaps(HIDP_REPORT_TYPE ReportType, USAGE Usa NTSTATUS WINAPI HidP_GetUsagesEx(HIDP_REPORT_TYPE ReportType, USHORT LinkCollection, USAGE_AND_PAGE *ButtonList, ULONG *UsageLength, PHIDP_PREPARSED_DATA PreparsedData, CHAR *Report, ULONG ReportLength); ULONG WINAPI HidP_MaxDataListLength(HIDP_REPORT_TYPE ReportType, PHIDP_PREPARSED_DATA PreparsedData); NTSTATUS WINAPI HidP_GetData(HIDP_REPORT_TYPE ReportType, HIDP_DATA *DataList, ULONG *DataLength, PHIDP_PREPARSED_DATA PreparsedData, CHAR *Report, ULONG ReportLength); +NTSTATUS WINAPI HidP_GetLinkCollectionNodes(HIDP_LINK_COLLECTION_NODE *LinkCollectionNode, ULONG *LinkCollectionNodeLength, PHIDP_PREPARSED_DATA PreparsedData); #ifndef FACILITY_HID_ERROR_CODE #define FACILITY_HID_ERROR_CODE 0x11