mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 18:15:11 +00:00
[HIDPARSE]
- Start of HID parser driver - Contains currently only stubs svn path=/branches/usb-bringup/; revision=52067
This commit is contained in:
parent
0dede89665
commit
ab7ce0c45c
7 changed files with 678 additions and 1 deletions
|
@ -1,6 +1,7 @@
|
|||
|
||||
add_subdirectory(hidparse)
|
||||
add_subdirectory(nt4compat)
|
||||
add_subdirectory(usbd)
|
||||
add_subdirectory(usbehci_new)
|
||||
add_subdirectory(usbhub_new)
|
||||
add_subdirectory(usbohci)
|
||||
add_subdirectory(usbstor)
|
14
drivers/usb/hidparse/CMakeLists.txt
Normal file
14
drivers/usb/hidparse/CMakeLists.txt
Normal file
|
@ -0,0 +1,14 @@
|
|||
|
||||
spec2def(hidparse.sys hidparse.spec)
|
||||
add_definitions(-DDEBUG_MODE)
|
||||
|
||||
include_directories(${REACTOS_SOURCE_DIR}/ntoskrnl/include)
|
||||
|
||||
add_library(hidparse SHARED hidparse.c hidparse.rc ${CMAKE_CURRENT_BINARY_DIR}/hidparse.def)
|
||||
|
||||
set_module_type(hidparse kernelmodedriver)
|
||||
add_importlibs(hidparse ntoskrnl)
|
||||
add_cab_target(hidparse 2)
|
||||
|
||||
add_cab_target(hidparse 2)
|
||||
add_importlib_target(hidparse.spec)
|
499
drivers/usb/hidparse/hidparse.c
Normal file
499
drivers/usb/hidparse/hidparse.c
Normal file
|
@ -0,0 +1,499 @@
|
|||
/*
|
||||
* PROJECT: ReactOS Universal Serial Bus Bulk Enhanced Host Controller Interface
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: drivers/usb/hidparse/hidparse.c
|
||||
* PURPOSE: HID Parser
|
||||
* PROGRAMMERS:
|
||||
* Michael Martin (michael.martin@reactos.org)
|
||||
* Johannes Anderwald (johannes.anderwald@reactos.org)
|
||||
*/
|
||||
|
||||
#include "hidparse.h"
|
||||
|
||||
|
||||
VOID
|
||||
HidP_FreeCollectionDescription (
|
||||
IN PHIDP_DEVICE_DESC DeviceDescription)
|
||||
{
|
||||
DPRINT1("HidP_FreeCollectionDescription DeviceDescription %p\n", DeviceDescription);
|
||||
|
||||
//
|
||||
// free collection
|
||||
//
|
||||
ExFreePool(DeviceDescription->CollectionDesc);
|
||||
|
||||
//
|
||||
// free report ids
|
||||
//
|
||||
ExFreePool(DeviceDescription->ReportIDs);
|
||||
|
||||
//
|
||||
// free description itself
|
||||
//
|
||||
ExFreePool(DeviceDescription);
|
||||
|
||||
}
|
||||
|
||||
HIDAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HidP_GetButtonCaps(
|
||||
HIDP_REPORT_TYPE ReportType,
|
||||
PHIDP_BUTTON_CAPS ButtonCaps,
|
||||
PUSHORT ButtonCapsLength,
|
||||
PHIDP_PREPARSED_DATA PreparsedData)
|
||||
{
|
||||
return HidP_GetSpecificButtonCaps(ReportType, 0, 0, 0, ButtonCaps, (PULONG)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
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
HIDAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HidP_GetCaps(
|
||||
IN PHIDP_PREPARSED_DATA PreparsedData,
|
||||
OUT PHIDP_CAPS Capabilities)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
HidP_GetCollectionDescription(
|
||||
IN PHIDP_REPORT_DESCRIPTOR ReportDesc,
|
||||
IN ULONG DescLength,
|
||||
IN POOL_TYPE PoolType,
|
||||
OUT PHIDP_DEVICE_DESC DeviceDescription)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
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
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
HIDAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HidP_GetExtendedAttributes(
|
||||
IN HIDP_REPORT_TYPE ReportType,
|
||||
IN USHORT DataIndex,
|
||||
IN PHIDP_PREPARSED_DATA PreparsedData,
|
||||
OUT PHIDP_EXTENDED_ATTRIBUTES Attributes,
|
||||
IN OUT PULONG LengthAttributes)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
HIDAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HidP_GetLinkCollectionNodes(
|
||||
OUT PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes,
|
||||
IN OUT PULONG LinkCollectionNodesLength,
|
||||
IN PHIDP_PREPARSED_DATA PreparsedData)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
|
||||
HIDAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HidP_UsageListDifference(
|
||||
IN PUSAGE PreviousUsageList,
|
||||
IN PUSAGE CurrentUsageList,
|
||||
OUT PUSAGE BreakUsageList,
|
||||
OUT PUSAGE MakeUsageList,
|
||||
IN ULONG UsageListLength)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
HIDAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
HidP_MaxUsageListLength(
|
||||
IN HIDP_REPORT_TYPE ReportType,
|
||||
IN USAGE UsagePage OPTIONAL,
|
||||
IN PHIDP_PREPARSED_DATA PreparsedData)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
HidP_SysPowerEvent (
|
||||
IN PCHAR HidPacket,
|
||||
IN USHORT HidPacketLength,
|
||||
IN PHIDP_PREPARSED_DATA Ppd,
|
||||
OUT PULONG OutputBuffer)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
HidP_SysPowerCaps (
|
||||
IN PHIDP_PREPARSED_DATA Ppd,
|
||||
OUT PULONG OutputBuffer)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
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
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
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)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
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
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
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
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
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
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
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
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
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
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
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
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
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
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
HIDAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
HidP_MaxDataListLength(
|
||||
IN HIDP_REPORT_TYPE ReportType,
|
||||
IN PHIDP_PREPARSED_DATA PreparsedData)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
HIDAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HidP_GetValueCaps(
|
||||
HIDP_REPORT_TYPE ReportType,
|
||||
PHIDP_VALUE_CAPS ValueCaps,
|
||||
PULONG ValueCapsLength,
|
||||
PHIDP_PREPARSED_DATA PreparsedData)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
ASSERT(FALSE);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
DriverEntry(
|
||||
IN PDRIVER_OBJECT DriverObject,
|
||||
IN PUNICODE_STRING RegPath)
|
||||
{
|
||||
|
||||
DPRINT1("********* HID PARSE *********\n");
|
||||
return STATUS_SUCCESS;
|
||||
}
|
8
drivers/usb/hidparse/hidparse.h
Normal file
8
drivers/usb/hidparse/hidparse.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
#define _HIDPI_
|
||||
#define _HIDPI_NO_FUNCTION_MACROS_
|
||||
#include <ntddk.h>
|
||||
#include <hidpddi.h>
|
||||
#include <hidpi.h>
|
||||
#include <debug.h>
|
5
drivers/usb/hidparse/hidparse.rc
Normal file
5
drivers/usb/hidparse/hidparse.rc
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define REACTOS_VERSION_DLL
|
||||
#define REACTOS_STR_FILE_DESCRIPTION "USB HID Parser\0"
|
||||
#define REACTOS_STR_INTERNAL_NAME "hidparse\0"
|
||||
#define REACTOS_STR_ORIGINAL_FILENAME "hidparse.sys\0"
|
||||
#include <reactos/version.rc>
|
53
drivers/usb/hidparse/hidparse.spec
Normal file
53
drivers/usb/hidparse/hidparse.spec
Normal file
|
@ -0,0 +1,53 @@
|
|||
@ stdcall HidP_FreeCollectionDescription(ptr)
|
||||
@ stdcall HidP_GetButtonCaps(long ptr ptr ptr)
|
||||
@ stdcall HidP_GetCaps(ptr ptr)
|
||||
@ stdcall HidP_GetCollectionDescription(ptr long long ptr)
|
||||
@ stdcall HidP_GetData(long ptr ptr ptr ptr long)
|
||||
@ stdcall HidP_GetExtendedAttributes(long long ptr ptr long)
|
||||
@ 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)
|
||||
@ stdcall HidP_GetUsageValue(long long long long ptr ptr ptr long)
|
||||
@ stdcall HidP_GetUsageValueArray(long long long long ptr long ptr ptr long)
|
||||
@ stdcall HidP_GetUsages(long long ptr ptr ptr ptr long)
|
||||
@ stdcall HidP_GetUsagesEx(long long ptr ptr ptr ptr long)
|
||||
@ stdcall HidP_GetValueCaps(long ptr ptr ptr)
|
||||
@ stdcall HidP_InitializeReportForID(long long ptr ptr long)
|
||||
@ stdcall HidP_MaxDataListLength(long ptr)
|
||||
@ stdcall HidP_MaxUsageListLength(long long ptr)
|
||||
@ stdcall HidP_SetData(long ptr ptr ptr ptr long)
|
||||
@ stdcall HidP_SetScaledUsageValue(long long long long long ptr ptr long)
|
||||
@ stdcall HidP_SetUsageValue(long long long long long ptr ptr long)
|
||||
@ stdcall HidP_SetUsageValueArray(long long long long ptr long long ptr long)
|
||||
@ stdcall HidP_SetUsages(long long long ptr ptr ptr ptr long)
|
||||
@ stdcall HidP_SysPowerCaps(ptr ptr)
|
||||
@ stdcall HidP_SysPowerEvent(ptr long ptr ptr)
|
||||
@ stdcall HidP_TranslateUsageAndPagesToI8042ScanCodes(ptr long long ptr ptr ptr)
|
||||
@ stdcall HidP_TranslateUsagesToI8042ScanCodes(ptr long long ptr ptr ptr)
|
||||
@ stdcall HidP_UnsetUsages(long long long ptr ptr ptr ptr long)
|
||||
@ stdcall HidP_UsageAndPageListDifference(ptr ptr ptr ptr long)
|
||||
@ stdcall HidP_UsageListDifference(ptr ptr ptr ptr long)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
97
include/ddk/hidpddi.h
Normal file
97
include/ddk/hidpddi.h
Normal file
|
@ -0,0 +1,97 @@
|
|||
#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];
|
||||
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;
|
||||
ULONG CollectionDescLength;
|
||||
PHIDP_REPORT_IDS ReportIDs;
|
||||
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
|
||||
);
|
||||
|
||||
VOID
|
||||
HidP_FreeCollectionDescription (
|
||||
IN PHIDP_DEVICE_DESC DeviceDescription
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
HidP_SysPowerEvent (
|
||||
IN PCHAR HidPacket,
|
||||
IN USHORT HidPacketLength,
|
||||
IN PHIDP_PREPARSED_DATA Ppd,
|
||||
OUT PULONG OutputBuffer
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
HidP_SysPowerCaps (
|
||||
IN PHIDP_PREPARSED_DATA Ppd,
|
||||
OUT PULONG OutputBuffer
|
||||
);
|
||||
|
||||
#define HIDP_GETCOLDESC_SUCCESS 0x00
|
||||
#define HIDP_GETCOLDESC_RESOURCES 0x01
|
||||
#define HIDP_GETCOLDESC_BUFFER 0x02
|
||||
#define HIDP_GETCOLDESC_LINK_RESOURCES 0x03
|
||||
#define HIDP_GETCOLDESC_UNEXP_END_COL 0x04
|
||||
#define HIDP_GETCOLDESC_PREPARSE_RESOURCES 0x05
|
||||
#define HIDP_GETCOLDESC_ONE_BYTE 0x06
|
||||
#define HIDP_GETCOLDESC_TWO_BYTE 0x07
|
||||
#define HIDP_GETCOLDESC_FOUR_BYTE 0x08
|
||||
#define HIDP_GETCOLDESC_BYTE_ALLIGN 0x09
|
||||
#define HIDP_GETCOLDESC_MAIN_ITEM_NO_USAGE 0x0A
|
||||
#define HIDP_GETCOLDESC_TOP_COLLECTION_USAGE 0x0B
|
||||
#define HIDP_GETCOLDESC_PUSH_RESOURCES 0x10
|
||||
#define HIDP_GETCOLDESC_ITEM_UNKNOWN 0x12
|
||||
#define HIDP_GETCOLDESC_REPORT_ID 0x13
|
||||
#define HIDP_GETCOLDESC_BAD_REPORT_ID 0x14
|
||||
#define HIDP_GETCOLDESC_NO_REPORT_ID 0x15
|
||||
#define HIDP_GETCOLDESC_DEFAULT_ID_ERROR 0x16
|
||||
#define HIDP_GETCOLDESC_NO_DATA 0x1A
|
||||
#define HIDP_GETCOLDESC_INVALID_MAIN_ITEM 0x1B
|
||||
#define HIDP_GETCOLDESC_NO_CLOSE_DELIMITER 0x20
|
||||
#define HIDP_GETCOLDESC_NOT_VALID_DELIMITER 0x21
|
||||
#define HIDP_GETCOLDESC_MISMATCH_OC_DELIMITER 0x22
|
||||
#define HIDP_GETCOLDESC_UNSUPPORTED 0x40
|
||||
|
||||
#endif
|
Loading…
Reference in a new issue