UNICODE_STRING の説明が分かりにくいので覚書

ustr (WinDbg) - Windows drivers | Microsoft Docs

typedef struct _UNICODE_STRING {
  USHORT Length;
  USHORT MaximumLength;
  PWSTR Buffer;

}

UNICODE_STRING;
文字列が null 終端の場合 、Length には末尾の null が含まれます。

とは書かれてるんですがなんか良く分からないので調べてみました。

例えば、
wchar_t str[]=L"abc";
という文字列があったとして、これを UNICODE_STRING uniにすると
uni.Length = 6;
uni.MaximumLength=8
uni.Buffer = uni + 8
UNICODE_STRING のサイズ自体は 16バイトとなるようです・ω・
Length には末尾の null が含まれていると書かれていましたが、文字数にカウントされていませんね。

・ω・ ややこしい・・・

おすすめ

1件の返信

  1. のん より:

    ja-jpにありがちな誤翻訳ですね。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です