Marshal Klasse

Definition

Bietet eine Auflistung von Methoden zum Belegen von nicht verwaltetem Speicher, zum Kopieren von nicht verwalteten Speicherblöcken und zum Konvertieren von verwalteten in nicht verwaltete Typen sowie sonstige Methoden, die bei der Interaktion mit nicht verwaltetem Code verwendet werden.

public ref class Marshal abstract sealed
public ref class Marshal sealed
public static class Marshal
public sealed class Marshal
type Marshal = class
Public Class Marshal
Public NotInheritable Class Marshal
Vererbung
Marshal

Beispiele

Im folgenden Beispiel wird gezeigt, wie verschiedene methoden verwendet werden, die von der Marshal -Klasse definiert werden.

using namespace System;
using namespace System::Runtime::InteropServices;

public value struct Point
{
public:
    property int X;
    property int Y;
};
extern bool CloseHandle(IntPtr h);

int main()
{
    // Demonstrate the use of public static fields of the Marshal
    // class.
    Console::WriteLine(
        "SystemDefaultCharSize={0},SystemMaxDBCSCharSize={1}",
        Marshal::SystemDefaultCharSize,
        Marshal::SystemMaxDBCSCharSize);

    // Demonstrate the use of the SizeOf method of the Marshal
    // class.
    Console::WriteLine("Number of bytes needed by a Point object: {0}",
        Marshal::SizeOf(Point::typeid));
    Point point;
    Console::WriteLine("Number of bytes needed by a Point object: {0}",
        Marshal::SizeOf(point));

    // Demonstrate how to call GlobalAlloc and 
    // GlobalFree using the Marshal class.
    IntPtr hglobal = Marshal::AllocHGlobal(100);
    Marshal::FreeHGlobal(hglobal);

    // Demonstrate how to use the Marshal class to get the Win32
    // error code when a Win32 method fails.
    bool isCloseHandleSuccess = CloseHandle(IntPtr(-1));
    if (!isCloseHandleSuccess)
    {
        Console::WriteLine(
            "CloseHandle call failed with an error code of: {0}",
            Marshal::GetLastWin32Error());
    }
};

// This is a platform invoke prototype. SetLastError is true,
// which allows the GetLastWin32Error method of the Marshal class
// to work correctly.    
[DllImport("Kernel32", ExactSpelling = true, SetLastError = true)]
extern bool CloseHandle(IntPtr h);

// This code produces the following output.
// 
// SystemDefaultCharSize=2, SystemMaxDBCSCharSize=1
// Number of bytes needed by a Point object: 8
// Number of bytes needed by a Point object: 8
// CloseHandle call failed with an error code of: 6
using System;
using System.Text;
using System.Runtime.InteropServices;

public struct Point
{
    public Int32 x, y;
}

public sealed class App
{
    static void Main()
    {
        // Demonstrate the use of public static fields of the Marshal class.
        Console.WriteLine("SystemDefaultCharSize={0}, SystemMaxDBCSCharSize={1}",
            Marshal.SystemDefaultCharSize, Marshal.SystemMaxDBCSCharSize);

        // Demonstrate the use of the SizeOf method of the Marshal class.
        Console.WriteLine("Number of bytes needed by a Point object: {0}",
            Marshal.SizeOf(typeof(Point)));
        Point p = new Point();
        Console.WriteLine("Number of bytes needed by a Point object: {0}",
            Marshal.SizeOf(p));

        // Demonstrate how to call GlobalAlloc and
        // GlobalFree using the Marshal class.
        IntPtr hglobal = Marshal.AllocHGlobal(100);
        Marshal.FreeHGlobal(hglobal);

        // Demonstrate how to use the Marshal class to get the Win32 error
        // code when a Win32 method fails.
        Boolean f = CloseHandle(new IntPtr(-1));
        if (!f)
        {
            Console.WriteLine("CloseHandle call failed with an error code of: {0}",
                Marshal.GetLastWin32Error());
        }
    }

    // This is a platform invoke prototype. SetLastError is true, which allows
    // the GetLastWin32Error method of the Marshal class to work correctly.
    [DllImport("Kernel32", ExactSpelling = true, SetLastError = true)]
    static extern Boolean CloseHandle(IntPtr h);
}

// This code produces the following output.
//
// SystemDefaultCharSize=2, SystemMaxDBCSCharSize=1
// Number of bytes needed by a Point object: 8
// Number of bytes needed by a Point object: 8
// CloseHandle call failed with an error code of: 6
Imports System.Text
Imports System.Runtime.InteropServices
Imports System.Security.Permissions



Public Structure Point
    Public x, y As Int32
End Structure



