因为我只需要使用Nt级api创建一个应用程序,在这里我想为Ntquerydirectoryfile
的相同行为编写一个包装器,所以我收集了很多关于这个api的东西,但我无法理解一些这个api。
NTSTATUS status = ZwQueryDirectoryFile(FileHandle,Event,ApcRoutine,ApcContext,IoStatusBlock,FileInformation,Length,FileInformationClass,ReturnSingleEntry,FileName,RestartScan);
此处IoStatusBlock(out)
包含查询目录或文件的信息和状态,状态应为此API的返回类型,信息应为写入fileinformation
和fileinformation
的数据,并提供完整详细信息(给定文件/ dir的任何fileinformation
类结构)然后长度 - 应该填充多少数据..
o / p参数仅为IOstatusblock
和fileinformation
在这里我看到了这个api的一个属性,它枚举了一个带有一些分配长度的驱动器,它从中获取了一些文件,然后返回有关长度的部分详细信息。之后,Zwquerydirectory调用又带有一些其他长度的相同句柄, 它从上次收到的上一次呼叫中获取数据 ..只有我无法理解,因为api应该在哪里设置此信息以提醒位置开始准确位置(偏移)...如果你知道它让我知道,它真的很感激......