Marshal.PtrToStringAuto 메서드

정의

관리되는 String을 할당하고 관리되지 않는 문자열의 전체 또는 일부를 그 안에 복사합니다.

오버로드

PtrToStringAuto(IntPtr)

관리되는 String을 할당하고 관리되지 않는 메모리에 저장된 문자열에서 첫 번째 null이 나올 때까지의 모든 문자를 해당 개체로 복사합니다.

PtrToStringAuto(IntPtr, Int32)

관리되는 String을 할당하고 관리되지 않는 메모리에 저장된 문자열에서 지정된 수의 문자를 그 안에 복사합니다.

PtrToStringAuto(IntPtr)

Source:
Marshal.Unix.cs
Source:
Marshal.Unix.cs
Source:
Marshal.Unix.cs

관리되는 String을 할당하고 관리되지 않는 메모리에 저장된 문자열에서 첫 번째 null이 나올 때까지의 모든 문자를 해당 개체로 복사합니다.

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

매개 변수

ptr
IntPtr

nativeint

유니코드 플랫폼의 경우 첫째 유니코드 문자의 주소입니다.

또는

ANSI 플랫폼의 경우 첫 번째 ANSI 문자의 주소입니다.

반환

ptr 매개 변수의 값이 null가 아니면 관리되지 않는 문자열의 복사본을 보유하는 관리되는 문자열이고, 그렇지 않으면 이 메서드에서 null를 반환합니다.

특성

설명

현재 플랫폼이 유니코드인 경우 각 ANSI 문자가 유니코드 문자로 확장되고 이 메서드는 를 호출합니다 PtrToStringUni. 그렇지 않으면 이 메서드는 를 호출합니다 PtrToStringAnsi.

PtrToStringAuto 는 사용자 지정 마샬링에 유용하거나 관리 코드와 비관리 코드를 혼합할 때 유용합니다. 이 메서드는 관리되지 않는 문자열 내용의 복사본을 만들기 때문에 원래 문자열을 적절하게 해제해야 합니다. PtrToStringAuto는 및 Marshal.StringToHGlobalAuto 메서드의 Marshal.StringToCoTaskMemAuto 반대 기능을 제공합니다.

추가 정보

적용 대상

PtrToStringAuto(IntPtr, Int32)

Source:
Marshal.Unix.cs
Source:
Marshal.Unix.cs
Source:
Marshal.Unix.cs

관리되는 String을 할당하고 관리되지 않는 메모리에 저장된 문자열에서 지정된 수의 문자를 그 안에 복사합니다.

public:
 static System::String ^ PtrToStringAuto(IntPtr ptr, int len);
public static string? PtrToStringAuto (IntPtr ptr, int len);
public static string PtrToStringAuto (IntPtr ptr, int len);
[System.Security.SecurityCritical]
public static string PtrToStringAuto (IntPtr ptr, int len);
static member PtrToStringAuto : nativeint * int -> string
[<System.Security.SecurityCritical>]
static member PtrToStringAuto : nativeint * int -> string
Public Shared Function PtrToStringAuto (ptr As IntPtr, len As Integer) As String

매개 변수

ptr
IntPtr

nativeint

유니코드 플랫폼의 경우 첫째 유니코드 문자의 주소입니다.

또는

ANSI 플랫폼의 경우 첫 번째 ANSI 문자의 주소입니다.

len
Int32

복사할 문자 수입니다.

반환

ptr 매개 변수의 값이 null이 아니면 네이티브 문자열의 복사본이 들어 있는 관리되는 문자열이고, 그렇지 않으면 null입니다.

특성

예외

len가 0보다 작은 경우

설명

유니코드 플랫폼에서 이 메서드는 를 호출 PtrToStringUni합니다. ANSI 플랫폼에서는 를 호출 PtrToStringAnsi합니다. 이러한 메서드가 호출되기 전에는 변환이 수행되지 않습니다.

PtrToStringAuto 는 사용자 지정 마샬링에 유용하거나 관리 코드와 비관리 코드를 혼합할 때 유용합니다. 이 메서드는 관리되지 않는 문자열 내용의 복사본을 만들기 때문에 원래 문자열을 적절하게 해제해야 합니다. PtrToStringAuto는 및 Marshal.StringToHGlobalAutoMarshal.StringToCoTaskMemAuto 반대 기능을 제공합니다.

추가 정보

적용 대상