阅读:1737回复:0
在win2000内核态使用FSCTL_GET_VOLUME_BITMAP获取卷位图信息
各位大侠好,我在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); |
|
最新喜欢:![]() |