DeviceIoControl失败,错误码为31

qiyexinglang 2012-09-28 03:06:14
在装有PowerDVD DX 8.3.1版本的机器上使用NDIS进行拨号上网时,始终失败。最后发现在调用DeviceIoControl函数时失败,返回错误码为31。不知道是什么原因。
hDevice = CreateFile
(
controlFileName,
GENERIC_WRITE | GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL
);

DeviceIoControl
(
hDevice,
IOCTL_QCDEV_GET_SERVICE_FILE,
(LPVOID)&ServiceType,
(DWORD)sizeof(UCHAR),
(LPVOID)ServiceFileName,
(DWORD)SERVICE_FILE_BUF_LEN,
&bytesReturned,
NULL
)
CreateFile是成功的,但是不知道DeviceIoControl就会失败,还请大侠帮忙啊。
...全文
1106 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xqhrs232 2014-08-19
  • 打赏
  • 举报
回复
我也遇到这个错误码:0x1f,但还是设置成功了,很奇怪!!!
一如当初 2013-08-19
  • 打赏
  • 举报
回复
引用 4 楼 qiyexinglang 的回复:
没人遇到DeviceIoControl返回错误码为31的情况么?如何解决呢?
不知道你是否解决了这个问题?我在请求手机设备时也遇到这个问题,返回31
qiyexinglang 2012-10-09
  • 打赏
  • 举报
回复
没人遇到DeviceIoControl返回错误码为31的情况么?如何解决呢?
qiyexinglang 2012-09-29
  • 打赏
  • 举报
回复
那如何解决这种问题呢?还大侠指教。
qiyexinglang 2012-09-29
  • 打赏
  • 举报
回复
当我把PowerDVD DX 8.3.1的后台程序PDVDDXSrv.exe退出,重新插拔数据卡之后,在使用NDIS拨号就是成功的。不知道PDVDDXSrv.exe对网卡做了什么操作才会导致NDIS拨号失败,就是DeviceIoControl返回错误码为31。
oyljerry 2012-09-28
  • 打赏
  • 举报
回复
x000001f = 31 (ERROR_GEN_FAILURE),表示附加到系统上的设备不能正常工作

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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