#ifndef _PHNT_NTDEF_H
#ifndef _NTDEF_
typedef struct _UNICODE_STRING
{
USHORT Length;
USHORT MaximumLength;
_Field_size_bytes_part_opt_(MaximumLength, Length) PWCH Buffer;
} UNICODE_STRING, *PUNICODE_STRING;
View code on GitHub
// ntdef.h
typedef struct _UNICODE_STRING {
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
} UNICODE_STRING, *PUNICODE_STRING;
View the official Win32 API reference
This structure is documented in Windows Driver Kit.
The UNICODE_STRING structure is used to define Unicode strings.
Length
The length, in bytes, of the string stored in Buffer.
MaximumLength
The length, in bytes, of Buffer.
Buffer
Pointer to a buffer used to contain a string of wide characters.
typedef struct _UNICODE_STRING {
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
} UNICODE_STRING, *PUNICODE_STRING;
The UNICODE_STRING structure is used to pass Unicode strings. Use RtlUnicodeStringInit or RtlUnicodeStringInitEx to initialize a UNICODE_STRING structure.
If the string is null-terminated, Length does not include the trailing null character.
The MaximumLength is used to indicate the length of Buffer so that if the string is passed to a conversion routine such as RtlAnsiStringToUnicodeString the returned string does not exceed the buffer size.