亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hidsdi.h

?? 一個WinXP操作平臺下對HID設備進行讀寫操作的例子.用VC6.0編寫.
?? H
字號:
/*++

Copyright (c) Microsoft Corporation. All rights reserved.

Module Name:

    HIDSDI.H

Abstract:

    This module contains the PUBLIC definitions for the
    code that implements the HID dll.

Environment:

    Kernel & user mode

--*/


#ifndef _HIDSDI_H
#define _HIDSDI_H

#include <pshpack4.h>

//#include "wtypes.h"

//#include <windef.h>
//#include <win32.h>
//#include <basetyps.h>

typedef LONG NTSTATUS;
#include "hidusage.h"
#include "hidpi.h"

typedef struct _HIDD_CONFIGURATION {
    PVOID    cookie;
    ULONG    size;
    ULONG    RingBufferSize;
} HIDD_CONFIGURATION, *PHIDD_CONFIGURATION;

typedef struct _HIDD_ATTRIBUTES {
    ULONG   Size; // = sizeof (struct _HIDD_ATTRIBUTES)

    //
    // Vendor ids of this hid device
    //
    USHORT  VendorID;
    USHORT  ProductID;
    USHORT  VersionNumber;

    //
    // Additional fields will be added to the end of this structure.
    //
} HIDD_ATTRIBUTES, *PHIDD_ATTRIBUTES;


BOOLEAN __stdcall
HidD_GetAttributes (
    IN  HANDLE              HidDeviceObject,
    OUT PHIDD_ATTRIBUTES    Attributes
    );
/*++
Routine Description:
    Fill in the given HIDD_ATTRIBUTES structure with the attributes of the
    given hid device.

--*/


void __stdcall
HidD_GetHidGuid (
   OUT   LPGUID   HidGuid
   );

BOOLEAN __stdcall
HidD_GetPreparsedData (
   IN    HANDLE                  HidDeviceObject,
   OUT   PHIDP_PREPARSED_DATA  * PreparsedData
   );
/*++
Routine Description:
    Given a handle to a valid Hid Class Device Object, retrieve the preparsed
    data for the device.  This routine will allocate the appropriately 
    sized buffer to hold this preparsed data.  It is up to client to call
    HidP_FreePreparsedData to free the memory allocated to this structure when
    it is no longer needed.

Arguments:
   HidDeviceObject A handle to a Hid Device that the client obtains using 
                   a call to CreateFile on a valid Hid device string name.
                   The string name can be obtained using standard PnP calls.

   PreparsedData   An opaque data structure used by other functions in this 
                   library to retrieve information about a given device.

Return Value:
   TRUE if successful.
   FALSE otherwise  -- Use GetLastError() to get extended error information
--*/

BOOLEAN __stdcall
HidD_FreePreparsedData (
   IN    PHIDP_PREPARSED_DATA PreparsedData
   );

BOOLEAN __stdcall
HidD_FlushQueue (
   IN    HANDLE                HidDeviceObject
   );
/*++
Routine Description:
    Flush the input queue for the given HID device.

Arguments:
   HidDeviceObject A handle to a Hid Device that the client obtains using 
                   a call to CreateFile on a valid Hid device string name.
                   The string name can be obtained using standard PnP calls.

Return Value:
   TRUE if successful
   FALSE otherwise  -- Use GetLastError() to get extended error information
--*/

BOOLEAN __stdcall
HidD_GetConfiguration (
   IN   HANDLE               HidDeviceObject,
   OUT  PHIDD_CONFIGURATION  Configuration,
   IN   ULONG                ConfigurationLength
   );
/*++
Routine Description:
    Get the configuration information for this Hid device

Arguments:
   HidDeviceObject      A handle to a Hid Device Object.

   Configuration        A configuration structure.  HidD_GetConfiguration MUST
                        be called before the configuration can be modified and
                        set using HidD_SetConfiguration

   ConfigurationLength  That is ``sizeof (HIDD_CONFIGURATION)''. Using this
                        parameter, we can later increase the length of the 
                        configuration array and not break older apps.

Return Value:
   TRUE if successful
   FALSE otherwise  -- Use GetLastError() to get extended error information
--*/

