1 /* 2 * hidsdi.h 3 * 4 * Public interface for USB HID user space functions. 5 * 6 * Contributors: 7 * Created by Simon Josefsson <simon (at) 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 73