Marshal.PtrToStringUTF8 メソッド

定義

オーバーロード

PtrToStringUTF8(IntPtr)

マネージド String を割り当て、アンマネージド UTF-8 文字列から最初の null 文字に遭遇するまでの文字をすべてコピーします。

PtrToStringUTF8(IntPtr, Int32)

マネージド String を割り当て、アンマネージド UTF-8 文字列から指定されたバイト数をコピーします。

PtrToStringUTF8(IntPtr)

ソース:
Marshal.cs
ソース:
Marshal.cs
ソース:
Marshal.cs

マネージド String を割り当て、アンマネージド UTF-8 文字列から最初の null 文字に遭遇するまでの文字をすべてコピーします。

public static string? PtrToStringUTF8 (IntPtr ptr);
[System.Security.SecurityCritical]
public static string PtrToStringUTF8 (IntPtr ptr);
public static string PtrToStringUTF8 (IntPtr ptr);

パラメーター

ptr
IntPtr

アンマネージ文字列の最初の文字のアドレス。

戻り値

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

属性

注釈

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

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

PtrToStringUTF8(IntPtr, Int32)

ソース:
Marshal.cs
ソース:
Marshal.cs
ソース:
Marshal.cs

マネージド String を割り当て、アンマネージド UTF-8 文字列から指定されたバイト数をコピーします。

public static string PtrToStringUTF8 (IntPtr ptr, int byteLen);
[System.Security.SecurityCritical]
public static string PtrToStringUTF8 (IntPtr ptr, int byteLen);

パラメーター

ptr
IntPtr

アンマネージ文字列の最初の文字のアドレス。

byteLen
Int32

コピーするバイト数。

戻り値

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

属性

注釈

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

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1