BOOLEAN __stdcall
HidD_SetConfiguration (
   IN   HANDLE               HidDeviceObject,
   IN   PHIDD_CONFIGURATION  Configuration,
   IN   ULONG                ConfigurationLength
   );
/*++
Routine Description:
   Set the configuration information for this Hid device...
   
   NOTE: HidD_GetConfiguration must be called to retrieve the current 
         configuration information before this information can be modified 
         and set.

Arguments:
    HidDeviceObject      A handle to a Hid Device Object.
 
    Configuration        A configuration structure.  HidD_GetConfiguration MUST
                         be called before the configuration can be modified and
                         set using HidD_SetConfiguration
 
    ConfigurationLength  That is ``sizeof (HIDD_CONFIGURATION)''. Using this
                         parameter, we can later increase the length of the 
                         configuration array and not break older apps.

Return Value:
    TRUE if successful
    FALSE otherwise  -- Use GetLastError() to get extended error information
--*/

BOOLEAN __stdcall
HidD_GetFeature (
   IN    HANDLE   HidDeviceObject,
   OUT   PVOID    ReportBuffer,
   IN    ULONG    ReportBufferLength
   );
/*++
Routine Description:
    Retrieve a feature report from a HID device.

Arguments:
    HidDeviceObject      A handle to a Hid Device Object.
 
    ReportBuffer         The buffer that the feature report should be placed 
                         into.  The first byte of the buffer should be set to
                         the report ID of the desired report
 
    ReportBufferLength   The size (in bytes) of ReportBuffer.  This value 
                         should be greater than or equal to the 
                         FeatureReportByteLength field as specified in the 
                         HIDP_CAPS structure for the device
Return Value:
    TRUE if successful
    FALSE otherwise  -- Use GetLastError() to get extended error information
--*/

BOOLEAN __stdcall
HidD_SetFeature (
   IN    HANDLE   HidDeviceObject,
   IN    PVOID    ReportBuffer,
   IN    ULONG    ReportBufferLength
   );
/*++
Routine Description:
    Send a feature report to a HID device.

Arguments:
    HidDeviceObject      A handle to a Hid Device Object.
 
    ReportBuffer         The buffer of the feature report to send to the device
 
    ReportBufferLength   The size (in bytes) of ReportBuffer.  This value 
                         should be greater than or equal to the 
                         FeatureReportByteLength field as specified in the 
                         HIDP_CAPS structure for the device
Return Value:
    TRUE if successful
    FALSE otherwise  -- Use GetLastError() to get extended error information
--*/

BOOLEAN __stdcall
HidD_GetInputReport (
   IN    HANDLE   HidDeviceObject,
   OUT   PVOID    ReportBuffer,
   IN    ULONG    ReportBufferLength
   );
/*++
Routine Description:
    Retrieve an input report from a HID device.

Arguments:
    HidDeviceObject      A handle to a Hid Device Object.
 
    ReportBuffer         The buffer that the input report should be placed 
                         into.  The first byte of the buffer should be set to
                         the report ID of the desired report
 
    ReportBufferLength   The size (in bytes) of ReportBuffer.  This value 
                         should be greater than or equal to the 
                         InputReportByteLength field as specified in the 
                         HIDP_CAPS structure for the device
Return Value:
    TRUE if successful
    FALSE otherwise  -- Use GetLastError() to get extended error information
--*/

BOOLEAN __stdcall
HidD_SetOutputReport (
   IN    HANDLE   HidDeviceObject,
   IN    PVOID    ReportBuffer,
   IN    ULONG    ReportBufferLength
   );
/*++
Routine Description:
    Send an output report to a HID device.

Arguments:
    HidDeviceObject      A handle to a Hid Device Object.
 
    ReportBuffer         The buffer of the output report to send to the device
 
    ReportBufferLength   The size (in bytes) of ReportBuffer.  This value 
                         should be greater than or equal to the 
                         OutputReportByteLength field as specified in the 
                         HIDP_CAPS structure for the device
Return Value:
    TRUE if successful
    FALSE otherwise  -- Use GetLastError() to get extended error information
--*/

