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

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

?? hidsdi.h

?? 對HID類設備進行讀寫
?? 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一区二区三区免费野_久草精品视频
成人午夜电影小说| 精品少妇一区二区三区日产乱码| 国产免费观看久久| 色综合咪咪久久| 99视频有精品| 91美女片黄在线观看91美女| 色婷婷精品久久二区二区蜜臀av| 91麻豆自制传媒国产之光| 色婷婷av久久久久久久| 在线观看一区二区精品视频| 欧美日韩久久久久久| 欧美日韩一区久久| 欧美一区二区三区喷汁尤物| 精品国产三级a在线观看| 久久综合久久久久88| 国产日本欧洲亚洲| 1区2区3区欧美| 香蕉加勒比综合久久| 免费视频最近日韩| 国产精品资源网| 9色porny自拍视频一区二区| 在线观看区一区二| 欧美一区二区免费观在线| 日韩视频一区二区三区| 久久日一线二线三线suv| 中国av一区二区三区| 一区二区三区中文字幕精品精品 | 国产成人亚洲综合a∨猫咪| 波多野结衣欧美| 日本道色综合久久| 欧美一二三四区在线| 国产色综合久久| 欧美一级夜夜爽| 亚洲一区在线电影| 日韩av网站在线观看| 国产一区二区福利| 91免费版在线看| 日韩欧美一区二区在线视频| 国产婷婷色一区二区三区| 亚洲精品国产一区二区精华液 | 成人精品gif动图一区| 色偷偷久久一区二区三区| 91精品啪在线观看国产60岁| 久久先锋影音av鲁色资源| 一区二区久久久| 激情综合色丁香一区二区| 91丨九色porny丨蝌蚪| 欧美一区三区二区| 亚洲日本在线看| 精品一区二区免费看| 在线亚洲精品福利网址导航| 久久久久97国产精华液好用吗| 亚洲精选在线视频| 国产黄色精品网站| 在线不卡的av| 国产精品的网站| 蜜臀av一级做a爰片久久| 97se狠狠狠综合亚洲狠狠| 日韩欧美在线123| 一区二区在线观看视频| 国产美女娇喘av呻吟久久| 欧美日韩一区中文字幕| 国产精品毛片高清在线完整版 | 日韩一区二区中文字幕| 亚洲视频资源在线| 国内精品第一页| 欧美丰满美乳xxx高潮www| 成人免费小视频| 国产suv精品一区二区三区| 欧美日韩一区久久| 亚洲欧美视频在线观看| 国产91露脸合集magnet| 欧美一区二区三区影视| 亚洲国产综合视频在线观看| 成人激情免费网站| 久久久久久综合| 麻豆91在线观看| 777亚洲妇女| 亚洲国产精品尤物yw在线观看| 91在线无精精品入口| 国产三级欧美三级日产三级99| 久久av资源站| 欧美一区二区三区在线电影| 亚洲mv大片欧洲mv大片精品| 在线观看一区二区精品视频| 亚洲欧美日韩国产另类专区| av午夜精品一区二区三区| 久久久欧美精品sm网站| 国内精品在线播放| 日韩午夜激情视频| 青青草国产成人99久久| 91精品国产综合久久精品app| 一区二区三区四区不卡视频| 91丨porny丨中文| 亚洲欧美福利一区二区| av电影天堂一区二区在线| 国产精品久久久久影院老司| 成人美女在线视频| 国产精品午夜春色av| 不卡的电影网站| 亚洲欧洲精品天堂一级| www.久久久久久久久| 国产精品久久久久久久蜜臀| 国产风韵犹存在线视精品| 国产女主播一区| eeuss影院一区二区三区| 综合久久久久久| 91成人在线精品| 亚洲国产美女搞黄色| 欧美精品乱人伦久久久久久| 肉色丝袜一区二区| 日韩欧美一级二级三级久久久| 精品在线一区二区三区| 国产丝袜欧美中文另类| 波多野结衣一区二区三区| 亚洲女同ⅹxx女同tv| 在线观看欧美日本| 婷婷国产在线综合| 日韩精品一区二区三区四区视频| 久久成人av少妇免费| 国产日韩精品一区二区三区| 99精品视频在线观看| 亚洲综合成人在线视频| 91精品久久久久久久久99蜜臂| 久久精品久久综合| 中文字幕+乱码+中文字幕一区| 色综合久久久久综合体| 亚洲超丰满肉感bbw| 精品奇米国产一区二区三区| 1000部国产精品成人观看| 久久国产精品区| 中文一区在线播放| 91看片淫黄大片一级在线观看| 亚洲成人tv网| 欧美精品一区二区不卡| www.欧美.com| 日韩精品免费专区| 日本一区二区三区dvd视频在线 | 精品动漫一区二区三区在线观看| 国产91高潮流白浆在线麻豆| 综合在线观看色| 91精品国产麻豆| 成人av在线电影| 午夜精品福利一区二区三区蜜桃| 精品久久久久一区二区国产| 波多野结衣亚洲| 蜜臀av性久久久久蜜臀aⅴ | 国产成a人无v码亚洲福利| 一区二区三区在线观看欧美| 欧美一区二区三区小说| 成人av在线电影| 青娱乐精品视频| 亚洲欧美日韩中文字幕一区二区三区| 欧美精品日日鲁夜夜添| 成人激情图片网| 另类中文字幕网| 一区二区三区欧美视频| ww亚洲ww在线观看国产| 欧美丝袜丝交足nylons图片| 国v精品久久久网| 图片区日韩欧美亚洲| 中文字幕一区视频| 日韩三级视频中文字幕| 91啪亚洲精品| 国产专区欧美精品| 午夜天堂影视香蕉久久| 国产精品久久精品日日| 精品国产乱码久久久久久牛牛| 色噜噜狠狠色综合欧洲selulu| 国产综合色在线视频区| 五月婷婷久久丁香| 最新国产の精品合集bt伙计| 日韩美女一区二区三区| 欧美性猛片xxxx免费看久爱| 国产精品888| 青青草成人在线观看| 亚洲高清中文字幕| 成人免费一区二区三区视频| 久久久久久99精品| 欧美一区二区三区在线视频| 91成人免费在线视频| 成人午夜在线免费| 国产一区二区三区蝌蚪| 麻豆精品新av中文字幕| 香蕉成人伊视频在线观看| 一区二区三区中文字幕精品精品 | 亚洲精品国产a| 欧美激情综合五月色丁香小说| 精品日产卡一卡二卡麻豆| 欧美一区二区视频在线观看2022| 欧美性猛片aaaaaaa做受| av不卡一区二区三区| 成人h动漫精品一区二| 成人在线视频一区| 国产高清久久久久| 国产精品一区二区三区乱码| 激情欧美一区二区| 精品一区二区在线看| 蜜乳av一区二区三区| 久久精品理论片|