Share via


RtlUnicodeStringToAnsiString 함수(winternl.h)

지정된 유니코드 소스 문자열을 ANSI 문자열로 변환합니다.

구문

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

매개 변수

[in, out] DestinationString

변환된 ANSI 문자열을 저장할 ANSI_STRING 구조체에 대한 포인터입니다. AllocateDestinationStringTRUE이면 루틴은 문자열 데이터를 저장할 새 버퍼를 할당하고 DestinationString버퍼 멤버를 업데이트하여 새 버퍼를 가리킵니다. 그렇지 않으면 루틴은 현재 지정된 버퍼를 사용하여 문자열을 저장합니다.

[in] SourceString

ANSI로 변환할 원본 문자열을 포함하는 UNICODE_STRING 구조체입니다.

[in] AllocateDestinationString

DestinationString에 대한 버퍼 공간의 할당을 제어합니다.

TRUE

DestinationString에 버퍼 공간이 할당됩니다. TRUE로 설정하면 RtlFreeAnsiString을 사용하여 버퍼의 할당을 취소해야 합니다.

FALSE

DestinationString에 버퍼 공간이 할당되지 않습니다.

반환 값

다양한 NTSTATUS 값은 NTSTATUS에 정의됩니다. DDK와 함께 배포되는 H입니다.

반환 코드 설명
STATUS_SUCCESS
유니코드 문자열이 ANSI로 변환되었습니다. 그렇지 않으면 스토리지가 할당되지 않았고 변환이 수행되지 않았습니다.

설명

변환은 현재 시스템 로캘 정보와 관련하여 수행됩니다.

이 함수에 대한 가져오기 라이브러리가 없으므로 GetProcAddress를 사용해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winternl.h
라이브러리 ntdll.lib
DLL ntdll.dll; NtosKrnl.exe