UNICODE_STRING の説明が分かりにくいので覚書
ustr (WinDbg) - Windows drivers | Microsoft Docs
typedef struct _UNICODE_STRING { USHORT Length; USHORT MaximumLength; PWSTR Buffer; } UNICODE_STRING; |
とは書かれてるんですがなんか良く分からないので調べてみました。
例えば、
wchar_t str[]=L"abc";
という文字列があったとして、これを UNICODE_STRING uniにすると
uni.Length = 6;
uni.MaximumLength=8
uni.Buffer = uni + 8
UNICODE_STRING のサイズ自体は 16バイトとなるようです・ω・
Length には末尾の null が含まれていると書かれていましたが、文字数にカウントされていませんね。
・ω・ ややこしい・・・
ja-jpにありがちな誤翻訳ですね。