Public NotInheritable Class App

    <SecurityPermission(SecurityAction.LinkDemand, Unrestricted:=True)> _
    Shared Sub Main()
        ' Demonstrate the use of public static fields of the Marshal class.
        Console.WriteLine("SystemDefaultCharSize={0}, SystemMaxDBCSCharSize={1}", Marshal.SystemDefaultCharSize, Marshal.SystemMaxDBCSCharSize)
        ' Demonstrate the use of the SizeOf method of the Marshal class.
        Console.WriteLine("Number of bytes needed by a Point object: {0}", Marshal.SizeOf(GetType(Point)))
        Dim p As New Point()
        Console.WriteLine("Number of bytes needed by a Point object: {0}", Marshal.SizeOf(p))
        ' Demonstrate how to call GlobalAlloc and 
        ' GlobalFree using the Marshal class.
        Dim hglobal As IntPtr = Marshal.AllocHGlobal(100)
        Marshal.FreeHGlobal(hglobal)
        ' Demonstrate how to use the Marshal class to get the Win32 error 
        ' code when a Win32 method fails.
        Dim f As [Boolean] = CloseHandle(New IntPtr(-1))
        If Not f Then
            Console.WriteLine("CloseHandle call failed with an error code of: {0}", Marshal.GetLastWin32Error())
        End If

    End Sub


    ' This is a platform invoke prototype. SetLastError is true, which allows 
    ' the GetLastWin32Error method of the Marshal class to work correctly.    
    <DllImport("Kernel32", ExactSpelling:=True, SetLastError:=True)> _
    Shared Function CloseHandle(ByVal h As IntPtr) As [Boolean]

    End Function
End Class


' This code produces the following output.
' 
' SystemDefaultCharSize=2, SystemMaxDBCSCharSize=1
' Number of bytes needed by a Point object: 8
' Number of bytes needed by a Point object: 8
' CloseHandle call failed with an error code of: 6

Hinweise

Die static für die -Klasse definierten Methoden sind für die Marshal Arbeit mit nicht verwaltetem Code unerlässlich. Die meisten in dieser Klasse definierten Methoden werden in der Regel von Entwicklern verwendet, die eine Brücke zwischen den verwalteten und nicht verwalteten Programmiermodellen bieten möchten. Beispielsweise kopiert die StringToHGlobalAnsi Methode ANSI-Zeichen aus einer angegebenen Zeichenfolge (im verwalteten Heap) in einen Puffer im nicht verwalteten Heap. Außerdem wird der Zielheap der richtigen Größe zugeordnet.

Die Common Language Runtime bietet bestimmte Marshallfunktionen. Ausführliche Informationen zum Marshallingverhalten finden Sie unter Interop Marshaling.

Die Read Methoden und Write in der Marshal -Klasse unterstützen sowohl ausgerichteten als auch nicht ausgerichteten Zugriff.

Felder

SystemDefaultCharSize

Stellt die Standardzeichengröße für das System dar. Der Standardwert ist 2 für Unicode-Systeme und 1 für ANSI-Systeme. Dieses Feld ist schreibgeschützt.

SystemMaxDBCSCharSize

Stellt die maximale Größe eines DBCS (Double-Byte Character Set) für das aktuelle Betriebssystem in Bytes dar. Dieses Feld ist schreibgeschützt.

Methoden

AddRef(IntPtr)

Inkrementiert den Verweiszähler für die angegebene Schnittstelle.

AllocCoTaskMem(Int32)

Belegt einen Speicherblock der angegebenen Größe aus der Speicherbelegungsfunktion für COM-Aufgaben.

AllocHGlobal(Int32)

Reserviert Speicher aus dem nicht verwalteten Arbeitsspeicher des Prozesses mit der angegebenen Anzahl von Bytes.

AllocHGlobal(IntPtr)

Reserviert Speicher aus dem nicht verwalteten Arbeitsspeicher des Prozesses mithilfe des Zeigers auf die angegebene Anzahl von Bytes.

AreComObjectsAvailableForCleanup()

Gibt an, ob Runtime Callable Wrappers (RCWs) aus einem beliebigen Kontext zur Bereinigung verfügbar sind.

BindToMoniker(String)

Ruft einen vom angegebenen Moniker bezeichneten Schnittstellenzeiger ab.

ChangeWrapperHandleStrength(Object, Boolean)

Ändert die Stärke des CCW-Handles (COM Callable Wrapper) für ein Objekt.

CleanupUnusedObjectsInCurrentContext()

Benachrichtigt die Laufzeit, dass alle im aktuellen Kontext reservierten Runtime Callable Wrapper (RCW) bereinigt werden sollen.

Copy(Byte[], Int32, IntPtr, Int32)

Kopiert Daten aus einem eindimensionalen, verwalteten Array von 8-Bit-Ganzzahlen ohne Vorzeichen in einen nicht verwalteten Speicherzeiger.

Copy(Char[], Int32, IntPtr, Int32)

Kopiert Daten aus einem eindimensionalen, verwalteten Zeichenarray in einen nicht verwalteten Speicherzeiger.

Copy(Double[], Int32, IntPtr, Int32)

Kopiert Daten aus einem eindimensionalen, verwalteten Array von Gleitkommazahlen mit doppelter Genauigkeit in einen nicht verwalteten Speicherzeiger.

Copy(Int16[], Int32, IntPtr, Int32)

Kopiert Daten aus einem eindimensionalen, verwalteten Array von 16-Bit-Ganzzahlen mit Vorzeichen in einen nicht verwalteten Speicherzeiger.

Copy(Int32[], Int32, IntPtr, Int32)

Kopiert Daten aus einem eindimensionalen, verwalteten Array von 32-Bit-Ganzzahlen mit Vorzeichen in einen nicht verwalteten Speicherzeiger.

