簡介
UNICODE_STRING結構是通過使用各種本地安全認證(LSA)的功能來指定一個 Unicode 字元串。
結構體原型
typedef struct _LSA_UNICODE_STRING {
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;} LSA_UNICODE_STRING, *PLSA_UNICODE_STRING, UNICODE_STRING, *PUNICODE_STRING;
結構成員
Length
指定字元串的長度,以位元組為單位指出的 Buffer字元串的長度。如果是以 NULL字元結尾(即'\0'),則不包括 NULL字元的長度。
MaximumLength
Buffer字元串的總長度。
MaximumLength和Length的關係可以參照:
char c[10] = "123";
sizeof(c);和strlen(c);得出的結果。
Buffer
一個 寬字元的字元串的指針。注意,通過各種LSA函式返回的字元串可能不是以 NULL結尾。
使用範例
UNICODE_STRING str = RTL_CONSTANT_STRING(L"Hello");
KdPrint(("Buffer:%ws\nMaxinumLength:%d\nLength:%d", str.Buffer, str.MaximumLength, str.Length));