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