czcty
驱动牛犊
驱动牛犊
  • 注册日期2004-11-04
  • 最后登录2006-11-08
  • 粉丝0
  • 关注0
  • 积分100分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
阅读:1189回复:1

为什么API调用自己写的驱动程序可以,调用HID类驱动程序就不可以呢?

楼主#
更多 发布于:2005-02-24 14:04
我的设备是一个HID类设备,现在要写一个应用程序进行控制.程序如下:
us421.cpp
// us421.cpp : Defines the entry point for the console application.
#include \"stdafx.h\"
#include \"windows.h\"
#include \"stdio.h\"
#include \"winioctl.h\"
#include \"iostream.h\"
char completeDeviceName[256]=\"\\\\\\\\?\\\\usb#vid_0557&pid_2404#5&d4ccdbd&0&2#{36fc9e60-c465-11cf-8056-444553540000}\\\\PIPE00\";
int main(int argc, char* argv[])
{
HANDLE h;
h = CreateFile(completeDeviceName,
GENERIC_WRITE | GENERIC_READ,
FILE_SHARE_WRITE | FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
//        FILE_FLAG_OVERLAPPED,
0,
NULL);
if (INVALID_HANDLE_VALUE==h){
printf(\"error\\n\");
}else{
printf(\"ok\\n\");
}
CloseHandle(h);
return 0;
}

默认情况下,设备需要安装驱动,但是上面的程序显示:error,后来把PDIUSBD12套件的驱动程序修改了下GUID,并安装到我的设备,上面的API调用显示: ok ? 这是为什么?

即使我把上面程序的 36fc9e60-c465-11cf-8056-444553540000 改为Hid类也没有用? 请指点!



[编辑 -  2/24/05 by  czcty]

[编辑 -  2/24/05 by  czcty]
junki
驱动牛犊
驱动牛犊
  • 注册日期2004-09-02
  • 最后登录2007-11-30
  • 粉丝0
  • 关注0
  • 积分124分
  • 威望13点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-05-17 16:33
HID类USB好像只有控制传输
去掉pipe00试一试
游客

返回顶部