阅读:2029回复:0
为什么ZwQueryInformationFile取回的FILE_STANDARD_INFORMATION信息不正确?
我想区别目录和文件
当使用ZwQueryInformationFile请求一个文件的信息时。 不能正确的区别目录和文件 当访问一个目录时(有时候) si.EndOfFile.LowPart能取得的大小 DIRECTORY的值却是False 好奇怪。请各位看看: LONG GetPEFileSize( IN HANDLE hFile, OUT PBOOLEAN bDir ) { NTSTATUS status; IO_STATUS_BLOCK ioStatus; FILE_STANDARD_INFORMATION si = {0}; status = ZwQueryInformationFile(hFile, &ioStatus, &si, sizeof(FILE_STANDARD_INFORMATION), FileStandardInformation); if (NT_SUCCESS( status )) { return si.EndOfFile.LowPart; } else { DbgPrint("[*] Get file size fail:%X\n",status); return -1; } } |
|