Copy(Int64[], Int32, IntPtr, Int32)

Kopiert Daten aus einem eindimensionalen, verwalteten Array von 64-Bit-Ganzzahlen mit Vorzeichen in einen nicht verwalteten Speicherzeiger.

Copy(IntPtr, Byte[], Int32, Int32)

Kopiert Daten aus einem nicht verwalteten Speicherzeiger in ein verwaltetes Array von 8-Bit-Ganzzahlen ohne Vorzeichen.

Copy(IntPtr, Char[], Int32, Int32)

Kopiert Daten aus einem nicht verwalteten Speicherzeiger in ein verwaltetes Zeichenarray.

Copy(IntPtr, Double[], Int32, Int32)

Kopiert Daten aus einem nicht verwalteten Speicherzeiger in ein verwaltetes Array von Gleitkommazahlen mit doppelter Genauigkeit.

Copy(IntPtr, Int16[], Int32, Int32)

Kopiert Daten aus einem nicht verwalteten Speicherzeiger in ein verwaltetes Array von 16-Bit-Ganzzahlen mit Vorzeichen.

Copy(IntPtr, Int32[], Int32, Int32)

Kopiert Daten aus einem nicht verwalteten Speicherzeiger in ein verwaltetes Array von 32-Bit-Ganzzahlen mit Vorzeichen.

Copy(IntPtr, Int64[], Int32, Int32)

Kopiert Daten aus einem nicht verwalteten Speicherzeiger in ein verwaltetes Array von 64-Bit-Ganzzahlen mit Vorzeichen.

Copy(IntPtr, IntPtr[], Int32, Int32)

Kopiert Daten aus einem nicht verwalteten Speicherzeiger in ein verwaltetes IntPtr-Array.

Copy(IntPtr, Single[], Int32, Int32)

Kopiert Daten aus einem nicht verwalteten Speicherzeiger in ein verwaltetes Array von Gleitkommazahlen mit einfacher Genauigkeit.

Copy(IntPtr[], Int32, IntPtr, Int32)

Kopiert Daten aus einem eindimensionalen, verwalteten IntPtr-Array in einen nicht verwalteten Speicherzeiger.

Copy(Single[], Int32, IntPtr, Int32)

Kopiert Daten aus einem eindimensionalen, verwalteten Array von Gleitkommazahlen mit einfacher Genauigkeit in einen nicht verwalteten Speicherzeiger.

CreateAggregatedObject(IntPtr, Object)
Veraltet.

Verbindet ein verwaltetes Objekt mit dem angegebenen COM-Objekt.

CreateAggregatedObject<T>(IntPtr, T)

Aggregiert ein verwaltetes Objekt des angegebenen Typs mit dem angegebenen COM-Objekt.

CreateWrapperOfType(Object, Type)
Veraltet.

Umschließt das angegebene COM-Objekt mit einem Objekt des angegebenen Typs.

CreateWrapperOfType<T,TWrapper>(T)

Umschließt das angegebene COM-Objekt mit einem Objekt des angegebenen Typs.

DestroyStructure(IntPtr, Type)
Veraltet.

Gibt alle Unterstrukturen frei, auf die der angegebene nicht verwaltete Speicherblock zeigt.

DestroyStructure<T>(IntPtr)

Gibt alle Unterstrukturen eines angegebenen Typs frei, auf die der angegebene nicht verwaltete Speicherblock zeigt.

FinalReleaseComObject(Object)

Gibt alle Verweise auf einen Runtime Callable Wrapper (RCW) durch Festlegen des Verweiszählers auf 0 frei.

FreeBSTR(IntPtr)

Gibt einen BSTR mithilfe der COM-SysFreeString-Funktion frei.

FreeCoTaskMem(IntPtr)

Gibt einen Speicherblock frei, der von der nicht verwalteten Speicherbelegungsfunktion für COM-Aufgaben belegt wurde.

FreeHGlobal(IntPtr)

Gibt Speicherplatz frei, der zuvor aus dem nicht verwalteten Speicher des Prozesses belegt wurde.

GenerateGuidForType(Type)

Gibt die GUID (Globally Unique Identifier, globaler eindeutiger Bezeichner) für den angegebenen Typ zurück oder generiert eine GUID mithilfe des vom Type Library Exporter-Tool (TlbExp.exe) verwendeten Algorithmus.

GenerateProgIdForType(Type)

Gibt eine ProgID (Programmbezeichner) für den angegebenen Typ zurück.

GetActiveObject(String)

Ruft eine ausgeführte Instanz des angegebenen Objekts aus der ROT (Running Object Table) ab.

GetComInterfaceForObject(Object, Type)
Veraltet.

Gibt einen Zeiger auf eine IUnknown-Schnittstelle zurück, die die angegebene Schnittstelle für das angegebene Objekt darstellt. Der benutzerdefinierte Zugriff auf Abfrageschnittstellen ist standardmäßig aktiviert.

GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode)
Veraltet.

Gibt einen Zeiger auf eine IUnknown-Schnittstelle zurück, die die angegebene Schnittstelle für das angegebene Objekt darstellt. Der benutzerdefinierte Zugriff auf die Abfrageschnittstelle wird vom angegebenen Anpassungsmodus gesteuert.

