Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

RtlUnicodeStringToAnsiString function (winternl.h)

Converts the specified Unicode source string into an ANSI string.

Syntax

NTSTATUS RtlUnicodeStringToAnsiString(
 [in, out] PANSI_STRING DestinationString,
 [in] PCUNICODE_STRING SourceString,
 [in] BOOLEAN AllocateDestinationString
);

Parameters

[in, out] DestinationString

A pointer to an ANSI_STRING structure to hold the converted ANSI string. If AllocateDestinationString is TRUE, the routine allocates a new buffer to hold the string data and updates the Buffer member of DestinationString to point to the new buffer. Otherwise, the routine uses the currently specified buffer to hold the string.

[in] SourceString

The UNICODE_STRING structure that contains the source string to be converted to ANSI.

[in] AllocateDestinationString

Controls allocation of the buffer space for the DestinationString.

TRUE

Buffer space is allocated for DestinationString. If set to TRUE, the buffer must be deallocated using RtlFreeAnsiString.

FALSE

Buffer space is not allocated for DestinationString.

Return value

The various NTSTATUS values are defined in NTSTATUS.H, which is distributed with the DDK.

Return code Description
STATUS_SUCCESS
The Unicode string was converted to ANSI. Otherwise, no storage was allocated and no conversion was done.

Remarks

The translation is done with respect to the current system locale information.

Because there is no import library for this function, you must use GetProcAddress.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header winternl.h
Library ntdll.lib
DLL ntdll.dll; NtosKrnl.exe

Feedback

Was this page helpful?

Additional resources