RtlOemToUnicodeN 함수(ntifs.h)

RtlOemToUnicodeN 루틴은 현재 시스템 OEM 코드 페이지를 사용하여 지정된 소스 문자열을 유니코드 문자열로 변환합니다.

구문

NTSYSAPI NTSTATUS RtlOemToUnicodeN(
  [out]           PWCH   UnicodeString,
  [in]            ULONG  MaxBytesInUnicodeString,
  [out, optional] PULONG BytesInUnicodeString,
  [in]            PCCH   OemString,
  [in]            ULONG  BytesInOemString
);

매개 변수

[out] UnicodeString

번역된 문자열을 수신하는 호출자가 할당한 버퍼에 대한 포인터입니다.

[in] MaxBytesInUnicodeString

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

[out, optional] BytesInUnicodeString

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

[in] OemString

유니코드로 변환할 OEM 원본 문자열에 대한 포인터입니다. 현재 코드 페이지에서 단일 바이트 문자 집합을 설명하는 경우 이 포인터는 UnicodeString과 동일한 주소일 수 있습니다.

[in] BytesInOemString

OemString의 문자열 길이(바이트)입니다.

반환 값

OemString의 전체 문자열이 성공적으로 번역되고 UnicodeString에서 반환되면 RtlOemToUnicodeN은 STATUS_SUCCESS 반환합니다. 그렇지 않으면 지정된 MaxBytesInUnicodeString에 맞게 대상 문자열을 잘라내야 하는 경우 STATUS_BUFFER_OVERFLOW 반환할 수 있습니다. STATUS_BUFFER_OVERFLOW 경고 NTSTATUS 값입니다.

설명

RtlOemToUnicodeN 은 시스템 부팅 시 설치된 현재 시스템 OEM 코드 페이지에 매핑되는 미리 컴파일된 유니코드 문자만 지원합니다.

현재 시스템 코드 페이지에서 단일 바이트 문자 집합을 정의하는 경우 0x7f 0x00 범위의 모든 싱글 바이트 문자는 변환 작업의 속도를 높이기 위해 해당 유니코드 문자열에서 0으로 확장됩니다. 이러한 코드 페이지에서 0x5c 문자 값은 현재 코드 페이지에서 이 문자를 Yen 기호로 정의하더라도 백슬래시 문자로 변환됩니다.

반환 값 STATUS_SUCCESS BytesInUnicodeString 값(있는 경우)은 지정된 MaxBytesInUnicodeString이 아닌 반환된 유니코드 문자열의 길이를 나타냅니다.

UnicodeStringOemString 포인터가 동일하지 않는 한 이 루틴은 원본 문자열을 수정하지 않습니다. 반환된 유니코드 문자열은 잘리지 않으면 null로 종료됩니다.

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

요구 사항

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

추가 정보

RtlOemStringToCountedUnicodeString

RtlOemStringToUnicodeString

RtlUnicodeToOemN