GetComInterfaceForObject<T,TInterface>(T)

Gibt einen Zeiger auf eine IUnknown-Schnittstelle zurück, die die angegebene Schnittstelle für das Objekt des angegebenen Typs darstellt. Der benutzerdefinierte Zugriff auf Abfrageschnittstellen ist standardmäßig aktiviert.

GetComInterfaceForObjectInContext(Object, Type)

Gibt einen Schnittstellenzeiger zurück, der die angegebene Schnittstelle für ein Objekt zurückgibt, wenn sich der Aufrufer in demselben Kontext wie das betreffende Objekt befindet.

GetComObjectData(Object, Object)

Ruft Daten ab, auf die durch den angegebenen Schlüssel im angegebenen COM-Objekt verwiesen wird.

GetComSlotForMethodInfo(MemberInfo)

Ruft den VTBL-Slot (virtuelle Funktionstabelle, Vtable) für einen angegebenen MemberInfo-Typ ab, wenn dieser Typ für COM verfügbar gemacht wird.

GetDelegateForFunctionPointer(IntPtr, Type)
Veraltet.

Konvertiert einen nicht verwalteten Funktionszeiger in einen Delegaten.

GetDelegateForFunctionPointer<TDelegate>(IntPtr)

Konvertiert einen nicht verwalteten Funktionszeiger in einen Delegaten eines angegebenen Typs.

GetEndComSlot(Type)

Ruft den letzten Slot in der virtuellen Funktionstabelle (Vtable oder VTBL) eines Typs ab, wenn dieser für COM verfügbar gemacht wird.

GetExceptionCode()
Veraltet.

Ruft einen Code ab, der den Typ der aufgetretenen Ausnahme bezeichnet.

GetExceptionForHR(Int32)

Konvertiert den angegebenen HRESULT-Fehlercode in ein entsprechendes Exception-Objekt.

GetExceptionForHR(Int32, IntPtr)

Konvertiert den angegebenen HRESULT-Fehlercode in ein entsprechendes Exception-Objekt, wobei zusätzliche Fehlerinformationen für das Ausnahmeobjekt in eine IErrorInfo-Schnittstelle übergeben werden.

GetExceptionPointers()

Ruft eine computerunabhängige Beschreibung einer Ausnahme und Informationen zu dem Zustand ab, der beim Auftreten der Ausnahme für den Thread vorlag.

GetFunctionPointerForDelegate(Delegate)
Veraltet.

Konvertiert einen Delegaten in einen Funktionszeiger, der aus nicht verwaltetem Code aufgerufen werden kann.

GetFunctionPointerForDelegate<TDelegate>(TDelegate)

Konvertiert einen Delegaten eines angegebenen Typs in einen Funktionszeiger, der aus nicht verwaltetem Code aufgerufen werden kann.

GetHINSTANCE(Module)

Gibt das Instanzhandle (HINSTANCE) für das angegebene Modul zurück.

GetHRForException(Exception)

Konvertiert die angegebene Ausnahme in ein HRESULT.

GetHRForLastWin32Error()

Gibt das HRESULT für den letzten Fehler zurück, der durch einen mit Marshal ausgeführten Win32-Code ausgelöst wurde.

GetIDispatchForObject(Object)

Gibt eine IDispatch-Schnittstelle aus einem verwalteten Objekt zurück.

GetIDispatchForObjectInContext(Object)

Gibt einen IDispatch-Schnittstellenzeiger aus einem verwalteten Objekt zurück, falls sich der Aufrufer in demselben Kontext wie das Objekt befindet.

GetITypeInfoForType(Type)

Gibt eine ITypeInfo-Schnittstelle aus einem verwalteten Typ zurück.

GetIUnknownForObject(Object)

Gibt eine IUnknown-Schnittstelle von einem verwalteten Objekt zurück.

GetIUnknownForObjectInContext(Object)

Gibt eine IUnknown-Schnittstelle aus einem verwalteten Objekt zurück, wenn sich der Aufrufer im gleichen Kontext wie dieses Objekt befindet.

GetLastPInvokeError()

Rufen Sie den Letzten Plattformaufruffehler für den aktuellen Thread ab.

GetLastPInvokeErrorMessage()

Ruft die Systemfehlermeldung für den letzten PInvoke-Fehlercode ab.

GetLastSystemError()

Ruft den letzten Systemfehler für den aktuellen Thread ab.

GetLastWin32Error()

Gibt den Fehlercode zurück, der durch die letzte nicht verwaltete Funktion zurückgegeben wurde, die mit einem Plattformaufruf aufgerufen wurde und bei der das SetLastError-Flag festgelegt wurde.

GetManagedThunkForUnmanagedMethodPtr(IntPtr, IntPtr, Int32)
Veraltet.

Ruft einen Zeiger auf eine zur Laufzeit generierte Funktion ab, die einen Aufruf aus verwaltetem zu nicht verwaltetem Code marshallt.

GetMethodInfoForComSlot(Type, Int32, ComMemberType)

Ruft ein MemberInfo-Objekt für den angegebenen Slot in der virtuellen Funktionstabelle (Vtable oder VTBL) ab.

