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

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

?? hid.h

?? 真正完整
?? H
字號:
/*++

Copyright (c) Microsoft 1998, All Rights Reserved

Module Name:

    hid.h

Abstract:

    This module contains the declarations and definitions for use with the
    hid user mode client sample driver.

Environment:

    Kernel & user mode

--*/

#ifndef HID_H
#define HID_H

#include "hidsdi.h"
#include "setupapi.h"

typedef struct _SP_FNCLASS_DEVICE_DATA {
   DWORD cbSize;
   GUID  FunctionClassGuid;
   TCHAR DevicePath [ANYSIZE_ARRAY];
} SP_FNCLASS_DEVICE_DATA, *PSP_FNCLASS_DEVICE_DATA;

BOOLEAN
SetupDiGetFunctionClassDeviceInfo (
   IN    HDEVINFO                DeviceInfoSet,
   IN    PSP_DEVINFO_DATA        DeviceInfoData,
   OUT   PSP_FNCLASS_DEVICE_DATA FunctionClassDeviceData,
   IN    DWORD                   FunctionClassDeviceDataSize,
   OUT   PDWORD                  RequiredSize
   );

#define ASSERT(x)

//
// A structure to hold the steady state data received from the hid device.
// Each time a read packet is received we fill in this structure.
// Each time we wish to write to a hid device we fill in this structure.
// This structure is here only for convenience.  Most real applications will
// have a more efficient way of moving the hid data to the read, write, and
// feature routines.
//
typedef struct _HID_DATA {
   BOOLEAN     IsButtonData;
   UCHAR       Reserved;
   USAGE       UsagePage;   // The usage page for which we are looking.
   ULONG       Status;      // The last status returned from the accessor function
                            // when updating this field.
   ULONG       ReportID;    // ReportID for this given data structure
   BOOLEAN     IsDataSet;   // Variable to track whether a given data structure
                            //  has already been added to a report structure

   union {
      struct {
         ULONG       UsageMin;       // Variables to track the usage minimum and max
         ULONG       UsageMax;       // If equal, then only a single usage
         ULONG       MaxUsageLength; // Usages buffer length.
         PUSAGE      Usages;         // list of usages (buttons ``down'' on the device.

      } ButtonData;
      struct {
         USAGE       Usage; // The usage describing this value;
         USHORT      Reserved;

         ULONG       Value;
         LONG        ScaledValue;
      } ValueData;
   };
} HID_DATA, *PHID_DATA;

typedef struct _HID_DEVICE {   
    PCHAR                DevicePath;
    HANDLE               HidDevice; // A file handle to the hid device.
    BOOL                 OpenedForRead;
    BOOL                 OpenedForWrite;
    BOOL                 OpenedOverlapped;
    BOOL                 OpenedExclusive;
    
    PHIDP_PREPARSED_DATA Ppd; // The opaque parser info describing this device
    HIDP_CAPS            Caps; // The Capabilities of this hid device.
    HIDD_ATTRIBUTES      Attributes;

    PCHAR                InputReportBuffer;
    PHID_DATA            InputData; // array of hid data structures
    ULONG                InputDataLength; // Num elements in this array.
    PHIDP_BUTTON_CAPS    InputButtonCaps;
    PHIDP_VALUE_CAPS     InputValueCaps;

    PCHAR                OutputReportBuffer;
    PHID_DATA            OutputData;
    ULONG                OutputDataLength;
    PHIDP_BUTTON_CAPS    OutputButtonCaps;
    PHIDP_VALUE_CAPS     OutputValueCaps;

    PCHAR                FeatureReportBuffer;
    PHID_DATA            FeatureData;
    ULONG                FeatureDataLength;
    PHIDP_BUTTON_CAPS    FeatureButtonCaps;
    PHIDP_VALUE_CAPS     FeatureValueCaps;
} HID_DEVICE, *PHID_DEVICE;


BOOLEAN
OpenHidDevice (
    IN       PCHAR          DevicePath,
    IN       BOOL           HasReadAccess,
    IN       BOOL           HasWriteAccess,
    IN       BOOL           IsOverlapped,
    IN       BOOL           IsExclusive,
    IN       BOOL           GetDeviceInfo,
    IN OUT   PHID_DEVICE    HidDevice
);

