Marshal.PtrToStringUni Metoda

Definicja

Przydziela zarządzany i String kopiuje do niego cały lub część niezarządzanego ciągu Unicode.

Przeciążenia

PtrToStringUni(IntPtr)

Przydziela zarządzany i String kopiuje do niego wszystkie znaki do pierwszego znaku null z niezarządzanego ciągu Unicode.

PtrToStringUni(IntPtr, Int32)

Przydziela zarządzaną String i kopiuje do niego określoną liczbę znaków z niezarządzanego ciągu Unicode.

PtrToStringUni(IntPtr)

Źródło:
Marshal.cs
Źródło:
Marshal.cs
Źródło:
Marshal.cs

Przydziela zarządzany i String kopiuje do niego wszystkie znaki do pierwszego znaku null z niezarządzanego ciągu Unicode.

public:
 static System::String ^ PtrToStringUni(IntPtr ptr);
[System.Security.SecurityCritical]
public static string PtrToStringUni (IntPtr ptr);
public static string? PtrToStringUni (IntPtr ptr);
public static string PtrToStringUni (IntPtr ptr);
[<System.Security.SecurityCritical>]
static member PtrToStringUni : nativeint -> string
static member PtrToStringUni : nativeint -> string
Public Shared Function PtrToStringUni (ptr As IntPtr) As String

Parametry

ptr
IntPtr

nativeint

Adres pierwszego znaku ciągu niezarządzanego.

Zwraca

Ciąg zarządzany, który zawiera kopię niezarządzanego ciągu, jeśli wartość parametru ptr nie nulljest ; w przeciwnym razie ta metoda zwraca wartość null.

Atrybuty

Uwagi

PtrToStringUni jest przydatne w przypadku niestandardowego marshalingu lub do użycia podczas mieszania zarządzanego i niezarządzanych kodu. Ponieważ ta metoda tworzy kopię zawartości niezarządzanego ciągu, należy zwolnić oryginalny ciąg odpowiednio. Ta metoda zapewnia przeciwną funkcjonalność Marshal.StringToCoTaskMemUni metod i Marshal.StringToHGlobalUni .

Ten interfejs API odzwierciedla definicję systemu Windows unicode, która jest kodowaniem UTF-16 2-bajtowym. Na wielu platformach wchar_t innych niż Windows typ danych to 4 bajty, a nie 2 bajty. Skonsultuj się z kompilatorem, aby potwierdzić, czy wchar_t można go użyć lub char16_t zamiast tego należy użyć.

Zobacz też

Dotyczy

PtrToStringUni(IntPtr, Int32)

Źródło:
Marshal.cs
Źródło:
Marshal.cs
Źródło:
Marshal.cs

Przydziela zarządzaną String i kopiuje do niego określoną liczbę znaków z niezarządzanego ciągu Unicode.

public:
 static System::String ^ PtrToStringUni(IntPtr ptr, int len);
[System.Security.SecurityCritical]
public static string PtrToStringUni (IntPtr ptr, int len);
public static string PtrToStringUni (IntPtr ptr, int len);
[<System.Security.SecurityCritical>]
static member PtrToStringUni : nativeint * int -> string
static member PtrToStringUni : nativeint * int -> string
Public Shared Function PtrToStringUni (ptr As IntPtr, len As Integer) As String

Parametry

ptr
IntPtr

nativeint

Adres pierwszego znaku ciągu niezarządzanego.

len
Int32

Liczba znaków Unicode do skopiowania.

Zwraca

Ciąg zarządzany, który zawiera kopię niezarządzanego ciągu, jeśli wartość parametru ptr nie nulljest ; w przeciwnym razie ta metoda zwraca wartość null.

Atrybuty

Uwagi

PtrToStringUni jest przydatne w przypadku niestandardowego marshalingu lub podczas mieszania zarządzanego i niezarządzanych kodu. Ponieważ ta metoda tworzy kopię zawartości niezarządzanego ciągu, należy zwolnić oryginalny ciąg odpowiednio. Ta metoda zapewnia przeciwną funkcjonalność Marshal.StringToCoTaskMemUni metod i Marshal.StringToHGlobalUni .

Ten interfejs API odzwierciedla definicję systemu Windows unicode, która jest kodowaniem UTF-16 2-bajtowym. Na wielu platformach wchar_t innych niż Windows typ danych to 4 bajty, a nie 2 bajty. Skonsultuj się z kompilatorem, aby potwierdzić, czy wchar_t można go użyć lub char16_t zamiast tego należy użyć.

Zobacz też

Dotyczy