次の方法で共有


Marshal.PtrToStringAuto メソッド

定義

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

オーバーロード

PtrToStringAuto(IntPtr)

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

PtrToStringAuto(IntPtr, Int32)

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

PtrToStringAuto(IntPtr)

ソース:
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.StringToHGlobalAuto メソッドのMarshal.StringToCoTaskMemAuto反対の機能が用意されています。

こちらもご覧ください

適用対象

PtrToStringAuto(IntPtr, Int32)

ソース:
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.StringToCoTaskMemAuto 提供します Marshal.StringToHGlobalAuto

こちらもご覧ください

適用対象