GetNativeVariantForObject(Object, IntPtr)
Veraltet.

Konvertiert ein Objekt in einen COM-VARIANT.

GetNativeVariantForObject<T>(T, IntPtr)
Veraltet.

Konvertiert ein Objekt eines angegebenen Typs in eine COM VARIANTE.

GetObjectForIUnknown(IntPtr)

Gibt eine Instanz eines Typs zurück, der ein COM-Objekt mit einem Zeiger auf die IUnknown-Schnittstelle darstellt.

GetObjectForNativeVariant(IntPtr)
Veraltet.

Konvertiert einen COM-VARIANT in ein Objekt.

GetObjectForNativeVariant<T>(IntPtr)
Veraltet.

Konvertiert ein COM VARIANTE in ein Objekt eines angegebenen Typs.

GetObjectsForNativeVariants(IntPtr, Int32)
Veraltet.

Konvertiert ein Array mit COM-VARIANTs in ein Array von Objekten.

GetObjectsForNativeVariants<T>(IntPtr, Int32)
Veraltet.

Konvertiert ein Array mit COM-VARIANT in ein Array eines angegebenen Typs.

GetPInvokeErrorMessage(Int32)

Ruft die Systemfehlermeldung für den angegebenen Fehlercode ab.

GetStartComSlot(Type)

Ruft den ersten Slot in der VTBL (Vtable oder virtuelle Funktionstabelle) ab, der benutzerdefinierte Methoden enthält.

GetThreadFromFiberCookie(Int32)
Veraltet.

Konvertiert ein Fibercookie in die entsprechende Thread-Instanz.

GetTypedObjectForIUnknown(IntPtr, Type)

Gibt ein verwaltetes Objekt eines angegebenen Typs zurück, das ein COM-Objekt darstellt.

GetTypeForITypeInfo(IntPtr)

Konvertiert ein nicht verwaltetes ITypeInfo-Objekt in ein verwaltetes Type-Objekt.

GetTypeFromCLSID(Guid)

Gibt den Typ zurück, dem die angegebene Klassen-ID (CLSID) zugeordnet ist.

GetTypeInfoName(ITypeInfo)

Ruft den Namen des Typs ab, der durch ein ITypeInfo-Objekt dargestellt wird.

GetTypeInfoName(UCOMITypeInfo)
Veraltet.

Ruft den Namen des Typs ab, der durch ein ITypeInfo-Objekt dargestellt wird.

GetTypeLibGuid(ITypeLib)

Ruft die Bibliothek-ID (LIBID) einer Typbibliothek ab.

GetTypeLibGuid(UCOMITypeLib)
Veraltet.

Ruft die Bibliothek-ID (LIBID) einer Typbibliothek ab.

GetTypeLibGuidForAssembly(Assembly)

Ruft die Bibliothek-ID (LIBID) ab, die einer Typbibliothek beim Export aus der angegebenen Assembly zugewiesen wird.

GetTypeLibLcid(ITypeLib)

Ruft die LCID einer Typbibliothek ab.

GetTypeLibLcid(UCOMITypeLib)
Veraltet.

Ruft die LCID einer Typbibliothek ab.

GetTypeLibName(ITypeLib)

Ruft den Namen einer Typbibliothek ab.

GetTypeLibName(UCOMITypeLib)
Veraltet.

Ruft den Namen einer Typbibliothek ab.

GetTypeLibVersionForAssembly(Assembly, Int32, Int32)

Ruft die Versionsnummer einer Typbibliothek ab, die aus der angegebenen Assembly exportiert wird.

GetUniqueObjectForIUnknown(IntPtr)

Erstellt ein eindeutiges Runtime Callable Wrapper-Objekt (RCW) für eine angegebene IUnknown-Schnittstelle.

GetUnmanagedThunkForManagedMethodPtr(IntPtr, IntPtr, Int32)
Veraltet.

Ruft einen Zeiger auf eine zur Laufzeit generierte Funktion ab, die einen Aufruf aus nicht verwaltetem zu verwaltetem Code marshallt.

InitHandle(SafeHandle, IntPtr)

Initialisiert das zugrunde liegende Handle eines neu erstellten SafeHandle für den bereitgestellten Wert.

IsComObject(Object)

Gibt an, ob ein angegebenes Objekt ein COM-Objekt darstellt.

IsTypeVisibleFromCom(Type)

Gibt an, ob ein Typ für COM-Clients sichtbar ist.

NumParamBytes(MethodInfo)

Berechnet die Anzahl der Bytes im nicht verwalteten Speicher, die zum Speichern der Parameter für die angegebene Methode erforderlich ist.

OffsetOf(Type, String)
Veraltet.

Gibt den Feldoffset der nicht verwalteten Form der verwalteten Klasse zurück.

OffsetOf<T>(String)

Gibt den Feldoffset der nicht verwalteten Form einer festgelegten verwalteten Klasse zurück.

Prelink(MethodInfo)

Führt einmalige Aufgaben zur Methodeneinrichtung aus, ohne die Methode aufzurufen.

PrelinkAll(Type)

Führt eine Linkervorstufen-Prüfung für alle Methoden einer Klasse durch.

