gpt4 book ai didi

c# - 搜索文件到 Ntfs

转载 作者:行者123 更新时间:2023-11-30 17:56:36 25 4
gpt4 key购买 nike

我是 Pinvoke 的新手。当我可以访问目录时,我想在找到 root 后获取 mft。我想使用 DeviceIoControl,例如下面的代码:

BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
FSCTL_GET_NTFS_VOLUME_DATA, // dwIoControlCode
NULL, // lpInBuffer
0, // nInBufferSize
(LPVOID) lpOutBuffer, // output buffer
(DWORD) nOutBufferSize, // size of output buffer
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);

我不知道 FSCTL_GET_NTFS_VOLUME_DATA 的值是多少。

最佳答案

documentationWinIoCtl.h 列为相关 header 。当我们查看宏声明时,我们看到:

#define FSCTL_GET_NTFS_VOLUME_DATA \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 25, METHOD_BUFFERED, FILE_ANY_ACCESS)

这让我们还有一些工作要做。懒惰的方法是编写一个程序来发出值:

#include <Windows.h>
#include <iostream>
#include <iomanip>

int main()
{
DWORD code = FSCTL_GET_NTFS_VOLUME_DATA;
std::cout << "0x" << std::hex << std::setfill('0') << std::setw(8) << code;
return 0;
}

这会输出我们想要的值:

0x00090064

关于c# - 搜索文件到 Ntfs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14037677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com