다음을 통해 공유


Marshal.StringToHGlobalUni(String) 메서드

정의

관리되는 String의 내용을 관리되지 않는 메모리로 복사합니다.

public:
 static IntPtr StringToHGlobalUni(System::String ^ s);
[System.Security.SecurityCritical]
public static IntPtr StringToHGlobalUni (string s);
public static IntPtr StringToHGlobalUni (string? s);
public static IntPtr StringToHGlobalUni (string s);
[<System.Security.SecurityCritical>]
static member StringToHGlobalUni : string -> nativeint
static member StringToHGlobalUni : string -> nativeint
Public Shared Function StringToHGlobalUni (s As String) As IntPtr

매개 변수

s
String

복사할 관리되는 문자열입니다.

반환

IntPtr

nativeint

관리되지 않는 메모리에서 s가 복사된 주소이거나 snull인 경우 0입니다.

특성

예외

메서드가 충분한 네이티브 힙 메모리를 할당할 수 없는 경우

s 매개 변수가 운영 체제에서 허용되는 최대 길이를 초과하는 경우

설명

StringToHGlobalUni 는 사용자 지정 마샬링에 유용하거나 관리 코드와 비관리 코드를 혼합할 때 유용합니다. 이 메서드는 문자열에 필요한 관리되지 않는 메모리를 할당하므로 항상 를 호출 FreeHGlobal하여 메모리를 해제합니다. 이 메서드는 의 Marshal.PtrToStringUni반대 기능을 제공합니다.

이 메서드는 포함된 null 문자를 복사하고 종료 null 문자를 포함합니다.

이 API는 UTF-16 2-바이트 인코딩인 유니코드의 Windows 정의를 반영합니다. Windows가 아닌 많은 플랫폼에서 wchar_t 데이터 형식은 2바이트가 아닌 4바이트입니다. 대신 사용할 수 있는지 wchar_t 또는 char16_t 사용해야 하는지 확인하려면 컴파일러를 참조하세요.

적용 대상

추가 정보