PtrToStringAnsi(IntPtr)

Kopiert alle Zeichen bis zum ersten NULL-Zeichen aus einer nicht verwalteten ANSI- oder UTF-8-Zeichenfolge in einen verwalteten String und erweitert die einzelnen ANSI-Zeichen zu UTF-16.

PtrToStringAnsi(IntPtr, Int32)

Belegt einen verwalteten String, kopiert eine angegebene Anzahl von Zeichen aus einer nicht verwalteten ANSI- oder UTF-8-Zeichenfolge hinein und erweitert jedes ANSI-Zeichen zu einem UTF-16.

PtrToStringAuto(IntPtr)

Reserviert einen verwalteten String und kopiert alle Zeichen bis zum ersten NULL-Zeichen aus einer Zeichenfolge hinein, die im nicht verwalteten Speicher gespeichert ist.

PtrToStringAuto(IntPtr, Int32)

Reserviert einen verwalteten String und kopiert die angegebene Anzahl von Zeichen aus einer in nicht verwaltetem Speicher gespeicherten Zeichenfolge hinein.

PtrToStringBSTR(IntPtr)

Reserviert einen verwalteten String und kopiert eine binäre Zeichenfolge (BSTR) aus dem nicht verwalteten Speicher hinein.

PtrToStringUni(IntPtr)

Reserviert einen verwalteten String und kopiert alle Zeichen bis zum ersten NULL-Zeichen aus einer nicht verwalteten Unicode-Zeichenfolge hinein.

PtrToStringUni(IntPtr, Int32)

Reserviert einen verwalteten String und kopiert eine angegebene Anzahl von Zeichen aus einer nicht verwalteten Unicode-Zeichenfolge hinein.

PtrToStringUTF8(IntPtr)

Reserviert einen verwalteten String und kopiert alle Zeichen bis zum ersten NULL-Zeichen aus einer nicht verwalteten UTF-8-Zeichenfolge hinein.

PtrToStringUTF8(IntPtr, Int32)

Reserviert einen verwalteten String und kopiert eine angegebene Anzahl von Zeichen aus einer nicht verwalteten UTF-8-Zeichenfolge hinein.

PtrToStructure(IntPtr, Object)
Veraltet.

Marshallt Daten aus einem nicht verwalteten Speicherblock zu einem verwalteten Objekt.

PtrToStructure(IntPtr, Type)
Veraltet.

Marshallt Daten aus einem nicht verwalteten Speicherblock zu einem neu belegten, verwalteten Objekt des angegebenen Typs.

PtrToStructure<T>(IntPtr)

Marshallt Daten aus einem nicht verwalteten Speicherblock zu einem neu belegten, verwalteten Objekt des von einem generischen Typparameter angegebenen Typs.

PtrToStructure<T>(IntPtr, T)

Marshallt Daten aus einem nicht verwalteten Speicherblock zu einem verwalteten Objekt eines festgelegten Typs.

QueryInterface(IntPtr, Guid, IntPtr)

Fordert einen Zeiger auf eine angegebene Schnittstelle von einem COM-Objekt an.

ReadByte(IntPtr)

Liest ein einzelnes Byte aus dem nicht verwalteten Speicher.

ReadByte(IntPtr, Int32)

Liest ein einzelnes Byte an einem angegebenen Offset (oder Index) aus dem nicht verwalteten Speicher.

ReadByte(Object, Int32)
Veraltet.

Liest ein einzelnes Byte an einem angegebenen Offset (oder Index) aus dem nicht verwalteten Speicher.

ReadInt16(IntPtr)

Liest eine 16-Bit-Ganzzahl mit Vorzeichen aus dem nicht verwalteten Speicher.

ReadInt16(IntPtr, Int32)

Liest eine 16-Bit-Ganzzahl mit Vorzeichen an einem angegebenen Offset aus dem nicht verwalteten Arbeitsspeicher.

ReadInt16(Object, Int32)
Veraltet.

Liest eine 16-Bit-Ganzzahl mit Vorzeichen an einem angegebenen Offset aus dem nicht verwalteten Arbeitsspeicher.

ReadInt32(IntPtr)

Liest eine 32-Bit-Ganzzahl mit Vorzeichen aus dem nicht verwalteten Speicher.

ReadInt32(IntPtr, Int32)

Liest eine 32-Bit-Ganzzahl mit Vorzeichen an einem angegebenen Offset aus dem nicht verwalteten Arbeitsspeicher.

ReadInt32(Object, Int32)
Veraltet.

Liest eine 32-Bit-Ganzzahl mit Vorzeichen an einem angegebenen Offset aus dem nicht verwalteten Arbeitsspeicher.

ReadInt64(IntPtr)

Liest eine 64-Bit-Ganzzahl mit Vorzeichen aus dem nicht verwalteten Speicher.

ReadInt64(IntPtr, Int32)

Liest eine 64-Bit-Ganzzahl mit Vorzeichen an einem angegebenen Offset aus dem nicht verwalteten Arbeitsspeicher.

ReadInt64(Object, Int32)
Veraltet.

Liest eine 64-Bit-Ganzzahl mit Vorzeichen an einem angegebenen Offset aus dem nicht verwalteten Arbeitsspeicher.

