hidsdi.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /*
  2. * hidsdi.h
  3. *
  4. * Public interface for USB HID user space functions.
  5. *
  6. * Contributors:
  7. * Created by Simon Josefsson <simon@josefsson.org>
  8. * Extended by Kai Tietz
  9. *
  10. * THIS SOFTWARE IS NOT COPYRIGHTED
  11. *
  12. * This source code is offered for use in the public domain. You may
  13. * use, modify or distribute it freely.
  14. *
  15. * This code is distributed in the hope that it will be useful but
  16. * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
  17. * DISCLAIMED. This includes but is not limited to warranties of
  18. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  19. *
  20. */
  21. #include <winapifamily.h>
  22. #ifndef _HIDSDI_H
  23. #define _HIDSDI_H
  24. #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
  25. #include <pshpack4.h>
  26. typedef LONG NTSTATUS;
  27. #include "hidusage.h"
  28. #include "hidpi.h"
  29. typedef struct _HIDD_CONFIGURATION {
  30. PVOID cookie;
  31. ULONG size;
  32. ULONG RingBufferSize;
  33. } HIDD_CONFIGURATION,*PHIDD_CONFIGURATION;
  34. typedef struct _HIDD_ATTRIBUTES {
  35. ULONG Size;
  36. USHORT VendorID;
  37. USHORT ProductID;
  38. USHORT VersionNumber;
  39. } HIDD_ATTRIBUTES,*PHIDD_ATTRIBUTES;
  40. BOOLEAN NTAPI HidD_FlushQueue (HANDLE HidDeviceObject);
  41. BOOLEAN NTAPI HidD_FreePreparsedData (PHIDP_PREPARSED_DATA PreparsedData);
  42. BOOLEAN NTAPI HidD_GetAttributes (HANDLE HidDeviceObject, PHIDD_ATTRIBUTES Attributes);
  43. BOOLEAN NTAPI HidD_GetConfiguration (HANDLE HidDeviceObject, PHIDD_CONFIGURATION Configuration, ULONG ConfigurationLength);
  44. BOOLEAN NTAPI HidD_GetFeature (HANDLE HidDeviceObject, PVOID ReportBuffer, ULONG ReportBufferLength);
  45. void NTAPI HidD_GetHidGuid (LPGUID HidGuid);
  46. BOOLEAN NTAPI HidD_GetInputReport (HANDLE HidDeviceObject, PVOID ReportBuffer, ULONG ReportBufferLength);
  47. BOOLEAN NTAPI HidD_GetIndexedString (HANDLE HidDeviceObject, ULONG StringIndex, PVOID Buffer, ULONG BufferLength);
  48. BOOLEAN NTAPI HidD_GetManufacturerString (HANDLE HidDeviceObject, PVOID Buffer, ULONG BufferLength);
  49. BOOLEAN NTAPI HidD_GetMsGenreDescriptor (HANDLE HidDeviceObject, PVOID Buffer, ULONG BufferLength);
  50. BOOLEAN NTAPI HidD_GetNumInputBuffers (HANDLE HidDeviceObject, PULONG NumberBuffers);
  51. BOOLEAN NTAPI HidD_GetPhysicalDescriptor (HANDLE HidDeviceObject, PVOID Buffer, ULONG BufferLength);
  52. BOOLEAN NTAPI HidD_GetPreparsedData (HANDLE HidDeviceObject, PHIDP_PREPARSED_DATA *PreparsedData);
  53. BOOLEAN NTAPI HidD_GetProductString (HANDLE HidDeviceObject, PVOID Buffer, ULONG BufferLength);
  54. BOOLEAN NTAPI HidD_GetSerialNumberString (HANDLE HidDeviceObject, PVOID Buffer, ULONG BufferLength);
  55. BOOLEAN NTAPI HidD_SetConfiguration (HANDLE HidDeviceObject, PHIDD_CONFIGURATION Configuration, ULONG ConfigurationLength);
  56. BOOLEAN NTAPI HidD_SetFeature (HANDLE HidDeviceObject, PVOID ReportBuffer, ULONG ReportBufferLength);
  57. BOOLEAN NTAPI HidD_SetNumInputBuffers (HANDLE HidDeviceObject, ULONG NumberBuffers);
  58. BOOLEAN NTAPI HidD_SetOutputReport (HANDLE HidDeviceObject, PVOID ReportBuffer, ULONG ReportBufferLength);
  59. #include <poppack.h>
  60. #endif
  61. #endif