// Licensed under the Apache License, Version 2.0 // or the MIT license // , at your option. // All files in the project carrying such notice may not be copied, modified, or distributed // except according to those terms. use shared::guiddef::LPGUID; use shared::hidpi::PHIDP_PREPARSED_DATA; use shared::minwindef::{PULONG, ULONG, USHORT}; use um::winnt::{BOOLEAN, HANDLE, PVOID}; STRUCT!{struct HIDD_CONFIGURATION { cookie: PVOID, size: ULONG, RingBufferSize: ULONG, }} pub type PHIDD_CONFIGURATION = *mut HIDD_CONFIGURATION; STRUCT!{struct HIDD_ATTRIBUTES { Size: ULONG, VendorID: USHORT, ProductID: USHORT, VersionNumber: USHORT, }} pub type PHIDD_ATTRIBUTES = *mut HIDD_ATTRIBUTES; extern "system" { pub fn HidD_GetAttributes( HidDeviceObject: HANDLE, Attributes: PHIDD_ATTRIBUTES, ) -> BOOLEAN; pub fn HidD_GetHidGuid( HidGuid: LPGUID, ); pub fn HidD_GetPreparsedData( HidDeviceObject: HANDLE, PreparsedData: *mut PHIDP_PREPARSED_DATA, ) -> BOOLEAN; pub fn HidD_FreePreparsedData( PreparsedData: PHIDP_PREPARSED_DATA, ) -> BOOLEAN; pub fn HidD_FlushQueue( HidDeviceObject: HANDLE, ) -> BOOLEAN; pub fn HidD_GetConfiguration( HidDeviceObject: HANDLE, Configuration: PHIDD_CONFIGURATION, ConfigurationLength: ULONG, ) -> BOOLEAN; pub fn HidD_SetConfiguration( HidDeviceObject: HANDLE, Configuration: PHIDD_CONFIGURATION, ConfigurationLength: ULONG, ) -> BOOLEAN; pub fn HidD_GetFeature( HidDeviceObject: HANDLE, ReportBuffer: PVOID, ReportBufferLength: ULONG, ) -> BOOLEAN; pub fn HidD_SetFeature( HidDeviceObject: HANDLE, ReportBuffer: PVOID, ReportBufferLength: ULONG, ) -> BOOLEAN; pub fn HidD_GetInputReport( HidDeviceObject: HANDLE, ReportBuffer: PVOID, ReportBufferLength: ULONG, ) -> BOOLEAN; pub fn HidD_SetOutputReport( HidDeviceObject: HANDLE, ReportBuffer: PVOID, ReportBufferLength: ULONG, ) -> BOOLEAN; pub fn HidD_GetNumInputBuffers( HidDeviceObject: HANDLE, NumberBuffers: PULONG, ) -> BOOLEAN; pub fn HidD_SetNumInputBuffers( HidDeviceObject: HANDLE, NumberBuffers: ULONG, ) -> BOOLEAN; pub fn HidD_GetPhysicalDescriptor( HidDeviceObject: HANDLE, Buffer: PVOID, BufferLength: ULONG, ) -> BOOLEAN; pub fn HidD_GetManufacturerString( HidDeviceObject: HANDLE, Buffer: PVOID, BufferLength: ULONG, ) -> BOOLEAN; pub fn HidD_GetProductString( HidDeviceObject: HANDLE, Buffer: PVOID, BufferLength: ULONG, ) -> BOOLEAN; pub fn HidD_GetIndexedString( HidDeviceObject: HANDLE, StringIndex: ULONG, Buffer: PVOID, BufferLength: ULONG, ) -> BOOLEAN; pub fn HidD_GetSerialNumberString( HidDeviceObject: HANDLE, Buffer: PVOID, BufferLength: ULONG, ) -> BOOLEAN; pub fn HidD_GetMsGenreDescriptor( HidDeviceObject: HANDLE, Buffer: PVOID, BufferLength: ULONG, ) -> BOOLEAN; }