BOOLEAN __stdcall
HidD_GetNumInputBuffers (
    IN  HANDLE  HidDeviceObject,
    OUT PULONG  NumberBuffers
    );
/*++
Routine Description:
    This function returns the number of input buffers used by the specified
    file handle to the Hid device.  Each file object has a number of buffers
    associated with it to queue reports read from the device but which have
    not yet been read by the user-mode app with a handle to that device.

Arguments:
    HidDeviceObject      A handle to a Hid Device Object.
 
    NumberBuffers        Number of buffers currently being used for this file
                         handle to the Hid device

Return Value:
    TRUE if successful
    FALSE otherwise  -- Use GetLastError() to get extended error information
--*/

BOOLEAN __stdcall
HidD_SetNumInputBuffers (
    IN  HANDLE HidDeviceObject,
    OUT ULONG  NumberBuffers
    );
/*++

Routine Description:
    This function sets the number of input buffers used by the specified
    file handle to the Hid device.  Each file object has a number of buffers
    associated with it to queue reports read from the device but which have
    not yet been read by the user-mode app with a handle to that device.

Arguments:
    HidDeviceObject      A handle to a Hid Device Object.
 
    NumberBuffers        New number of buffers to use for this file handle to
                         the Hid device

Return Value:
    TRUE if successful
    FALSE otherwise  -- Use GetLastError() to get extended error information
--*/

BOOLEAN __stdcall
HidD_GetPhysicalDescriptor (
   IN    HANDLE   HidDeviceObject,
   OUT   PVOID    Buffer,
   IN    ULONG    BufferLength
   );
/*++
Routine Description:
    This function retrieves the raw physical descriptor for the specified
    Hid device.  

Arguments:
    HidDeviceObject      A handle to a Hid Device Object.
 
    Buffer               Buffer which on return will contain the physical
                         descriptor if one exists for the specified device
                         handle

    BufferLength         Length of buffer (in bytes)


Return Value:
    TRUE if successful
    FALSE otherwise  -- Use GetLastError() to get extended error information
--*/

BOOLEAN __stdcall
HidD_GetManufacturerString (
   IN    HANDLE   HidDeviceObject,
   OUT   PVOID    Buffer,
   IN    ULONG    BufferLength
   );
/*++
Routine Description:
    This function retrieves the manufacturer string from the specified 
    Hid device.  

Arguments:
    HidDeviceObject      A handle to a Hid Device Object.
 
    Buffer               Buffer which on return will contain the manufacturer
                         string returned from the device.  This string is a 
                         wide-character string

    BufferLength         Length of Buffer (in bytes)


Return Value:
    TRUE if successful
    FALSE otherwise  -- Use GetLastError() to get extended error information
--*/

BOOLEAN __stdcall
HidD_GetProductString (
   IN    HANDLE   HidDeviceObject,
   OUT   PVOID    Buffer,
   IN    ULONG    BufferLength
   );
/*++
Routine Description:
    This function retrieves the product string from the specified 
    Hid device.  

Arguments:
    HidDeviceObject      A handle to a Hid Device Object.
 
    Buffer               Buffer which on return will contain the product
                         string returned from the device.  This string is a 
                         wide-character string

    BufferLength         Length of Buffer (in bytes)


Return Value:
    TRUE if successful
    FALSE otherwise  -- Use GetLastError() to get extended error information
--*/

BOOLEAN __stdcall
HidD_GetIndexedString (
   IN    HANDLE   HidDeviceObject,
   IN    ULONG    StringIndex,
   OUT   PVOID    Buffer,
   IN    ULONG    BufferLength
   );
/*++
Routine Description:
    This function retrieves a string from the specified Hid device that is
    specified with a certain string index.

Arguments:
    HidDeviceObject      A handle to a Hid Device Object.
 
    StringIndex          Index of the string to retrieve

    Buffer               Buffer which on return will contain the product
                         string returned from the device.  This string is a 
                         wide-character string

    BufferLength         Length of Buffer (in bytes)

Return Value:
    TRUE if successful
    FALSE otherwise  -- Use GetLastError() to get extended error information
--*/

