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