| 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 |  | 
 
 
 
 
 | 22 | #include <winapifamily.h> | 
 
 
 
 
 | 23 |  | 
 
 
 
 
 | 24 | #ifndef _HIDSDI_H | 
 
 
 
 
 | 25 | #define _HIDSDI_H | 
 
 
 
 
 | 26 |  | 
 
 
 
 
 | 27 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) | 
 
 
 
 
 | 28 |  | 
 
 
 
 
 | 29 | #include <pshpack4.h> | 
 
 
 
 
 | 30 |  | 
 
 
 
 
 | 31 | typedef LONG NTSTATUS; | 
 
 
 
 
 | 32 |  | 
 
 
 
 
 | 33 | #include "hidusage.h" | 
 
 
 
 
 | 34 | #include "hidpi.h" | 
 
 
 
 
 | 35 |  | 
 
 
 
 
 | 36 | typedef struct _HIDD_CONFIGURATION { | 
 
 
 
 
 | 37 | PVOID cookie; | 
 
 
 
 
 | 38 | ULONG size; | 
 
 
 
 
 | 39 | ULONG RingBufferSize; | 
 
 
 
 
 | 40 | } HIDD_CONFIGURATION,*PHIDD_CONFIGURATION; | 
 
 
 
 
 | 41 |  | 
 
 
 
 
 | 42 | typedef struct _HIDD_ATTRIBUTES { | 
 
 
 
 
 | 43 | ULONG Size; | 
 
 
 
 
 | 44 | USHORT VendorID; | 
 
 
 
 
 | 45 | USHORT ProductID; | 
 
 
 
 
 | 46 | USHORT VersionNumber; | 
 
 
 
 
 | 47 | } HIDD_ATTRIBUTES,*PHIDD_ATTRIBUTES; | 
 
 
 
 
 | 48 |  | 
 
 
 
 
 | 49 | BOOLEAN NTAPI HidD_FlushQueue (HANDLE HidDeviceObject); | 
 
 
 
 
 | 50 | BOOLEAN NTAPI HidD_FreePreparsedData (PHIDP_PREPARSED_DATA PreparsedData); | 
 
 
 
 
 | 51 | BOOLEAN NTAPI HidD_GetAttributes (HANDLE HidDeviceObject, PHIDD_ATTRIBUTES Attributes); | 
 
 
 
 
 | 52 | BOOLEAN NTAPI HidD_GetConfiguration (HANDLE HidDeviceObject, PHIDD_CONFIGURATION Configuration, ULONG ConfigurationLength); | 
 
 
 
 
 | 53 | BOOLEAN NTAPI HidD_GetFeature (HANDLE HidDeviceObject, PVOID ReportBuffer, ULONG ReportBufferLength); | 
 
 
 
 
 | 54 | void NTAPI HidD_GetHidGuid (LPGUID HidGuid); | 
 
 
 
 
 | 55 | BOOLEAN NTAPI HidD_GetInputReport (HANDLE HidDeviceObject, PVOID ReportBuffer, ULONG ReportBufferLength); | 
 
 
 
 
 | 56 | BOOLEAN NTAPI HidD_GetIndexedString (HANDLE HidDeviceObject, ULONG StringIndex, PVOID Buffer, ULONG BufferLength); | 
 
 
 
 
 | 57 | BOOLEAN NTAPI HidD_GetManufacturerString (HANDLE HidDeviceObject, PVOID Buffer, ULONG BufferLength); | 
 
 
 
 
 | 58 | BOOLEAN NTAPI HidD_GetMsGenreDescriptor (HANDLE HidDeviceObject, PVOID Buffer, ULONG BufferLength); | 
 
 
 
 
 | 59 | BOOLEAN NTAPI HidD_GetNumInputBuffers (HANDLE HidDeviceObject, PULONG NumberBuffers); | 
 
 
 
 
 | 60 | BOOLEAN NTAPI HidD_GetPhysicalDescriptor (HANDLE HidDeviceObject, PVOID Buffer, ULONG BufferLength); | 
 
 
 
 
 | 61 | BOOLEAN NTAPI HidD_GetPreparsedData (HANDLE HidDeviceObject, PHIDP_PREPARSED_DATA *PreparsedData); | 
 
 
 
 
 | 62 | BOOLEAN NTAPI HidD_GetProductString (HANDLE HidDeviceObject, PVOID Buffer, ULONG BufferLength); | 
 
 
 
 
 | 63 | BOOLEAN NTAPI HidD_GetSerialNumberString (HANDLE HidDeviceObject, PVOID Buffer, ULONG BufferLength); | 
 
 
 
 
 | 64 | BOOLEAN NTAPI HidD_SetConfiguration (HANDLE HidDeviceObject, PHIDD_CONFIGURATION Configuration, ULONG ConfigurationLength); | 
 
 
 
 
 | 65 | BOOLEAN NTAPI HidD_SetFeature (HANDLE HidDeviceObject, PVOID ReportBuffer, ULONG ReportBufferLength); | 
 
 
 
 
 | 66 | BOOLEAN NTAPI HidD_SetNumInputBuffers (HANDLE HidDeviceObject, ULONG NumberBuffers); | 
 
 
 
 
 | 67 | BOOLEAN NTAPI HidD_SetOutputReport (HANDLE HidDeviceObject, PVOID ReportBuffer, ULONG ReportBufferLength); | 
 
 
 
 
 | 68 |  | 
 
 
 
 
 | 69 | #include <poppack.h> | 
 
 
 
 
 | 70 |  | 
 
 
 
 
 | 71 | #endif | 
 
 
 
 
 | 72 | #endif |