typedef struct _FILE_BOTH_DIR_INFORMATION {
ULONG NextEntryOffset;
ULONG FileIndex;
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime;
LARGE_INTEGER EndOfFile;
LARGE_INTEGER AllocationSize;
ULONG FileAttributes;
ULONG FileNameLength;
ULONG EaSize;
CCHAR ShortNameLength;
WCHAR ShortName[12];
WCHAR FileName[1];
} FILE_BOTH_DIR_INFORMATION, *PFILE_BOTH_DIR_INFORMATION;
FileNameLength
объявлено ULONG
.Я догадался, что это счетчик байтов, потому что все (или большинство) длин строк являются счетчиками байтов в ядре.
Вчера я написал неправильный код, потому что я неправильно понял, что это означает количество символов см CCHAR ShortNameLength
.Теперь я знаю, что ShortNameLength требует подсчета байтов.
Тогда, что означает C в CCHAR?