BOOLEAN
FindKnownHidDevices (
   OUT PHID_DEVICE * HidDevices, // A array of struct _HID_DEVICE
   OUT PULONG        NumberDevices // the length of this array.
   );

BOOLEAN
FillDeviceInfo(
    IN  PHID_DEVICE HidDevice
);

VOID
CloseHidDevices (
   OUT PHID_DEVICE   HidDevices, // A array of struct _HID_DEVICE
   OUT ULONG         NumberDevices // the length of this array.
   );

VOID
CloseHidDevice (
    IN PHID_DEVICE   HidDevice,
    IN BOOL          FreeDeviceInfo
    );


BOOLEAN
Read (
   PHID_DEVICE    HidDevice
   );

BOOLEAN
ReadOverlapped (
    PHID_DEVICE     HidDevice,
    HANDLE          CompletionEvent
   );
   
BOOLEAN
Write (
   PHID_DEVICE    HidDevice
   );

BOOLEAN
UnpackReport (
   IN       PCHAR                ReportBuffer,
   IN       USHORT               ReportBufferLength,
   IN       HIDP_REPORT_TYPE     ReportType,
   IN OUT   PHID_DATA            Data,
   IN       ULONG                DataLength,
   IN       PHIDP_PREPARSED_DATA Ppd
   );

BOOLEAN
SetFeature (
   PHID_DEVICE    HidDevice
   );

