Marshal.PtrToStringAuto メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
マネージド 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反対の機能が用意されています。
こちらもご覧ください
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)
適用対象
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。
こちらもご覧ください
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)
適用対象
.NET