BOOLEAN __stdcall
HidD_GetSerialNumberString (
   IN    HANDLE   HidDeviceObject,
   OUT   PVOID    Buffer,
   IN    ULONG    BufferLength
   );
/*++
Routine Description:
    This function retrieves the serial number string from the specified 
    Hid device.  

Arguments:
    HidDeviceObject      A handle to a Hid Device Object.
 
    Buffer               Buffer which on return will contain the serial number
                         string returned from the device.  This string is a 
                         wide-character string

    BufferLength         Length of Buffer (in bytes)

Return Value:
    TRUE if successful
    FALSE otherwise  -- Use GetLastError() to get extended error information
--*/

BOOLEAN __stdcall
HidD_GetMsGenreDescriptor (
   IN    HANDLE   HidDeviceObject,
   OUT   PVOID    Buffer,
   IN    ULONG    BufferLength
   );
/*++
Routine Description:
    This function retrieves the Microsoft Genre descriptor from the specified 
    Hid device.  

Arguments:
    HidDeviceObject      A handle to a Hid Device Object.
 
    Buffer               Buffer which on return will contain the descriptor
                         returned from the device.
                         
    BufferLength         Length of Buffer (in bytes)

Return Value:
    TRUE if successful
    FALSE otherwise  -- Use GetLastError() to get extended error information
--*/


