]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/include/hidsdi.h
merge linux and windows clients into one directory... will consolidate makefiles...
[proxmark3-svn] / client / include / hidsdi.h
diff --git a/client/include/hidsdi.h b/client/include/hidsdi.h
new file mode 100644 (file)
index 0000000..d0db806
--- /dev/null
@@ -0,0 +1,412 @@
+/*++\r
+\r
+Copyright (c) 1996    Microsoft Corporation\r
+\r
+Module Name:\r
+\r
+    HIDSDI.H\r
+\r
+Abstract:\r
+\r
+    This module contains the PUBLIC definitions for the\r
+    code that implements the HID dll.\r
+\r
+Environment:\r
+\r
+    Kernel & user mode\r
+\r
+--*/\r
+\r
+\r
+#ifndef _HIDSDI_H\r
+#define _HIDSDI_H\r
+\r
+#include <pshpack4.h>\r
+\r
+//#include "wtypes.h"\r
+\r
+//#include <windef.h>\r
+//#include <win32.h>\r
+//#include <basetyps.h>\r
+\r
+typedef LONG NTSTATUS;\r
+#include "hidusage.h"\r
+#include "hidpi.h"\r
+\r
+typedef struct _HIDD_CONFIGURATION {\r
+    PVOID    cookie;\r
+    ULONG    size;\r
+    ULONG    RingBufferSize;\r
+} HIDD_CONFIGURATION, *PHIDD_CONFIGURATION;\r
+\r
+typedef struct _HIDD_ATTRIBUTES {\r
+    ULONG   Size; // = sizeof (struct _HIDD_ATTRIBUTES)\r
+\r
+    //\r
+    // Vendor ids of this hid device\r
+    //\r
+    USHORT  VendorID;\r
+    USHORT  ProductID;\r
+    USHORT  VersionNumber;\r
+\r
+    //\r
+    // Additional fields will be added to the end of this structure.\r
+    //\r
+} HIDD_ATTRIBUTES, *PHIDD_ATTRIBUTES;\r
+\r
+\r
+BOOLEAN __stdcall\r
+HidD_GetAttributes (\r
+    IN  HANDLE              HidDeviceObject,\r
+    OUT PHIDD_ATTRIBUTES    Attributes\r
+    );\r
+/*++\r
+Routine Description:\r
+    Fill in the given HIDD_ATTRIBUTES structure with the attributes of the\r
+    given hid device.\r
+\r
+--*/\r
+\r
+\r
+void __stdcall\r
+HidD_GetHidGuid (\r
+   OUT   LPGUID   HidGuid\r
+   );\r
+\r
+BOOLEAN __stdcall\r
+HidD_GetPreparsedData (\r
+   IN    HANDLE                  HidDeviceObject,\r
+   OUT   PHIDP_PREPARSED_DATA  * PreparsedData\r
+   );\r
+/*++\r
+Routine Description:\r
+    Given a handle to a valid Hid Class Device Object, retrieve the preparsed\r
+    data for the device.  This routine will allocate the appropriately \r
+    sized buffer to hold this preparsed data.  It is up to client to call\r
+    HidP_FreePreparsedData to free the memory allocated to this structure when\r
+    it is no longer needed.\r
+\r
+Arguments:\r
+   HidDeviceObject A handle to a Hid Device that the client obtains using \r
+                   a call to CreateFile on a valid Hid device string name.\r
+                   The string name can be obtained using standard PnP calls.\r
+\r
+   PreparsedData   An opaque data structure used by other functions in this \r
+                   library to retrieve information about a given device.\r
+\r
+Return Value:\r
+   TRUE if successful.\r
+   FALSE otherwise  -- Use GetLastError() to get extended error information\r
+--*/\r
+\r
+BOOLEAN __stdcall\r
+HidD_FreePreparsedData (\r
+   IN    PHIDP_PREPARSED_DATA PreparsedData\r
+   );\r
+\r
+BOOLEAN __stdcall\r
+HidD_FlushQueue (\r
+   IN    HANDLE                HidDeviceObject\r
+   );\r
+/*++\r
+Routine Description:\r
+    Flush the input queue for the given HID device.\r
+\r
+Arguments:\r
+   HidDeviceObject A handle to a Hid Device that the client obtains using \r
+                   a call to CreateFile on a valid Hid device string name.\r
+                   The string name can be obtained using standard PnP calls.\r
+\r
+Return Value:\r
+   TRUE if successful\r
+   FALSE otherwise  -- Use GetLastError() to get extended error information\r
+--*/\r
+\r
+BOOLEAN __stdcall\r
+HidD_GetConfiguration (\r
+   IN   HANDLE               HidDeviceObject,\r
+   OUT  PHIDD_CONFIGURATION  Configuration,\r
+   IN   ULONG                ConfigurationLength\r
+   );\r
+/*++\r
+Routine Description:\r
+    Get the configuration information for this Hid device\r
+\r
+Arguments:\r
+   HidDeviceObject      A handle to a Hid Device Object.\r
+\r
+   Configuration        A configuration structure.  HidD_GetConfiguration MUST\r
+                        be called before the configuration can be modified and\r
+                        set using HidD_SetConfiguration\r
+\r
+   ConfigurationLength  That is ``sizeof (HIDD_CONFIGURATION)''. Using this\r
+                        parameter, we can later increase the length of the \r
+                        configuration array and not break older apps.\r
+\r
+Return Value:\r
+   TRUE if successful\r
+   FALSE otherwise  -- Use GetLastError() to get extended error information\r
+--*/\r
+\r
+BOOLEAN __stdcall\r
+HidD_SetConfiguration (\r
+   IN   HANDLE               HidDeviceObject,\r
+   IN   PHIDD_CONFIGURATION  Configuration,\r
+   IN   ULONG                ConfigurationLength\r
+   );\r
+/*++\r
+Routine Description:\r
+   Set the configuration information for this Hid device...\r
+   \r
+   NOTE: HidD_GetConfiguration must be called to retrieve the current \r
+         configuration information before this information can be modified \r
+         and set.\r
+\r
+Arguments:\r
+    HidDeviceObject      A handle to a Hid Device Object.\r
\r
+    Configuration        A configuration structure.  HidD_GetConfiguration MUST\r
+                         be called before the configuration can be modified and\r
+                         set using HidD_SetConfiguration\r
\r
+    ConfigurationLength  That is ``sizeof (HIDD_CONFIGURATION)''. Using this\r
+                         parameter, we can later increase the length of the \r
+                         configuration array and not break older apps.\r
+\r
+Return Value:\r
+    TRUE if successful\r
+    FALSE otherwise  -- Use GetLastError() to get extended error information\r
+--*/\r
+\r
+BOOLEAN __stdcall\r
+HidD_GetFeature (\r
+   IN    HANDLE   HidDeviceObject,\r
+   OUT   PVOID    ReportBuffer,\r
+   IN    ULONG    ReportBufferLength\r
+   );\r
+/*++\r
+Routine Description:\r
+    Retrieve a feature report from a HID device.\r
+\r
+Arguments:\r
+    HidDeviceObject      A handle to a Hid Device Object.\r
\r
+    ReportBuffer         The buffer that the feature report should be placed \r
+                         into.  The first byte of the buffer should be set to\r
+                         the report ID of the desired report\r
\r
+    ReportBufferLength   The size (in bytes) of ReportBuffer.  This value \r
+                         should be greater than or equal to the \r
+                         FeatureReportByteLength field as specified in the \r
+                         HIDP_CAPS structure for the device\r
+Return Value:\r
+    TRUE if successful\r
+    FALSE otherwise  -- Use GetLastError() to get extended error information\r
+--*/\r
+\r
+BOOLEAN __stdcall\r
+HidD_SetFeature (\r
+   IN    HANDLE   HidDeviceObject,\r
+   IN    PVOID    ReportBuffer,\r
+   IN    ULONG    ReportBufferLength\r
+   );\r
+/*++\r
+Routine Description:\r
+    Send a feature report to a HID device.\r
+\r
+Arguments:\r
+    HidDeviceObject      A handle to a Hid Device Object.\r
\r
+    ReportBuffer         The buffer of the feature report to send to the device\r
\r
+    ReportBufferLength   The size (in bytes) of ReportBuffer.  This value \r
+                         should be greater than or equal to the \r
+                         FeatureReportByteLength field as specified in the \r
+                         HIDP_CAPS structure for the device\r
+Return Value:\r
+    TRUE if successful\r
+    FALSE otherwise  -- Use GetLastError() to get extended error information\r
+--*/\r
+\r
+BOOLEAN __stdcall\r
+HidD_GetNumInputBuffers (\r
+    IN  HANDLE  HidDeviceObject,\r
+    OUT PULONG  NumberBuffers\r
+    );\r
+/*++\r
+Routine Description:\r
+    This function returns the number of input buffers used by the specified\r
+    file handle to the Hid device.  Each file object has a number of buffers\r
+    associated with it to queue reports read from the device but which have\r
+    not yet been read by the user-mode app with a handle to that device.\r
+\r
+Arguments:\r
+    HidDeviceObject      A handle to a Hid Device Object.\r
\r
+    NumberBuffers        Number of buffers currently being used for this file\r
+                         handle to the Hid device\r
+\r
+Return Value:\r
+    TRUE if successful\r
+    FALSE otherwise  -- Use GetLastError() to get extended error information\r
+--*/\r
+\r
+BOOLEAN __stdcall\r
+HidD_SetNumInputBuffers (\r
+    IN  HANDLE HidDeviceObject,\r
+    OUT ULONG  NumberBuffers\r
+    );\r
+/*++\r
+\r
+Routine Description:\r
+    This function sets the number of input buffers used by the specified\r
+    file handle to the Hid device.  Each file object has a number of buffers\r
+    associated with it to queue reports read from the device but which have\r
+    not yet been read by the user-mode app with a handle to that device.\r
+\r
+Arguments:\r
+    HidDeviceObject      A handle to a Hid Device Object.\r
\r
+    NumberBuffers        New number of buffers to use for this file handle to\r
+                         the Hid device\r
+\r
+Return Value:\r
+    TRUE if successful\r
+    FALSE otherwise  -- Use GetLastError() to get extended error information\r
+--*/\r
+\r
+BOOLEAN __stdcall\r
+HidD_GetPhysicalDescriptor (\r
+   IN    HANDLE   HidDeviceObject,\r
+   OUT   PVOID    Buffer,\r
+   IN    ULONG    BufferLength\r
+   );\r
+/*++\r
+Routine Description:\r
+    This function retrieves the raw physical descriptor for the specified\r
+    Hid device.  \r
+\r
+Arguments:\r
+    HidDeviceObject      A handle to a Hid Device Object.\r
\r
+    Buffer               Buffer which on return will contain the physical\r
+                         descriptor if one exists for the specified device\r
+                         handle\r
+\r
+    BufferLength         Length of buffer (in bytes)\r
+\r
+\r
+Return Value:\r
+    TRUE if successful\r
+    FALSE otherwise  -- Use GetLastError() to get extended error information\r
+--*/\r
+\r
+BOOLEAN __stdcall\r
+HidD_GetManufacturerString (\r
+   IN    HANDLE   HidDeviceObject,\r
+   OUT   PVOID    Buffer,\r
+   IN    ULONG    BufferLength\r
+   );\r
+/*++\r
+Routine Description:\r
+    This function retrieves the manufacturer string from the specified \r
+    Hid device.  \r
+\r
+Arguments:\r
+    HidDeviceObject      A handle to a Hid Device Object.\r
\r
+    Buffer               Buffer which on return will contain the manufacturer\r
+                         string returned from the device.  This string is a \r
+                         wide-character string\r
+\r
+    BufferLength         Length of Buffer (in bytes)\r
+\r
+\r
+Return Value:\r
+    TRUE if successful\r
+    FALSE otherwise  -- Use GetLastError() to get extended error information\r
+--*/\r
+\r
+BOOLEAN __stdcall\r
+HidD_GetProductString (\r
+   IN    HANDLE   HidDeviceObject,\r
+   OUT   PVOID    Buffer,\r
+   IN    ULONG    BufferLength\r
+   );\r
+/*++\r
+Routine Description:\r
+    This function retrieves the product string from the specified \r
+    Hid device.  \r
+\r
+Arguments:\r
+    HidDeviceObject      A handle to a Hid Device Object.\r
\r
+    Buffer               Buffer which on return will contain the product\r
+                         string returned from the device.  This string is a \r
+                         wide-character string\r
+\r
+    BufferLength         Length of Buffer (in bytes)\r
+\r
+\r
+Return Value:\r
+    TRUE if successful\r
+    FALSE otherwise  -- Use GetLastError() to get extended error information\r
+--*/\r
+\r
+BOOLEAN __stdcall\r
+HidD_GetIndexedString (\r
+   IN    HANDLE   HidDeviceObject,\r
+   IN    ULONG    StringIndex,\r
+   OUT   PVOID    Buffer,\r
+   IN    ULONG    BufferLength\r
+   );\r
+/*++\r
+Routine Description:\r
+    This function retrieves a string from the specified Hid device that is\r
+    specified with a certain string index.\r
+\r
+Arguments:\r
+    HidDeviceObject      A handle to a Hid Device Object.\r
\r
+    StringIndex          Index of the string to retrieve\r
+\r
+    Buffer               Buffer which on return will contain the product\r
+                         string returned from the device.  This string is a \r
+                         wide-character string\r
+\r
+    BufferLength         Length of Buffer (in bytes)\r
+\r
+Return Value:\r
+    TRUE if successful\r
+    FALSE otherwise  -- Use GetLastError() to get extended error information\r
+--*/\r
+\r
+BOOLEAN __stdcall\r
+HidD_GetSerialNumberString (\r
+   IN    HANDLE   HidDeviceObject,\r
+   OUT   PVOID    Buffer,\r
+   IN    ULONG    BufferLength\r
+   );\r
+/*++\r
+Routine Description:\r
+    This function retrieves the serial number string from the specified \r
+    Hid device.  \r
+\r
+Arguments:\r
+    HidDeviceObject      A handle to a Hid Device Object.\r
\r
+    Buffer               Buffer which on return will contain the serial number\r
+                         string returned from the device.  This string is a \r
+                         wide-character string\r
+\r
+    BufferLength         Length of Buffer (in bytes)\r
+\r
+Return Value:\r
+    TRUE if successful\r
+    FALSE otherwise  -- Use GetLastError() to get extended error information\r
+--*/\r
+\r
+\r
+#include <poppack.h>\r
+\r
+#endif\r
Impressum, Datenschutz