信宜玉都风情网

搜索
开启左侧

USB API函数

[复制链接]
骆海深 发表于 2012-12-24 10:53 | 显示全部楼层 |阅读模式

信宜-玉都风情网欢迎您的到来,注册后,您将能玩到更多好玩的功能!信宜人的网上家园,网聚信宜人的力量。

您需要 登录 才可以下载或查看,没有账号?注册会员

x
   为了开发一个解密软件,只花了半日的时间写USB API函数,调试总是有问题。年尾近了。大量工作,烦得要命。
Public Declare Function CloseHandle _
    Lib "kernel32" _
    (ByVal hObject As Long) _
As Long
关闭设备
Public Declare Function CreateFile _
    Lib "kernel32" _
    Alias "CreateFileA" _
    (ByVal lpFileName As String, _
    ByVal dwDesiredAccess As Long, _
    ByVal dwShareMode As Long, _
    ByRef lpSecurityAttributes As Long, _
    ByVal dwCreationDisposition As Long, _
    ByVal dwFlagsAndAttributes As Long, _
    ByVal hTemplateFile As Long) _
As Long
取得设备表示代号
Public Declare Function FormatMessage _
    Lib "kernel32" _
    Alias "FormatMessageA" _
    (ByVal dwFlags As Long, _
    ByRef lpSource As Any, _
    ByVal dwMessageId As Long, _
    ByVal dwLanguageZId As Long, _
    ByVal lpBuffer As String, _
    ByVal nSize As Long, _
    ByVal Arguments As Long) _
As Long
Public Declare Function HidD_FreePreparsedData _
    Lib "hid.dll" _
    (ByRef PreparsedData As Long) _
As Long
释放缓冲区
Public Declare Function HidD_GetAttributes _
    Lib "hid.dll" _
    (ByVal HidDeviceObject As Long, _
    ByRef Attributes As HIDD_ATTRIBUTES) _
As Long
'取得厂商与产品的ID
Public Declare Function HidD_GetHidGuid _
Lib "hid.dll"
_ (ByRef HidGuid As GUID) _
As Long
取得HID群组的GUID
Public Declare Function HidD_GetPreparsedData _
    Lib "hid.dll" _
    (ByVal HidDeviceObject As Long, _
    ByRef PreparsedData As Long) _
As Long
取得包含设备能力的缓冲区指针
Public Declare Function HidP_GetCaps _
    Lib "hid.dll" _
    (ByVal PreparsedData As Long, _
    ByRef Capabilities As HIDP_CAPS) _
As Long
取得设备的能力
Public Declare Function HidP_GetValueCaps _
    Lib "hid.dll" _
    (ByVal ReportType As Integer, _
    ByRef ValueCaps As Byte, _
    ByRef ValueCapsLength As Integer, _
    ByVal PreparsedData As Long) _
As Long
取得数值的能力      
Public Declare Function ReadFile _
    Lib "kernel32" _
    (ByVal hFile As Long, _
    ByRef lpBuffer As Byte, _
    ByVal nNumberOfBytesToRead As Long, _
    ByRef lpNumberOfBytesRead As Long, _
    ByVal lpOverlapped As Long) _
As Long
从设备读取输入报告
Public Declare Function RtlMoveMemory _
    Lib "kernel32" _
    (dest As Any, _
    src As Any, _
    ByVal Count As Long) _
As Long
Public Declare Function SetupDiDestroyDeviceInfoList _
    Lib "setupapi.dll" _
    (ByVal DeviceInfoSet As Long) _
As Long
释放hDevInfo数组
Public Declare Function SetupDiEnumDeviceInterfaces _
    Lib "setupapi.dll" _
    (ByVal DeviceInfoSet As Long, _
    ByVal DeviceInfoData As Long, _
    ByRef InterfaceClassGuid As GUID, _
    ByVal MemberIndex As Long, _
    ByRef DeviceInterfaceData As SP_DEVICE_INTERFACE_DATA) _
As Long
识别每个HID接口
Public Declare Function SetupDiGetClassDevs _
    Lib "setupapi.dll" _
    Alias "SetupDiGetClassDevsA" _
    (ByRef ClassGuid As GUID, _
    ByVal Enumerator As String, _
    ByVal hwndParent As Long, _
    ByVal Flags As Long) _
As Long
取得所有HID信息的结构数组
Public Declare Function SetupDiGetDeviceInterfaceDetail _
   Lib "setupapi.dll" _
   Alias "SetupDiGetDeviceInterfaceDetailA" _
   (ByVal DeviceInfoSet As Long, _
   ByRef DeviceInterfaceData As SP_DEVICE_INTERFACE_DATA, _
   ByVal DeviceInterfaceDetailData As Long, _
   ByVal DeviceInterfaceDetailDataSize As Long, _
   ByRef RequiredSize As Long, _
   ByVal DeviceInfoData As Long) _
