SysAllocStringByteLen 함수(oleauto.h)

ANSI 문자열을 입력으로 사용하고 ANSI 문자열이 포함된 BSTR을 반환합니다. ANSI-유니코드 변환을 수행하지 않습니다.

구문

BSTR SysAllocStringByteLen(
  [in, optional] LPCSTR psz,
  [in]           UINT   len
);

매개 변수

[in, optional] psz

복사할 문자열 또는 문자열을 초기화되지 않은 상태로 유지하기 위한 NULL입니다.

[in] len

복사할 바이트 수입니다. 이후에 null 문자가 배치되어 총 lenOLECHAR 바이트 크기를 할당합니다.

반환 값

문자열의 복사본이거나, 메모리가 부족하여 작업을 완료할 수 없는 경우 NULL입니다.

설명

이 함수는 이진 데이터를 포함하는 BSTR을 만들기 위해 제공됩니다. 이 유형의 BSTR은 ANSI에서 유니코드로 변환되지 않거나 그 반대로 변환되지 않는 경우에만 사용할 수 있습니다.

예를 들어 16비트와 32비트 Windows 시스템에서 실행되는 32비트 애플리케이션 간에는 이러한 BSTR을 사용하지 마세요. OLE 16비트에서 32비트(및 32비트에서 16비트) 상호 운용성 계층은 BSTR을 변환하고 이진 데이터를 손상합니다. 이진 데이터를 전달하는 기본 방법은 OLE에서 변환되지 않는 VT_UI1 SAFEARRAY를 사용하는 것입니다.

psz가 Null이면 요청된 길이의 문자열이 할당되지만 초기화되지는 않습니다. 문자열 psz는 포함된 null 문자를 포함할 수 있으며 Null로 끝날 필요가 없습니다. 나중에 SysFreeString을 사용하여 반환된 문자열을 해제합니다.

요구 사항

   
대상 플랫폼 Windows
헤더 oleauto.h
라이브러리 OleAut32.lib
DLL OleAut32.dll

추가 정보

문자열 조작 함수