0

http://msdn.microsoft.com/en-us/library/windows/hardware/ff545793(v=vs.85).aspxで、

typedef struct _FILE_FULL_EA_INFORMATION {
  ULONG  NextEntryOffset;
  UCHAR  Flags;
  UCHAR  EaNameLength;
  USHORT EaValueLength;
  CHAR   EaName[1];
} FILE_FULL_EA_INFORMATION, *PFILE_FULL_EA_INFORMATION;

MSDNは最後の行で言います:

「各エントリに関連付けられた値はEaName配列に従います。つまり、EAの値はEaName +(EaNameLength + 1)にあります。」

私はそれが間違っていると思います、そして正しいものは

「各エントリに関連付けられた値はEaName配列に従います。つまり、EAの値はEaName+EaNameLengthにあります。」

誰が正しいですか?

PS:

samページで、MSDNは次のように述べています。「EaNameLength:EaName配列のバイト単位の長さ。この値には、EaNameへのヌルターミネータは含まれていません。」

さらに、MSDNは、 EaNameをヌル文字バイトで終了する必要があるとは言っていません。

4

1 に答える 1

2

MSDNから:

EaName(変数)-拡張属性名とそれに続く単一の終了ヌル文字バイトを含む8ビットASCII文字の配列。

EaNameLengthEaName(1バイト):フィールドの拡張属性名の長さ(バイト単位)を含む8ビットの符号なし整数。この値には、終了するヌル文字を含めてはなりませんEaName

+1ヌルターミネータのアカウント。

于 2012-12-15T12:39:32.697 に答える