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 |
---|---|
|
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 |