Udostępnij za pośrednictwem


Marshal.PtrToStringUni Metoda

Definicja

Przydziela zarządzany String i kopiuje do niego wszystkie lub części niezarządzanego ciągu Unicode.

Przeciążenia

PtrToStringUni(IntPtr)

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

PtrToStringUni(IntPtr, Int32)

Przydziela zarządzany 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 String i kopiuje do niego wszystkie znaki do pierwszego znaku o wartości 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 niezarządzanego ciągu.

Zwraca

Ciąg zarządzany, który przechowuje 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 marshalingu niestandardowego lub do użycia podczas mieszania kodu zarządzanego i niezarządzanych. Ponieważ ta metoda tworzy kopię zawartości niezarządzanego ciągu, musisz zwolnić oryginalny ciąg zgodnie z potrzebami. 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 go 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ądzany 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 niezarządzanego ciągu.

len
Int32

Liczba znaków Unicode do skopiowania.

Zwraca

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

Atrybuty

Uwagi

PtrToStringUni jest przydatna w przypadku marshalingu niestandardowego lub podczas mieszania zarządzanego i niezarządzanych kodu. Ponieważ ta metoda tworzy kopię zawartości niezarządzanego ciągu, musisz zwolnić oryginalny ciąg zgodnie z potrzebami. 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 go użyć.

Zobacz też

Dotyczy