#include <poppack.h>

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品中文字幕一区二区| 91亚洲精华国产精华精华液| 国产网红主播福利一区二区| 色老头久久综合| 国产suv精品一区二区6| 国产精品亚洲а∨天堂免在线| 青青国产91久久久久久| 极品少妇xxxx偷拍精品少妇| 正在播放一区二区| 青青草伊人久久| 久久久午夜精品理论片中文字幕| 琪琪久久久久日韩精品| 欧美一区二区三区日韩视频| 91热门视频在线观看| 94-欧美-setu| 欧美日韩国产三级| 欧美成人乱码一区二区三区| 国产精品嫩草影院av蜜臀| 亚洲欧美日韩国产成人精品影院 | 国产日产欧美一区| 久久国产综合精品| 国产欧美精品在线观看| 在线一区二区视频| 美女网站色91| 亚洲欧美综合在线精品| 91麻豆精品国产91久久久更新时间| 日韩精品免费专区| 中文字幕免费观看一区| 欧美视频一区二区三区四区 | 最近中文字幕一区二区三区| 欧美日韩情趣电影| 国产二区国产一区在线观看| 亚洲午夜免费视频| 国产欧美日韩视频一区二区| 欧美精品一二三区| 成人动漫一区二区在线| 免费成人在线视频观看| 亚洲男人都懂的| 精品欧美乱码久久久久久 | 精品福利av导航| av网站一区二区三区| 九色综合狠狠综合久久| 伊人开心综合网| 国产精品五月天| 欧美一区二区三区影视| 色狠狠色噜噜噜综合网| 岛国av在线一区| 日韩成人av影视| 一区二区三区日本| 欧美国产日本韩| 久久久亚洲精品石原莉奈| 欧美美女视频在线观看| 色噜噜狠狠成人网p站| 不卡欧美aaaaa| 国产精品正在播放| 久久精品久久99精品久久| 亚洲一区二区三区四区中文字幕 | 亚洲欧美日韩人成在线播放| 久久精品水蜜桃av综合天堂| 日韩一二三四区| 欧美一区二区福利视频| 欧美性高清videossexo| 91麻豆蜜桃一区二区三区| 福利一区二区在线| 韩国精品久久久| 青青草伊人久久| 日本免费在线视频不卡一不卡二| 亚洲一区在线看| 亚洲国产精品久久不卡毛片| 亚洲精品网站在线观看| 亚洲免费在线看| 亚洲色图在线播放| 亚洲婷婷综合色高清在线| 中文字幕日韩精品一区| 中文字幕制服丝袜一区二区三区| 国产精品无码永久免费888| 欧美经典一区二区| 欧美激情一二三区| 自拍偷在线精品自拍偷无码专区| 中文字幕中文乱码欧美一区二区| 欧美国产一区二区在线观看| 国产精品久久久久影视| 综合自拍亚洲综合图不卡区| 亚洲精品视频在线观看免费| 一区二区三区波多野结衣在线观看 | 一区二区三区自拍| 一区二区三区四区国产精品| 夜色激情一区二区| 天天爽夜夜爽夜夜爽精品视频| 免费在线视频一区| 久久国产剧场电影| 国产成人免费视频精品含羞草妖精| 成人永久aaa| 日本电影欧美片| 88在线观看91蜜桃国自产| 日韩精品一区国产麻豆| 久久精品免费在线观看| 最近日韩中文字幕| 日韩精品亚洲一区| 国产乱理伦片在线观看夜一区| 成人18视频日本| 欧美主播一区二区三区美女| 日韩免费性生活视频播放| 国产日产欧美一区二区视频| 伊人一区二区三区| 麻豆国产欧美一区二区三区| 国产成人午夜99999| 色婷婷一区二区| 欧美r级电影在线观看| 国产精品传媒视频| 偷拍自拍另类欧美| 久久综合色综合88| 久久久一区二区三区捆绑**| 国产精品1区2区| 色综合天天综合网天天看片| 色婷婷综合在线| 欧美人妖巨大在线| 久久久久久99精品| 夜夜揉揉日日人人青青一国产精品| 综合网在线视频| 蜜桃久久av一区| 成人精品高清在线| 日韩亚洲电影在线| 国产mv日韩mv欧美| 欧美日韩一区二区三区在线| 26uuu另类欧美亚洲曰本| 中文字幕日韩精品一区| 美女视频一区在线观看| 97精品久久久久中文字幕| 日韩情涩欧美日韩视频| 亚洲欧洲制服丝袜| 蜜臀精品久久久久久蜜臀| 91麻豆免费看| 日本一区二区视频在线| 免费久久99精品国产| 色婷婷久久99综合精品jk白丝| 久久一区二区视频| 丝袜诱惑制服诱惑色一区在线观看| 不卡的电影网站| 久久精品视频一区二区三区| 蜜臀久久99精品久久久久宅男| 欧洲精品一区二区| 中文字幕一区二区视频| 国产一区二区三区久久久| 欧美一区永久视频免费观看| 亚洲欧美区自拍先锋| 国产91丝袜在线18| 久久久久久久综合日本| 日韩av一区二区在线影视| 在线观看免费亚洲| 亚洲三级久久久| 不卡的电视剧免费网站有什么| 欧美精品一区视频| 蜜桃视频第一区免费观看| 欧美亚洲图片小说| 亚洲欧美日韩国产综合在线| 99久久精品免费看国产| 国产精品传媒入口麻豆| 成人亚洲精品久久久久软件| 国产午夜精品在线观看| 国产乱人伦精品一区二区在线观看 | 中文字幕第一页久久| 国产剧情一区在线| 久久久久久久久久久久久久久99 | 亚洲另类色综合网站| 91视频在线看| 日韩在线一区二区| 日韩精品一区二区三区在线观看| 成人综合婷婷国产精品久久| 综合久久一区二区三区| 欧美性生活影院| 色婷婷综合激情| 亚洲另类在线一区| 亚洲成人av在线电影| 在线观看不卡一区| 亚洲精品高清在线| 欧美三级三级三级爽爽爽| 亚洲综合在线免费观看| 亚洲一区二区三区在线看| 一区二区三区在线免费播放| 欧美成人精品1314www| 色婷婷激情一区二区三区| 久久精品99国产精品| 一区二区日韩电影| 亚洲国产精品激情在线观看| 日韩免费高清视频| 亚洲一区二区在线观看视频| 99久久综合色| 在线综合亚洲欧美在线视频| 久久久久久久久久久久久女国产乱| 国产精品88av| 日韩毛片高清在线播放| 欧美日韩国产综合视频在线观看| 婷婷成人综合网| 久久综合色综合88| 国内精品久久久久影院色| 国产伦精品一区二区三区免费 | 国产精品一二三四| 亚洲乱码日产精品bd| 欧美tickling网站挠脚心|