-
-
[旧帖] [求助]关于IoGetDeviceObjectPointer的疑问 0.00雪花
-
发表于: 2012-11-20 20:52 1165
-
WCHAR ntNameBuffer[128];
swprintf(ntNameBuffer, L"\\Device\\Harddisk1\\Partition1");
RtlInitUnicodeString(&symbol, ntNameBuffer);
KdPrint(("OSNVss:symbol is %ws\n",symbol.Buffer));
status = IoGetDeviceObjectPointer(&symbol,
FILE_READ_DATA,
&pDiskFileObject,
&pDiskDeviceObject);
我的设备是挂载\\Device\\Harddisk1\\Partition1之下的,每次调用IoGetDeviceObjectPointer都会失败,并且没有返回status,调式的时候会报一个intelppm.sys引起的一个错误并跳出调试,我将objectname换成\\Device\\Harddisk1\\Partition2(分区真实存在的),就可以返回成功,如果换成不存在的\\Device\\Harddisk1\\Partition3,就会返回status = 0xc0000034表示objectname不存在;各位同学帮个忙,分析分析;
swprintf(ntNameBuffer, L"\\Device\\Harddisk1\\Partition1");
RtlInitUnicodeString(&symbol, ntNameBuffer);
KdPrint(("OSNVss:symbol is %ws\n",symbol.Buffer));
status = IoGetDeviceObjectPointer(&symbol,
FILE_READ_DATA,
&pDiskFileObject,
&pDiskDeviceObject);
我的设备是挂载\\Device\\Harddisk1\\Partition1之下的,每次调用IoGetDeviceObjectPointer都会失败,并且没有返回status,调式的时候会报一个intelppm.sys引起的一个错误并跳出调试,我将objectname换成\\Device\\Harddisk1\\Partition2(分区真实存在的),就可以返回成功,如果换成不存在的\\Device\\Harddisk1\\Partition3,就会返回status = 0xc0000034表示objectname不存在;各位同学帮个忙,分析分析;
赞赏
赞赏
雪币:
留言: