vancaho
驱动牛犊
驱动牛犊
  • 注册日期2004-04-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分574分
  • 威望100点
  • 贡献值0点
  • 好评度56点
  • 原创分0分
  • 专家分0分
阅读:634回复:1

用向导生产的驱动程序调试有问题

楼主#
更多 发布于:2004-11-13 01:05
小弟是刚学习驱动不到一周,直接用驱动向导生成了一个驱动,调试就有问题,不知道是否有什么地方需要进行设置
以下是代码,就是直接生产的。
HANDLE OpenByInterface(
GUID* pClassGuid, // points to the GUID that identifies the interface class
DWORD instance, // specifies which instance of the enumerated devices to open
PDWORD pError // address of variable to receive error status
)
{
HANDLE hDev;
CDeviceInterfaceClass DevClass(pClassGuid, pError);

if (*pError != ERROR_SUCCESS)
return INVALID_HANDLE_VALUE;

CDeviceInterface DevInterface(&DevClass, 0, pError);

if (*pError != ERROR_SUCCESS)
return INVALID_HANDLE_VALUE;

hDev = CreateFile(
DevInterface.DevicePath(),
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL
);

if (hDev == INVALID_HANDLE_VALUE)
*pError = GetLastError();

return hDev;
}

当单步调试的时候,每当执行了语句
CDeviceInterface DevInterface(&DevClass, 0, pError);
紧接着的判断
if (*pError != ERROR_SUCCESS)
后就会执行推出语句
return INVALID_HANDLE_VALUE;
不明白为什么?

希望各位大哥,高手们帮小弟一把。
顺便问一下给分是怎么回事,对这个网站还一无所知
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-13 09:03
打开设备出错,可以用查看GetLastError()得到错误原因
sys有没有拷贝到system32\\driver下?

学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
游客

返回顶部