Marshal.PtrToStringUni Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 null
jest ; 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 null
jest ; 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ć.