ReadIntPtr(IntPtr)

Liest eine ganze Zahl von prozessoreigener Größe aus dem nicht verwalteten Speicher.

ReadIntPtr(IntPtr, Int32)

Liest eine ganze Zahl von prozessoreigener Größe an einem angegebenen Offset aus dem nicht verwalteten Speicher.

ReadIntPtr(Object, Int32)
Veraltet.

Liest eine ganze Zahl von prozessoreigener Größe aus dem nicht verwalteten Speicher.

ReAllocCoTaskMem(IntPtr, Int32)

Ändert die Größe eines bereits mit AllocCoTaskMem(Int32) belegten Speicherblocks.

ReAllocHGlobal(IntPtr, IntPtr)

Ändert die Größe eines bereits mit AllocHGlobal(IntPtr) belegten Speicherblocks.

Release(IntPtr)

Dekrementiert den Verweiszähler für die angegebene Schnittstelle.

ReleaseComObject(Object)

Verringert den Verweiszähler des dem angegebenen COM-Objekt zugeordneten Runtime Callable Wrapper (RCW).

ReleaseThreadCache()
Veraltet.

Gibt den Threadcache frei.

SecureStringToBSTR(SecureString)

Reserviert eine nicht verwaltete binäre Zeichenfolge (BSTR) und kopiert den Inhalt eines verwalteten SecureString-Objekts hinein.

SecureStringToCoTaskMemAnsi(SecureString)

Kopiert den Inhalt eines verwalteten SecureString-Objekts in einen Speicherblock, der von der nicht verwalteten Speicherbelegung für COM-Aufgaben reserviert wurde.

SecureStringToCoTaskMemUnicode(SecureString)

Kopiert den Inhalt eines verwalteten SecureString-Objekts in einen Speicherblock, der von der nicht verwalteten Speicherbelegung für COM-Aufgaben reserviert wurde.

SecureStringToGlobalAllocAnsi(SecureString)

Kopiert den Inhalt eines verwalteten SecureString in den nicht verwalteten Speicher und konvertiert ihn beim Kopieren in das ANSI-Format.

SecureStringToGlobalAllocUnicode(SecureString)

Kopiert den Inhalt eines verwalteten SecureString-Objekts in den nicht verwalteten Speicher.

SetComObjectData(Object, Object, Object)

Legt Daten fest, auf die durch den angegebenen Schlüssel im angegebenen COM-Objekt verwiesen wird.

SetLastPInvokeError(Int32)

Legt den letzten Plattformaufruffehler für den aktuellen Thread fest.

SetLastSystemError(Int32)

Legt den letzten Systemfehler für den aktuellen Thread fest.

SizeOf(Object)
Veraltet.

Gibt die nicht verwaltete Größe eines Objekts in Bytes zurück.

SizeOf(Type)
Veraltet.

Gibt die Größe eines nicht verwalteten Typs in Bytes zurück.

SizeOf<T>()

Gibt die Größe eines nicht verwalteten Typs in Bytes zurück.

SizeOf<T>(T)

Gibt die nicht verwaltete Größe eines Objekts eines angegebenen Typs in Bytes zurück.

StringToBSTR(String)

Weist einen BSTR zu und kopiert den Inhalt eines verwalteten String hinein.

StringToCoTaskMemAnsi(String)

Kopiert den Inhalt eines verwalteten String in einen Speicherblock, der von der nicht verwalteten Speicherbelegung für COM-Aufgaben reserviert wurde.

StringToCoTaskMemAuto(String)

Kopiert den Inhalt eines verwalteten String in einen Speicherblock, der von der nicht verwalteten Speicherbelegung für COM-Aufgaben reserviert wurde.

StringToCoTaskMemUni(String)

Kopiert den Inhalt eines verwalteten String in einen Speicherblock, der von der nicht verwalteten Speicherbelegung für COM-Aufgaben reserviert wurde.

StringToCoTaskMemUTF8(String)

Kopiert den Inhalt eines verwalteten String in einen Speicherblock, der von der nicht verwalteten Speicherbelegung für COM-Aufgaben reserviert wurde.

StringToHGlobalAnsi(String)

Kopiert den Inhalt eines verwalteten String in den nicht verwalteten Speicher und konvertiert ihn beim Kopieren in das ANSI-Format.

StringToHGlobalAuto(String)

Kopiert den Inhalt eines verwalteten String in den nicht verwalteten Speicher und konvertiert ihn ggf. in das ANSI-Format.

StringToHGlobalUni(String)

Kopiert den Inhalt eines verwalteten String in den nicht verwalteten Speicher.

StructureToPtr(Object, IntPtr, Boolean)
Veraltet.

Marshallt Daten aus einem verwalteten Objekt zu einem nicht verwalteten Speicherblock.

StructureToPtr<T>(T, IntPtr, Boolean)

Marshallt Daten aus einem verwalteten Objekt eines festgelegten Typs zu einem nicht verwalteten Speicherblock.

ThrowExceptionForHR(Int32)

Löst eine Ausnahme mit einem bestimmten HRESULT-Fehlerwert aus.

ThrowExceptionForHR(Int32, IntPtr)

