2011-10-28 29 views
0
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; 

FileNameLengthULONGと宣言されています。私はこれがバイトカウントだと思ったのは、すべての(またはほとんどの)文字列の長さがカーネルのバイト数であるからです。
昨日私が間違ったコードを書いたのは、CCHAR ShortNameLengthと表示されたときにの文字数がと誤解されたからです。今、私はShortNameLengthバイト数が必要です知っている。
次に、CCHARではCの意味は何ですか?WindowsでCCHARの意味は何ですか?

答えて

2

Cは、ハンガリー語表記の数を意味します。 cchという名前の変数は "文字の数"になり、文字列の長さが含まれていると考えられます。したがって、CCHARは、文字数を含むことができる型です。

これはhorrible abuse of Hungarian notation typical of the Windows teamです。

+0

CCHCHAR?バスク様。 –

関連する問題