As Long
   取得设备的详细信息
Public Declare Function WriteFile _
    Lib "kernel32" _
    (ByVal hFile As Long, _
    ByRef lpBuffer As Byte, _
    ByVal nNumberOfBytesToWrite As Long, _
    ByRef lpNumberOfBytesWritten As Long, _
    ByVal lpOverlapped As Long) _
As Long
传送输出报告给设备
Declare Function DeviceIoControl Lib "kernel32" Alias "DeviceIoContro
(ByVal hDevice As Long, ByVal dwIoControlCode As Long, lpInBuffer As Any, ByVal nInBufferSize As Long, lpOutBuffer As Any, ByVal nOutBufferSize As Long, lpBytesReturned As Long, lpOverlapped As OVERLAPPED) As Long        
对设备执行指定的操作
HidD_GetInputReport(IN HANDLE  HidDeviceObject,
           OUT PVOID ReportBuffer, IN ULONG ReportBufferLength);
通过控制端点0读取报告的函数
HidD_SetOutputReport(IN HANDLE  HidDeviceObject,
           OUT PVOID ReportBuffer, IN ULONG ReportBufferLength);
通过控制端点0发送报告的函数
l


信宜人的网上家园,网聚信宜人的力量!   如果您想了解更多最新资讯,请关注信宜玉都风情网微信公众号:www06681com
神棍二师兄 发表于 2012-12-24 11:21 | 显示全部楼层
{:soso_e179:}
信宜人的网上家园,网聚信宜人的力量!   如果您想了解更多最新资讯,请关注信宜玉都风情网微信公众号:www06681com
回复 支持 反对

使用道具 举报

希莱恩 发表于 2012-12-24 15:31 | 显示全部楼层
你公开代码矛怕被人偷啊?
信宜人的网上家园,网聚信宜人的力量!   如果您想了解更多最新资讯,请关注信宜玉都风情网微信公众号:www06681com
回复 支持 反对

使用道具 举报

现象 发表于 2012-12-24 16:23 | 显示全部楼层
骆哥有什么好用的软件共享下
信宜人的网上家园,网聚信宜人的力量!   如果您想了解更多最新资讯,请关注信宜玉都风情网微信公众号:www06681com
回复 支持 反对

使用道具 举报

 楼主| 骆海深 发表于 2012-12-24 16:35 | 显示全部楼层
我爱桃子 发表于 2012-12-24 16:23
骆哥有什么好用的软件共享下

软件不适合你用
信宜人的网上家园,网聚信宜人的力量!   如果您想了解更多最新资讯,请关注信宜玉都风情网微信公众号:www06681com
回复 支持 反对

使用道具 举报

 楼主| 骆海深 发表于 2012-12-24 16:36 | 显示全部楼层
希莱恩 发表于 2012-12-24 15:31
你公开代码矛怕被人偷啊?

没有完成公开。。。。。。。。
信宜人的网上家园,网聚信宜人的力量!   如果您想了解更多最新资讯,请关注信宜玉都风情网微信公众号:www06681com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

闲聊灌水

    闲聊灌水

    板块简介:闲来没事,随便聊聊,聊人生

  • 今日主题: 0/全部主题: 91879
  •  发布规则

      1.论坛环境需要大家共同珍惜,在玉都风情网尽可能给予大家最大的自由限度的同时,也敬请大家不要恶意灌水.

      2.适当顾及一下其他会员的感受,同一类型的帖子尽可能发在同一条主题帖内,连续发同一类型超过五条连续的主题帖子,视为恶意灌水,第一次发,予以劝告,第二次恶意再发,示以警告,第三次恶意发将会删除,第四次发将会封闭ID处理,谢谢配合。

      3.尽量不要在一个主题帖内重复回复相同的内容进行恶意灌水或把相同的回复内容在不同主题帖子中回复。违者可能会被酌情作出处理.

      4.请勿发表违反国家四项基本原则,涉及反动反政反党的帖子,以及色情内容和其它违法的内容。

      5.如果您某天发现了自己的帖子或评论抑或回复不见了,如果您某天发现自己被禁言一至数天或永久禁言,请参考以上4条。


      回复小贴士:
      1.类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是一个令人沮丧的反馈信息。

      2.请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

     热点图文

     最新动态

    关闭

    站长推荐上一条 /1 下一条

    7 X 24小时在线客服

    电话:0668-8884681

    手机:13510735541

    客服QQ1:1592772589,客服QQ2:1368203218
    邮件:admin@06681.com
    Copyright © 2018-2022 信宜玉都风情网版权所有 All Rights Reserved
    免责申明:本网不承担任何由内容提供商提供的信息所引起的争议和法律责任
    Powered by Discuz! X3.3 技术支持:信宜玉都风情 粤ICP备20049602号-1