BOOLEAN
GetFeature (
   PHID_DEVICE    HidDevice
   );

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人av电影在线观看| 亚洲高清不卡在线| 欧美丝袜丝nylons| 狠狠色丁香久久婷婷综合丁香| 国产精品久久久爽爽爽麻豆色哟哟 | 欧美午夜精品久久久久久超碰 | 色哟哟一区二区在线观看| 久99久精品视频免费观看| 亚洲精品国产高清久久伦理二区| 2023国产一二三区日本精品2022| 精品视频一区二区不卡| 97se亚洲国产综合自在线观| 精品播放一区二区| 91在线观看地址| 精品一二三四区| 亚洲成av人片在线观看| 国产精品家庭影院| 久久久三级国产网站| 欧美一区二区福利视频| 欧美日韩一本到| 在线免费观看视频一区| 成人高清视频在线| 国产一区二区三区国产| 青青青伊人色综合久久| 天天综合网天天综合色| 亚洲午夜久久久久久久久电影院| 亚洲色图第一区| 国产精品成人一区二区艾草| 中文av一区特黄| 国产精品美女久久久久高潮| 国产精品丝袜久久久久久app| 2024国产精品| 久久这里只有精品视频网| 欧美一区二区三区白人 | 日韩一卡二卡三卡四卡| 中文字幕一区二| 中文字幕一区二区三区乱码在线| 国产日韩欧美综合一区| 久久精品在线免费观看| 国产视频一区不卡| 久久久五月婷婷| 国产精品午夜在线| 亚洲男人天堂av网| 亚洲综合一区二区| 日日夜夜一区二区| 精品在线一区二区三区| 极品少妇xxxx偷拍精品少妇| 国产精品一区二区久久不卡| 国产精品亚洲午夜一区二区三区| 国产成人在线免费观看| 成人av网在线| 日本道精品一区二区三区| 欧美在线播放高清精品| 69av一区二区三区| 日韩欧美一二三区| 欧美国产精品中文字幕| 亚洲日本欧美天堂| 亚洲成av人片在www色猫咪| 免费成人美女在线观看.| 国产毛片一区二区| 91黄色激情网站| 欧美一区二区三区小说| 久久久久久久综合| 国产精品的网站| 亚洲国产成人porn| 国产在线一区二区| 91尤物视频在线观看| 欧美日韩中文字幕一区| 精品久久久久久无| 一区精品在线播放| 免费欧美在线视频| 成人丝袜视频网| 欧美日本国产视频| 日本一区二区三区四区| 亚洲一级电影视频| 国产精品18久久久久久久久久久久| 99精品视频一区| 宅男噜噜噜66一区二区66| 久久久国际精品| 一区二区三区四区中文字幕| 久久精品国产99| 91九色02白丝porn| 久久新电视剧免费观看| 亚洲永久免费视频| 国产成人av影院| 欧美精品久久久久久久久老牛影院| wwww国产精品欧美| 亚洲国产日韩综合久久精品| 国产福利一区二区三区| 9191久久久久久久久久久| 国产精品毛片久久久久久| 日韩高清电影一区| 91小视频在线免费看| 欧美一级二级在线观看| caoporm超碰国产精品| 成人免费精品视频| 69精品人人人人| 自拍偷拍欧美激情| 国产精品一区三区| 欧美日韩在线播放一区| 国产精品伦一区| 久久99久久99小草精品免视看| 97se亚洲国产综合在线| 久久久久久久久久看片| 青青草伊人久久| 91成人看片片| 国产精品卡一卡二卡三| 蜜桃av噜噜一区二区三区小说| 色妹子一区二区| 国产精品人妖ts系列视频| 精品亚洲国产成人av制服丝袜 | 欧美日韩精品一区二区天天拍小说 | 欧美精品欧美精品系列| 亚洲日本va在线观看| 国产成人在线视频免费播放| 精品国产123| 蜜桃av噜噜一区| 欧美一级在线观看| 日韩成人dvd| 91精品国产综合久久久久久久 | 成人国产在线观看| www国产精品av| 国产老妇另类xxxxx| 精品国产亚洲在线| 看片网站欧美日韩| 精品久久国产老人久久综合| 亚洲午夜精品在线| 欧美精品三级日韩久久| 日韩专区欧美专区| 91精品国产日韩91久久久久久| 亚洲日本在线看| 在线视频国产一区| 亚洲免费观看高清完整版在线观看熊| 日韩电影网1区2区| 91精品国产综合久久国产大片| 亚洲国产欧美在线| 欧美男男青年gay1069videost| 亚洲中国最大av网站| 欧美日本乱大交xxxxx| 日韩影院精彩在线| 91精品国产一区二区| 国模套图日韩精品一区二区| 久久久激情视频| av网站免费线看精品| 依依成人综合视频| 91精品国产综合久久香蕉麻豆| 理论片日本一区| 亚洲影院理伦片| 欧美在线一区二区| 亚洲国产视频在线| 日韩欧美精品在线视频| 久久国产人妖系列| 国产精品久久网站| 色天使色偷偷av一区二区| 视频一区国产视频| 久久综合色天天久久综合图片| 极品销魂美女一区二区三区| 久久久久国产精品人| 不卡视频在线观看| 亚洲国产裸拍裸体视频在线观看乱了| 欧美乱妇一区二区三区不卡视频 | 久久精品久久99精品久久| 久久久一区二区| 91丨porny丨蝌蚪视频| 亚洲不卡av一区二区三区| 日韩欧美国产一区在线观看| 成人免费看视频| 色素色在线综合| 久久99久久久久| 日韩码欧中文字| 欧美一区二区国产| 国产传媒日韩欧美成人| 一区二区免费视频| www久久久久| 欧美中文字幕久久 | 在线看国产一区二区| 午夜伊人狠狠久久| 久久午夜电影网| 欧美亚洲另类激情小说| 国产成人啪免费观看软件| 亚洲综合激情另类小说区| 久久伊99综合婷婷久久伊| 在线观看精品一区| 另类中文字幕网| 中文字幕永久在线不卡| 欧美午夜影院一区| 国内国产精品久久| 亚洲天堂免费看| 日韩三级电影网址| 色婷婷亚洲婷婷| 国产在线不卡一区| 亚洲一区二区三区视频在线播放 | 日韩综合一区二区| 精品国产亚洲在线| jlzzjlzz亚洲女人18| 一区二区三区成人| 欧美成人a∨高清免费观看| 在线播放国产精品二区一二区四区 | 成人美女视频在线观看18| 亚洲国产综合色|