UNICODE_STRING structure (ntdef.h)

The UNICODE_STRING structure is used to define Unicode strings.

Syntax

typedef struct _UNICODE_STRING {
  USHORT Length;
  USHORT MaximumLength;
  PWSTR  Buffer;
} UNICODE_STRING, *PUNICODE_STRING;

Members

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.

Remarks

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.

Requirements

Requirement Value
Header ntdef.h (include Wdm.h, Ntddk.h, Ntdef.h)

See also

ANSI_STRING

OEM_STRING

RtlAnsiStringToUnicodeSize

RtlAnsiStringToUnicodeString

RtlFreeUnicodeString

RtlInitUnicodeString

RtlUnicodeStringToAnsiSize

RtlUnicodeStringToAnsiString