solar-2008
驱动牛犊
驱动牛犊
  • 注册日期2008-08-31
  • 最后登录2010-05-21
  • 粉丝0
  • 关注0
  • 积分43分
  • 威望305点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1736回复:0

在win2000内核态使用FSCTL_GET_VOLUME_BITMAP获取卷位图信息

楼主#
更多 发布于:2009-08-13 16:02
各位大侠好,我在win2000内核态使用FSCTL_GET_VOLUME_BITMAP获取卷位图信息,总是出错显示STATUS_ACCESS_DENIED错误,大家知道原因吗?在打开文件的时候我试过很多参数,比如FILE_READ_ATTRIBUTES,GENERIC_ALL等,都失败了。有成功过的兄弟吗?能给点提示吗?谢谢了!
RtlZeroMemory(szBuffer,sizeof(szBuffer));
status = RtlStringCbPrintfW(szBuffer, sizeof(szBuffer),L"\\??\\C:\\");
RtlInitUnicodeString (&PartitionWinName, szBuffer);
InitializeObjectAttributes(&ObjAttrib, &PartitionWinName, OBJ_CASE_INSENSITIVE, NULL, NULL);
status = ZwOpenFile(&hDev,
                    FILE_READ_DATA|FILE_WRITE_DATA|FILE_APPEND_DATA|FILE_EXECUTE,
                    &ObjAttrib,
                    &ioStatus,
                    0,
                    FILE_DIRECTORY_FILE);
    if(STATUS_SUCCESS != status)
    {
        return status;
    }

StartLcn.StartingLcn.QuadPart = 0;
 status = ZwFsControlFile(hDev,
                    NULL,
                    NULL,
                    NULL,
                    &ioStatus,
                    FSCTL_GET_VOLUME_BITMAP,
    &StartLcn,
                    sizeof(STARTING_LCN_INPUT_BUFFER),
                    pBitmapBuffer,
                    BufferSize);

最新喜欢:

wm_createwm_cre...
游客

返回顶部