NTSTATUS
RtlUnicodeStringToAnsiString(
IN OUT PANSI_STRING DestinationString,/* optional */
IN PUNICODE_STRING SourceString,
IN BOOLEAN AllocateDestinationString
);
RtlUnicodeStringToAnsiString converts a given Unicode string into an ANSI string. The translation is done in accord with the current system-locale information.
Parameters
DestinationString
Points to a caller-allocated buffer for the ANSI string or is NULL if AllocateDestinationString is set to TRUE. If the translation cannot be done because a character in the Unicode string does not map to an ANSI character in the current system locale, an error is returned.
SourceString
Points to the Unicode source string to be converted to ANSI.
AllocateDestinationString
TRUE if this routine is to allocate the buffer space for the DestinationString. If it does, the buffer must be deallocated by calling RtlFreeAnsiString.
Return Value
If the conversion succeeds, RtlUnicodeStringToAnsiString returns STATUS_SUCCESS. Otherwise, no storage was allocated, and no conversion was done.
Comments
Callers of RtUnicodeStringToAnsiString must be running at IRQL PASSIVE_LEVEL.
See Also