winapi_ui_automation/shared/
hidsdi.rs1use shared::guiddef::LPGUID;
7use shared::hidpi::PHIDP_PREPARSED_DATA;
8use shared::minwindef::{PULONG, ULONG, USHORT};
9use um::winnt::{BOOLEAN, HANDLE, PVOID};
10STRUCT!{struct HIDD_CONFIGURATION {
11 cookie: PVOID,
12 size: ULONG,
13 RingBufferSize: ULONG,
14}}
15pub type PHIDD_CONFIGURATION = *mut HIDD_CONFIGURATION;
16STRUCT!{struct HIDD_ATTRIBUTES {
17 Size: ULONG,
18 VendorID: USHORT,
19 ProductID: USHORT,
20 VersionNumber: USHORT,
21}}
22pub type PHIDD_ATTRIBUTES = *mut HIDD_ATTRIBUTES;
23extern "system" {
24 pub fn HidD_GetAttributes(
25 HidDeviceObject: HANDLE,
26 Attributes: PHIDD_ATTRIBUTES,
27 ) -> BOOLEAN;
28 pub fn HidD_GetHidGuid(
29 HidGuid: LPGUID,
30 );
31 pub fn HidD_GetPreparsedData(
32 HidDeviceObject: HANDLE,
33 PreparsedData: *mut PHIDP_PREPARSED_DATA,
34 ) -> BOOLEAN;
35 pub fn HidD_FreePreparsedData(
36 PreparsedData: PHIDP_PREPARSED_DATA,
37 ) -> BOOLEAN;
38 pub fn HidD_FlushQueue(
39 HidDeviceObject: HANDLE,
40 ) -> BOOLEAN;
41 pub fn HidD_GetConfiguration(
42 HidDeviceObject: HANDLE,
43 Configuration: PHIDD_CONFIGURATION,
44 ConfigurationLength: ULONG,
45 ) -> BOOLEAN;
46 pub fn HidD_SetConfiguration(
47 HidDeviceObject: HANDLE,
48 Configuration: PHIDD_CONFIGURATION,
49 ConfigurationLength: ULONG,
50 ) -> BOOLEAN;
51 pub fn HidD_GetFeature(
52 HidDeviceObject: HANDLE,
53 ReportBuffer: PVOID,
54 ReportBufferLength: ULONG,
55 ) -> BOOLEAN;
56 pub fn HidD_SetFeature(
57 HidDeviceObject: HANDLE,
58 ReportBuffer: PVOID,
59 ReportBufferLength: ULONG,
60 ) -> BOOLEAN;
61 pub fn HidD_GetInputReport(
62 HidDeviceObject: HANDLE,
63 ReportBuffer: PVOID,
64 ReportBufferLength: ULONG,
65 ) -> BOOLEAN;
66 pub fn HidD_SetOutputReport(
67 HidDeviceObject: HANDLE,
68 ReportBuffer: PVOID,
69 ReportBufferLength: ULONG,
70 ) -> BOOLEAN;
71 pub fn HidD_GetNumInputBuffers(
72 HidDeviceObject: HANDLE,
73 NumberBuffers: PULONG,
74 ) -> BOOLEAN;
75 pub fn HidD_SetNumInputBuffers(
76 HidDeviceObject: HANDLE,
77 NumberBuffers: ULONG,
78 ) -> BOOLEAN;
79 pub fn HidD_GetPhysicalDescriptor(
80 HidDeviceObject: HANDLE,
81 Buffer: PVOID,
82 BufferLength: ULONG,
83 ) -> BOOLEAN;
84 pub fn HidD_GetManufacturerString(
85 HidDeviceObject: HANDLE,
86 Buffer: PVOID,
87 BufferLength: ULONG,
88 ) -> BOOLEAN;
89 pub fn HidD_GetProductString(
90 HidDeviceObject: HANDLE,
91 Buffer: PVOID,
92 BufferLength: ULONG,
93 ) -> BOOLEAN;
94 pub fn HidD_GetIndexedString(
95 HidDeviceObject: HANDLE,
96 StringIndex: ULONG,
97 Buffer: PVOID,
98 BufferLength: ULONG,
99 ) -> BOOLEAN;
100 pub fn HidD_GetSerialNumberString(
101 HidDeviceObject: HANDLE,
102 Buffer: PVOID,
103 BufferLength: ULONG,
104 ) -> BOOLEAN;
105 pub fn HidD_GetMsGenreDescriptor(
106 HidDeviceObject: HANDLE,
107 Buffer: PVOID,
108 BufferLength: ULONG,
109 ) -> BOOLEAN;
110}