Marshal.PtrToStringAuto Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Allokerar en hanterad String och kopierar hela eller delar av en ohanterad sträng till den.
Överlagringar
| Name | Description |
|---|---|
| PtrToStringAuto(IntPtr) |
Allokerar en hanterad String och kopierar alla tecken upp till det första null-tecknet från en sträng som lagras i ohanterat minne i den. |
| PtrToStringAuto(IntPtr, Int32) |
Allokerar en hanterad String och kopierar det angivna antalet tecken från en sträng som lagras i ohanterat minne i den. |
PtrToStringAuto(IntPtr)
- Källa:
- Marshal.Unix.cs
- Källa:
- Marshal.Unix.cs
- Källa:
- Marshal.Unix.cs
- Källa:
- Marshal.Unix.cs
- Källa:
- Marshal.Unix.cs
Allokerar en hanterad String och kopierar alla tecken upp till det första null-tecknet från en sträng som lagras i ohanterat minne i den.
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
Parametrar
- ptr
-
IntPtr
nativeint
För Unicode-plattformar är adressen till det första Unicode-tecknet.
-eller-
För ANSI-plattformar är adressen till det första ANSI-tecknet.
Returer
En hanterad sträng som innehåller en kopia av den ohanterade strängen om värdet för parametern ptr inte nullär . Annars returnerar nullden här metoden .
- Attribut
Kommentarer
Om den aktuella plattformen är Unicode utvidgas varje ANSI-tecken till ett Unicode-tecken och den här metoden anropar PtrToStringUni. Annars anropar PtrToStringAnsiden här metoden .
PtrToStringAuto är användbart för anpassad marskalkering eller vid blandning av hanterad och ohanterad kod. Eftersom den här metoden skapar en kopia av den ohanterade strängens innehåll måste du frigöra den ursprungliga strängen efter behov. PtrToStringAuto ger motsatta funktioner i Marshal.StringToCoTaskMemAuto metoderna och Marshal.StringToHGlobalAuto .
Se även
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)
Gäller för
PtrToStringAuto(IntPtr, Int32)
- Källa:
- Marshal.Unix.cs
- Källa:
- Marshal.Unix.cs
- Källa:
- Marshal.Unix.cs
- Källa:
- Marshal.Unix.cs
- Källa:
- Marshal.Unix.cs
Allokerar en hanterad String och kopierar det angivna antalet tecken från en sträng som lagras i ohanterat minne i den.
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
Parametrar
- ptr
-
IntPtr
nativeint
För Unicode-plattformar är adressen till det första Unicode-tecknet.
-eller-
För ANSI-plattformar är adressen till det första ANSI-tecknet.
- len
- Int32
Antalet tecken som ska kopieras.
Returer
En hanterad sträng som innehåller en kopia av den interna strängen om värdet för parametern ptr inte nullär . Annars returnerar nullden här metoden .
- Attribut
Undantag
len är mindre än noll.
Kommentarer
På Unicode-plattformar anropar PtrToStringUniden här metoden ; på ANSI-plattformar anropas PtrToStringAnsi. Inga transformeringar görs innan dessa metoder anropas.
PtrToStringAuto är användbart för anpassad marskalkering eller vid blandning av hanterad och ohanterad kod. Eftersom den här metoden skapar en kopia av den ohanterade strängens innehåll måste du frigöra den ursprungliga strängen efter behov. PtrToStringAuto innehåller motsatta funktioner för Marshal.StringToCoTaskMemAuto och Marshal.StringToHGlobalAuto.
Se även
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)