limee
驱动牛犊
驱动牛犊
  • 注册日期2004-03-02
  • 最后登录2006-07-25
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:842回复:0

VID和PID遇到的问题

楼主#
更多 发布于:2005-03-01 15:35
在usbview这个例子基础上做了一下修改
查了些资料后还是有点迷糊,改了下部分代码,但是每次
执行到strcpy的时候都会出现内存错误。
还有下面的代码是否可以枚举到UsbhostController,
网上找了一段代码,只能在Win9x下运行,在Win2k下面无法运行
请教在Win2k下面如何每举UsbhostController,谢谢!

代码如下:

void CIDDlg::OnOK()
{
char HCName[16];
int HCNum;
HANDLE hHCDev;
HTREEITEM hHCItem;
PCHAR rootHubName;
ULONG nBytes;
PUSB_NODE_CONNECTION_INFORMATION pNodeConInfo;

BOOL success;
ULONG nPort;
USBDEVICEINFO info;

for (HCNum = 0; HCNum < NUM_HCS_TO_CHECK; HCNum++)
{
wsprintf(HCName, \"\\\\.\\HCD%d\", HCNum);

hHCDev = CreateFile(HCName,
GENERIC_WRITE,
FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0,
NULL);

if (hHCDev != INVALID_HANDLE_VALUE)
{
rootHubName = GetRootHubName(hHCDev);

if (rootHubName != NULL)
{
HANDLE hHubDevice;
hHubDevice = INVALID_HANDLE_VALUE;

info.HubName = rootHubName;
info.ConnectionInfo = NULL;
info.ConfigDesc = NULL;
info.StringDescs = NULL;

PCHAR deviceName;

strcpy(deviceName, \"\\\\.\\\");//执行到这里出错
strcpy(deviceName + sizeof(\"\\\\.\\\") - 1, info.HubName);
hHubDevice = CreateFile(deviceName,
GENERIC_WRITE,
FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0,
NULL);
游客

返回顶部