WinCE USB驱动求助

king820802 2007-12-04 01:54:57
由于刚转过来做WinCE驱动,很多东西不懂,请xdjm们知道的帮忙回答一下,先谢了

我做了个最简单的USB扫描仪驱动,结果在USBDeviceAttach中调用ActivateDevice出现问题了。返回值为NULL,我去GetLastError却返回没有错误。

那部分代码如下,是把自带的打印机驱动中提取出来的:
int n = 111;
/*extern "C"*/ //TST_API
extern "C" _declspec(dllexport)
BOOL USBDeviceAttach(
USB_HANDLE hDevice, // USB设备句柄
LPCUSB_FUNCS lpUsbFuncs, // USBDI的函数集合
LPCUSB_INTERFACE lpInterface, // 设备接口描述信息
LPCWSTR szUniqueDriverId, // 设备ID描述字符串。
LPBOOL fAcceptControl, // 返回TRUE,标识我们可以控制此设备, 反之表示不能控制
DWORD dwUnused)
{

MessageBoxW(NULL, L"USBDeviceAttach", L"", MB_OK);
#define CLIENT_REGKEY_SZ L"HKEY_LOCAL_MACHINE\\Drivers\\USB\\ClientDrivers\\Tst"

WCHAR wsSubClassRegKey [sizeof(CLIENT_REGKEY_SZ)+16] = CLIENT_REGKEY_SZ;
HANDLE h = ActivateDevice(wsSubClassRegKey,(DWORD)&n);
// HANDLE h = ActivateDeviceEx(wsSubClassRegKey,0, 0, 0);
if (NULL == h)
{
DWORD a = GetLastError();
WCHAR b[200];
swprintf(b, L"ActivateDevice error = %d", a);
MessageBoxW(NULL, b, L"", MB_OK);
}

*fAcceptControl = TRUE;

// return FALSE;
return TRUE;
}
...全文
707 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pptor 2007-12-05
  • 打赏
  • 举报
回复
jf
angel_dark 2007-12-04
  • 打赏
  • 举报
回复
我看微软的代码好像返回零并不代表失败,而且注册建分为HKEY_LOCAL_MACHINE\\Drivers\\USB\\ClientDrivers和HKEY_LOCAL_MACHINE\\Drivers\\USB\\LoadDrivers.我也是刚做ce usb驱动,留个号好好聊聊吧。qq: 121522703
king820802 2007-12-04
  • 打赏
  • 举报
回复
现在,主要问题是HKEY_LOCAL_MACHINE\Drivers\Active下没有生成相应的键值,请知道朋友把可能出现的情况说一下吧

19,520

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