다음을 통해 공유


RtlUnicodeToMultiByteN 함수(ntifs.h)

RtlUnicodeToMultiByteN 루틴은 현재 시스템 ANSI 코드 페이지(ACP)를 사용하여 지정된 유니코드 문자열을 새 문자열로 변환합니다. 변환된 문자열이 반드시 멀티바이트 문자 집합에서 온 것은 아닙니다.

구문

NTSYSAPI NTSTATUS RtlUnicodeToMultiByteN(
  [out]           PCHAR  MultiByteString,
  [in]            ULONG  MaxBytesInMultiByteString,
  [out, optional] PULONG BytesInMultiByteString,
  [in]            PCWCH  UnicodeString,
  [in]            ULONG  BytesInUnicodeString
);

매개 변수

[out] MultiByteString

변환된 문자열을 수신하기 위해 호출자가 할당한 버퍼에 대한 포인터입니다. MultiByteString 버퍼는 UnicodeString 버퍼와 겹치지 않아야 합니다.

[in] MaxBytesInMultiByteString

MultiByteString에 쓸 최대 바이트 수입니다. 이 값으로 인해 번역된 문자열이 잘리는 경우 RtlUnicodeToMultiByteN은 오류 상태 반환하지 않습니다.

[out, optional] BytesInMultiByteString

변환된 문자열의 길이(바이트)를 수신하는 호출자 할당 변수에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

[in] UnicodeString

번역할 유니코드 원본 문자열에 대한 포인터입니다.

[in] BytesInUnicodeString

UnicodeString의 문자열 크기(바이트)입니다.

반환 값

RtlUnicodeToMultiByteN은 STATUS_SUCCESS 반환합니다.

설명

RtlUnicodeToMultiByteN 은 시스템 부팅 시 설치된 현재 시스템 ANSI 코드 페이지를 사용하여 지정된 유니코드 문자열을 변환합니다.

BytesInMultiByteString은 선택 사항이며 NULL일 수 있지만 수신된 길이를 사용하여 변환이 성공했는지 여부를 확인할 수 있으므로 호출자는 스토리지를 제공해야 합니다.

이 루틴은 원본 문자열을 수정하지 않습니다. 지정된 BytesInUnicodeString 에 NULL 종결자가 포함되어 있고 지정된 MaxBytesInMultiByteString 에서 잘림이 발생하지 않은 경우 null로 끝나는 멀티바이트 문자열을 반환합니다.

RtlUnicodeToMultiByteSize와 마찬가지로 RtlUnicodeToMultiByteN은 시스템 부팅 시 설치된 현재 시스템 ANSI 코드 페이지에 매핑되는 미리 컴파일된 유니코드 문자만 지원합니다.

다른 문자열 처리 루틴에 대한 자세한 내용은 RTL(런타임 라이브러리) 루틴을 참조하세요.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ntifs.h(Fltkernel.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

추가 정보

RtlMultiByteToUnicodeN

RtlUnicodeToMultiByteSize

RtlUpcaseUnicodeToMultiByteN