Marshal.PtrToStringAuto メソッド

定義

マネージド String を割り当て、アンマネージド文字列のすべてまたは一部をコピーします。

オーバーロード

名前 説明
PtrToStringAuto(IntPtr)

マネージド String を割り当て、アンマネージド メモリに格納されている文字列から最初の null 文字まですべての文字をコピーします。

PtrToStringAuto(IntPtr, Int32)

マネージド String を割り当て、アンマネージド メモリに格納されている文字列から指定した文字数をコピーします。

PtrToStringAuto(IntPtr)

ソース:
Marshal.Unix.cs
ソース:
Marshal.Unix.cs
ソース:
Marshal.Unix.cs
ソース:
Marshal.Unix.cs
ソース:
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

Unicode プラットフォームの場合、最初の Unicode 文字のアドレス。

-又は-

ANSI プラットフォームの場合、最初の ANSI 文字のアドレス。

返品

ptr パラメーターの値がnullでない場合は、アンマネージ文字列のコピーを保持するマネージド文字列。それ以外の場合、このメソッドはnullを返します。

属性

注釈

現在のプラットフォームが Unicode の場合、各 ANSI 文字は Unicode 文字に拡大され、このメソッドは PtrToStringUniを呼び出します。 それ以外の場合、このメソッドは PtrToStringAnsiを呼び出します。

PtrToStringAuto は、カスタム マーシャリングや、マネージド コードとアンマネージド コードを混在する場合に便利です。 このメソッドはアンマネージ文字列の内容のコピーを作成するため、必要に応じて元の文字列を解放する必要があります。 PtrToStringAuto は、 Marshal.StringToCoTaskMemAuto メソッドと Marshal.StringToHGlobalAuto メソッドの反対の機能を提供します。

こちらもご覧ください

適用対象

PtrToStringAuto(IntPtr, Int32)

ソース:
Marshal.Unix.cs
ソース:
Marshal.Unix.cs
ソース:
Marshal.Unix.cs
ソース:
Marshal.Unix.cs
ソース:
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

Unicode プラットフォームの場合、最初の Unicode 文字のアドレス。

-又は-

ANSI プラットフォームの場合、最初の ANSI 文字のアドレス。

len
Int32

コピーする文字数。

返品

ptr パラメーターの値がnullでない場合は、ネイティブ文字列のコピーを保持するマネージド文字列。それ以外の場合、このメソッドはnullを返します。

属性

例外

len が 0 未満です。

注釈

Unicode プラットフォームでは、このメソッドは PtrToStringUniを呼び出します。ANSI プラットフォームでは、 PtrToStringAnsiを呼び出します。 これらのメソッドが呼び出される前に変換は行われません。

PtrToStringAuto は、カスタム マーシャリングや、マネージド コードとアンマネージド コードを混在する場合に便利です。 このメソッドはアンマネージ文字列の内容のコピーを作成するため、必要に応じて元の文字列を解放する必要があります。 PtrToStringAuto は、 Marshal.StringToCoTaskMemAutoMarshal.StringToHGlobalAutoの反対の機能を提供します。

こちらもご覧ください

適用対象