Löst eine Ausnahme mit einem bestimmten Fehler-HRESULT auf Grundlage der angegebenen IErrorInfo-Schnittstelle aus.

UnsafeAddrOfPinnedArrayElement(Array, Int32)
Veraltet.

Ruft die Adresse des Elements am angegebenen Index des angegebenen Arrays ab.

UnsafeAddrOfPinnedArrayElement<T>(T[], Int32)

Ruft die Adresse des Elements am angegebenen Index in einem Arrays des angegebenen Typs ab.

WriteByte(IntPtr, Byte)

Schreibt einen einzelnen Bytewert in den nicht verwalteten Speicher.

WriteByte(IntPtr, Int32, Byte)

Schreibt einen einzelnen Bytewert an einem angegebenen Offset in den nicht verwalteten Arbeitsspeicher.

WriteByte(Object, Int32, Byte)
Veraltet.

Schreibt einen einzelnen Bytewert an einem angegebenen Offset in den nicht verwalteten Arbeitsspeicher.

WriteInt16(IntPtr, Char)

Schreibt ein Zeichen als 16-Bit-Ganzzahl in den nicht verwalteten Speicher.

WriteInt16(IntPtr, Int16)

Schreibt eine 16-Bit-Ganzzahl in den nicht verwalteten Speicher.

WriteInt16(IntPtr, Int32, Char)

Schreibt den Wert einer 16-Bit-Ganzzahl mit Vorzeichen an einem angegebenen Offset in den nicht verwalteten Speicher.

WriteInt16(IntPtr, Int32, Int16)

Schreibt den Wert einer 16-Bit-Ganzzahl mit Vorzeichen an einem angegebenen Offset in den nicht verwalteten Speicher.

WriteInt16(Object, Int32, Char)
Veraltet.

Schreibt den Wert einer 16-Bit-Ganzzahl mit Vorzeichen an einem angegebenen Offset in den nicht verwalteten Speicher.

WriteInt16(Object, Int32, Int16)
Veraltet.

Schreibt den Wert einer 16-Bit-Ganzzahl mit Vorzeichen an einem angegebenen Offset in den nicht verwalteten Speicher.

WriteInt32(IntPtr, Int32)

Schreibt eine 32-Bit-Ganzzahl mit Vorzeichen in den nicht verwalteten Speicher.

WriteInt32(IntPtr, Int32, Int32)

Schreibt den Wert einer 32-Bit-Ganzzahl mit Vorzeichen an einem angegebenen Offset in den nicht verwalteten Speicher.

WriteInt32(Object, Int32, Int32)
Veraltet.

Schreibt den Wert einer 32-Bit-Ganzzahl mit Vorzeichen an einem angegebenen Offset in den nicht verwalteten Speicher.

WriteInt64(IntPtr, Int32, Int64)

Schreibt den Wert einer 64-Bit-Ganzzahl mit Vorzeichen an einem angegebenen Offset in den nicht verwalteten Speicher.

WriteInt64(IntPtr, Int64)

Schreibt eine 64-Bit-Ganzzahl mit Vorzeichen in den nicht verwalteten Speicher.

WriteInt64(Object, Int32, Int64)
Veraltet.

Schreibt den Wert einer 64-Bit-Ganzzahl mit Vorzeichen an einem angegebenen Offset in den nicht verwalteten Speicher.

WriteIntPtr(IntPtr, Int32, IntPtr)

Schreibt einen Ganzzahlwert von prozessoreigener Größe am angegebenen Offset in den nicht verwalteten Speicher.

WriteIntPtr(IntPtr, IntPtr)

Schreibt einen Ganzzahlwert von prozessoreigener Größe in den nicht verwalteten Speicher.

WriteIntPtr(Object, Int32, IntPtr)
Veraltet.

Schreibt einen Ganzzahlwert von prozessoreigener Größe in den nicht verwalteten Speicher.

ZeroFreeBSTR(IntPtr)

Gibt einen BSTR-Zeiger frei, der mit der SecureStringToBSTR(SecureString)-Methode reserviert wurde.

ZeroFreeCoTaskMemAnsi(IntPtr)

Gibt einen nicht verwalteten Zeichenfolgenzeiger frei, der mit der SecureStringToCoTaskMemAnsi(SecureString)-Methode reserviert wurde.

ZeroFreeCoTaskMemUnicode(IntPtr)

Gibt einen nicht verwalteten Zeichenfolgenzeiger frei, der mit der SecureStringToCoTaskMemUnicode(SecureString)-Methode reserviert wurde.

ZeroFreeCoTaskMemUTF8(IntPtr)

Gibt einen nicht verwalteten Zeichenfolgenzeiger frei, der mit der StringToCoTaskMemUTF8(String)-Methode reserviert wurde.

ZeroFreeGlobalAllocAnsi(IntPtr)

Gibt einen nicht verwalteten Zeichenfolgenzeiger frei, der mit der SecureStringToGlobalAllocAnsi(SecureString)-Methode reserviert wurde.

ZeroFreeGlobalAllocUnicode(IntPtr)

Gibt einen nicht verwalteten Zeichenfolgenzeiger frei, der mit der SecureStringToGlobalAllocUnicode(SecureString)-Methode reserviert wurde.

Gilt für: