Marshal Třída

Definice

Poskytuje kolekci metod pro přidělování nespravované paměti, kopírování nespravovaných bloků paměti a převod spravovaných na nespravované typy, stejně jako další různé metody používané při interakci s nespravovaným kódem.

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
Dědičnost
Marshal

Příklady

Následující příklad ukazuje, jak používat různé metody definované Marshal třídou .

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

Poznámky

Metody static definované ve Marshal třídě jsou nezbytné pro práci s nespravovaným kódem. Většinu metod definovaných v této třídě obvykle používají vývojáři, kteří chtějí poskytnout most mezi spravovanými a nespravovanými programovacími modely. Například metoda zkopíruje StringToHGlobalAnsi znaky ANSI ze zadaného řetězce (ve spravované haldě) do vyrovnávací paměti v nespravované haldě. Přidělí také cílovou haldu správné velikosti.

Modul CLR (Common Language Runtime) poskytuje specifické možnosti zařazování. Podrobnosti o chování zařazování najdete v tématu Zařazování zprostředkovatele komunikace.

Metody Read a Write ve Marshal třídě podporují zarovnaný i nezarovnaný přístup.

Pole

SystemDefaultCharSize

Představuje výchozí velikost znaku v systému; Výchozí hodnota je 2 pro systémy Unicode a 1 pro systémy ANSI. Toto pole je jen ke čtení.

SystemMaxDBCSCharSize

Představuje maximální velikost dvoubabajtů znakové sady (DBCS) v bajtech pro aktuální operační systém. Toto pole je jen ke čtení.

Metody

AddRef(IntPtr)

Zvýší počet odkazů na zadané rozhraní.

AllocCoTaskMem(Int32)

Přidělí blok paměti zadané velikosti z alokátoru paměti úlohy COM.

AllocHGlobal(Int32)

Přidělí paměť z nespravované paměti procesu pomocí zadaného počtu bajtů.

AllocHGlobal(IntPtr)

Přidělí paměť z nespravované paměti procesu pomocí ukazatele na zadaný počet bajtů.

AreComObjectsAvailableForCleanup()

Označuje, zda jsou k dispozici pro vyčištění obálky za běhu (RCWs) z libovolného kontextu.

BindToMoniker(String)

Získá ukazatel rozhraní identifikovaný zadaný moniker.

ChangeWrapperHandleStrength(Object, Boolean)

Změní sílu úchytu CCW (Com Callable Wrapper) objektu.

CleanupUnusedObjectsInCurrentContext()

Upozorní modul runtime, aby vyčistil všechny moduly RCW (Runtime Callable Wrappers) přidělené v aktuálním kontextu.

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

Zkopíruje data z jednorozměrného spravovaného 8bitového celočíselného pole bez znaménka do nespravovaného ukazatele paměti.

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

Zkopíruje data z jednorozměrného spravovaného pole znaků do nespravovaného ukazatele paměti.

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

Zkopíruje data z jednorozměrného spravovaného číselného pole s plovoucí desetinou čárkou s dvojitou přesností na nespravovaný ukazatel paměti.

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

Zkopíruje data z jednorozměrného spravovaného 16bitového celočíselného pole se znaménkem na nespravovaný ukazatel paměti.

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

Zkopíruje data z jednorozměrného spravovaného 32bitového celočíselného pole se znaménkem do nespravovaného ukazatele paměti.

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

Zkopíruje data z jednorozměrného spravovaného 64bitového celočíselného pole se znaménkem na nespravovaný ukazatel paměti.

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

Zkopíruje data z nespravovaného ukazatele paměti do spravovaného 8bitového celočíselného pole bez znaménka.

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

Zkopíruje data z nespravovaného ukazatele paměti do spravovaného pole znaků.

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

Zkopíruje data z nespravovaného ukazatele paměti do spravovaného číselného pole s plovoucí desetinou čárkou s dvojitou přesností.

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

Zkopíruje data z nespravovaného ukazatele paměti do spravovaného 16bitového celočíselného pole se znaménkem.

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

Zkopíruje data z nespravovaného ukazatele paměti do spravovaného 32bitového celočíselného pole se znaménkem.

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

Zkopíruje data z nespravovaného ukazatele paměti do spravovaného 64bitového celočíselného pole se znaménkem.

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

Zkopíruje data z nespravovaného ukazatele paměti do spravovaného IntPtr pole.

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

Zkopíruje data z nespravovaného ukazatele paměti do spravovaného číselného pole s plovoucí desetinou čárkou s jednou přesností.

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

Zkopíruje data z jednorozměrného spravovaného IntPtr pole do nespravovaného ukazatele paměti.

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

Zkopíruje data z jednorozměrného spravovaného číselného pole s plovoucí desetinou čárkou do nespravovaného ukazatele paměti.

CreateAggregatedObject(IntPtr, Object)
Zastaralé.

Agreguje spravovaný objekt se zadaným objektem COM.

CreateAggregatedObject<T>(IntPtr, T)

Agreguje spravovaný objekt zadaného typu se zadaným objektem COM.

CreateWrapperOfType(Object, Type)
Zastaralé.

Zalomí zadaný objekt COM do objektu zadaného typu.

CreateWrapperOfType<T,TWrapper>(T)

Zalomí zadaný objekt COM do objektu zadaného typu.

DestroyStructure(IntPtr, Type)
Zastaralé.

Uvolní všechny podstruktury, na které odkazuje zadaný nespravovaný blok paměti.

DestroyStructure<T>(IntPtr)

Uvolní všechny dílčí struktury zadaného typu, na které odkazuje zadaný nespravovaný blok paměti.

FinalReleaseComObject(Object)

Uvolní všechny odkazy na modul Runtime Callable Wrapper (RCW) nastavením počtu odkazů na hodnotu 0.

FreeBSTR(IntPtr)

BSTR Uvolní pomocí funkce COM SysFreeString.

FreeCoTaskMem(IntPtr)

Uvolní blok paměti přidělený nespravovaným alokátorem paměti úlohy COM.

FreeHGlobal(IntPtr)

Uvolní dříve přidělenou paměť z nespravované paměti procesu.

GenerateGuidForType(Type)

Vrátí globálně jedinečný identifikátor (GUID) pro zadaný typ nebo vygeneruje identifikátor GUID pomocí algoritmu používaného exportérem knihovny typů (Tlbexp.exe).

GenerateProgIdForType(Type)

Vrátí programový identifikátor (ProgID) pro zadaný typ.

GetActiveObject(String)

Získá spuštěnou instanci zadaného objektu ze spuštěné tabulky objektů (ROT).

GetComInterfaceForObject(Object, Type)
Zastaralé.

Vrátí ukazatel na rozhraní IUnknown , které představuje zadané rozhraní na zadaném objektu. Přístup k rozhraní vlastních dotazů je ve výchozím nastavení povolený.

GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode)
Zastaralé.

Vrátí ukazatel na rozhraní IUnknown , které představuje zadané rozhraní na zadaném objektu. Přístup k rozhraní vlastních dotazů se řídí zadaným režimem přizpůsobení.

GetComInterfaceForObject<T,TInterface>(T)

Vrátí ukazatel na IUnknown rozhraní, které představuje zadané rozhraní objektu zadaného typu. Přístup k rozhraní vlastních dotazů je ve výchozím nastavení povolený.

GetComInterfaceForObjectInContext(Object, Type)

Vrátí ukazatel rozhraní, který představuje zadané rozhraní pro objekt, pokud je volající ve stejném kontextu jako tento objekt.

GetComObjectData(Object, Object)

Načte data, na která odkazuje zadaný klíč ze zadaného objektu COM.

GetComSlotForMethodInfo(MemberInfo)

Načte virtuální tabulku funkcí (v-table nebo VTBL) slot pro zadaný MemberInfo typ, pokud je tento typ vystaven modelu COM.

GetDelegateForFunctionPointer(IntPtr, Type)
Zastaralé.

Převede ukazatel nespravované funkce na delegáta.

GetDelegateForFunctionPointer<TDelegate>(IntPtr)

Převede ukazatel nespravované funkce na delegáta zadaného typu.

GetEndComSlot(Type)

Načte poslední slot ve virtuální tabulce funkcí (v-table nebo VTBL) typu při vystavení modelu COM.

GetExceptionCode()
Zastaralé.

Načte kód, který identifikuje typ výjimky, ke které došlo.

GetExceptionForHR(Int32)

Převede zadaný kód chyby HRESULT na odpovídající Exception objekt.

GetExceptionForHR(Int32, IntPtr)

Převede zadaný kód chyby HRESULT na odpovídající Exception objekt s další informace o chybě předávané v rozhraní IErrorInfo objektu výjimky.

GetExceptionPointers()

Načte popis výjimky nezávislý na počítači a informace o stavu, který existoval pro vlákno, když došlo k výjimce.

GetFunctionPointerForDelegate(Delegate)
Zastaralé.

Převede delegáta na ukazatel funkce, který lze volat z nespravovaného kódu.

GetFunctionPointerForDelegate<TDelegate>(TDelegate)

Převede delegáta zadaného typu na ukazatel funkce, který lze volat z nespravovaného kódu.

GetHINSTANCE(Module)

Vrátí popisovač instance (HINSTANCE) pro zadaný modul.

GetHRForException(Exception)

Převede zadanou výjimku na HRESULT.

GetHRForLastWin32Error()

Vrátí hodnotu HRESULT odpovídající poslední chybě, ke které došlo při spuštění kódu Win32 pomocí Marshal.

GetIDispatchForObject(Object)

Vrátí rozhraní IDispatch ze spravovaného objektu.

GetIDispatchForObjectInContext(Object)

Vrátí ukazatel rozhraní IDispatch ze spravovaného objektu, pokud je volající ve stejném kontextu jako tento objekt.

GetITypeInfoForType(Type)

ITypeInfo Vrátí rozhraní spravovaného typu.

GetIUnknownForObject(Object)

Vrátí rozhraní IUnknown ze spravovaného objektu.

GetIUnknownForObjectInContext(Object)

Vrátí rozhraní IUnknown ze spravovaného objektu, pokud je volající ve stejném kontextu jako tento objekt.

GetLastPInvokeError()

Získejte chybu posledního volání platformy v aktuálním vlákně.

GetLastPInvokeErrorMessage()

Získá systémovou chybovou zprávu pro poslední kód chyby PInvoke.

GetLastSystemError()

Získá poslední systémovou chybu v aktuálním vlákně.

GetLastWin32Error()

Vrátí kód chyby vrácený poslední nespravovanou funkcí, která byla volána pomocí volání platformy s nastaveným příznakem SetLastError .

GetManagedThunkForUnmanagedMethodPtr(IntPtr, IntPtr, Int32)
Zastaralé.

Získá ukazatel na funkci generovanou za běhu, která zařadí volání ze spravovaného do nespravovaného kódu.

GetMethodInfoForComSlot(Type, Int32, ComMemberType)

Načte MemberInfo objekt pro zadaný slot tabulky virtuálních funkcí (v-table nebo VTBL).

GetNativeVariantForObject(Object, IntPtr)
Zastaralé.

Převede objekt na COM VARIANT.

GetNativeVariantForObject<T>(T, IntPtr)
Zastaralé.

Převede objekt zadaného typu na COM VARIANT.

GetObjectForIUnknown(IntPtr)

Vrátí instanci typu, který představuje objekt COM ukazatelem na jeho IUnknown rozhraní.

GetObjectForNativeVariant(IntPtr)
Zastaralé.

Převede OBJEKT VARIANT modelu COM na objekt.

GetObjectForNativeVariant<T>(IntPtr)
Zastaralé.

Převede objekt COM VARIANT na objekt zadaného typu.

GetObjectsForNativeVariants(IntPtr, Int32)
Zastaralé.

Převede pole modelu COM VARIANT na pole objektů.

GetObjectsForNativeVariants<T>(IntPtr, Int32)
Zastaralé.

Převede pole modelu COM VARIANT na pole zadaného typu.

GetPInvokeErrorMessage(Int32)

Získá systémovou chybovou zprávu pro zadaný kód chyby.

GetStartComSlot(Type)

Získá první slot v tabulce virtuálních funkcí (v-table nebo VTBL), která obsahuje uživatelem definované metody.

GetThreadFromFiberCookie(Int32)
Zastaralé.

Převede soubor cookie vlákna na odpovídající Thread instanci.

GetTypedObjectForIUnknown(IntPtr, Type)

Vrátí spravovaný objekt zadaného typu, který představuje objekt COM.

GetTypeForITypeInfo(IntPtr)

Převede nespravovaný objekt ITypeInfo na spravovaný Type objekt.

GetTypeFromCLSID(Guid)

Vrátí typ přidružený k zadanému identifikátoru třídy (CLSID).

GetTypeInfoName(ITypeInfo)

Načte název typu reprezentovaný objektem ITypeInfo .

GetTypeInfoName(UCOMITypeInfo)
Zastaralé.

Načte název typu reprezentovaný objektem ITypeInfo .

GetTypeLibGuid(ITypeLib)

Načte identifikátor knihovny (LIBID) knihovny typů.

GetTypeLibGuid(UCOMITypeLib)
Zastaralé.

Načte identifikátor knihovny (LIBID) knihovny typů.

GetTypeLibGuidForAssembly(Assembly)

Načte identifikátor knihovny (LIBID), který je přiřazen ke knihovně typů při exportu ze zadaného sestavení.

GetTypeLibLcid(ITypeLib)

Načte LCID knihovny typů.

GetTypeLibLcid(UCOMITypeLib)
Zastaralé.

Načte LCID knihovny typů.

GetTypeLibName(ITypeLib)

Načte název knihovny typů.

GetTypeLibName(UCOMITypeLib)
Zastaralé.

Načte název knihovny typů.

GetTypeLibVersionForAssembly(Assembly, Int32, Int32)

Načte číslo verze knihovny typů, která bude exportována ze zadaného sestavení.

GetUniqueObjectForIUnknown(IntPtr)

Vytvoří jedinečný modul Runtime Callable Wrapper (RCW) objekt pro dané rozhraní IUnknown .

GetUnmanagedThunkForManagedMethodPtr(IntPtr, IntPtr, Int32)
Zastaralé.

Získá ukazatel na funkci generovanou za běhu, která zařadí volání z nespravovaného do spravovaného kódu.

InitHandle(SafeHandle, IntPtr)

Inicializuje podkladový popisovač nově vytvořeného SafeHandle objektu na zadanou hodnotu.

IsComObject(Object)

Určuje, zda zadaný objekt představuje objekt COM.

IsTypeVisibleFromCom(Type)

Určuje, zda je typ viditelný pro klienty modelu COM.

NumParamBytes(MethodInfo)

Vypočítá počet bajtů v nespravované paměti, které jsou potřeba k uložení parametrů pro zadanou metodu.

OffsetOf(Type, String)
Zastaralé.

Vrátí posun pole nespravované formy spravované třídy.

OffsetOf<T>(String)

Vrátí posun pole nespravované formy zadané spravované třídy.

Prelink(MethodInfo)

Spustí jednorázové úlohy nastavení metody bez volání metody .

PrelinkAll(Type)

Provede kontrolu před propojením pro všechny metody ve třídě.

PtrToStringAnsi(IntPtr)

Zkopíruje všechny znaky až po první znak null z nespravovaného řetězce ANSI nebo UTF-8 do spravovaného Stringznaku a rozšíří každý znak na UTF-16.

PtrToStringAnsi(IntPtr, Int32)

Přidělí spravovaný Stringobjekt , zkopíruje do něj zadaný počet znaků z nespravovaného řetězce ANSI nebo UTF-8 a rozšíří každý znak na UTF-16.

PtrToStringAuto(IntPtr)

Přidělí spravované String a zkopíruje do něj všechny znaky až po první znak null z řetězce uloženého v nespravované paměti.

PtrToStringAuto(IntPtr, Int32)

Přidělí spravovaný String a zkopíruje do něj zadaný počet znaků z řetězce uloženého v nespravované paměti.

PtrToStringBSTR(IntPtr)

Přidělí spravovaný String a zkopíruje do něj binární řetězec (BSTR) uložený v nespravované paměti.

PtrToStringUni(IntPtr)

Přidělí spravované String a zkopíruje do něj všechny znaky až do prvního znaku null z nespravovaného řetězce unicode.

PtrToStringUni(IntPtr, Int32)

Přidělí spravovaný String a zkopíruje do něj zadaný počet znaků z nespravovaného řetězce unicode.

PtrToStringUTF8(IntPtr)

Přidělí spravovaný String a zkopíruje do něj všechny znaky až po první znak null z nespravovaného řetězce UTF-8.

PtrToStringUTF8(IntPtr, Int32)

Přidělí spravovaný String a zkopíruje do něj zadaný počet bajtů z nespravovaného řetězce UTF8.

PtrToStructure(IntPtr, Object)
Zastaralé.

Zařadí data z nespravovaného bloku paměti do spravovaného objektu.

PtrToStructure(IntPtr, Type)
Zastaralé.

Zařadí data z nespravovaného bloku paměti do nově přiděleného spravovaného objektu zadaného typu.

PtrToStructure<T>(IntPtr)

Zařadí data z nespravovaného bloku paměti do nově přiděleného spravovaného objektu typu typu určeného parametrem obecného typu.

PtrToStructure<T>(IntPtr, T)

Zařadí data z nespravovaného bloku paměti do spravovaného objektu zadaného typu.

QueryInterface(IntPtr, Guid, IntPtr)

Vyžádá si ukazatel na zadané rozhraní z objektu COM.

ReadByte(IntPtr)

Načte jeden bajt z nespravované paměti.

ReadByte(IntPtr, Int32)

Načte jeden bajt při daném posunu (nebo indexu) z nespravované paměti.

ReadByte(Object, Int32)
Zastaralé.

Načte jeden bajt při daném posunu (nebo indexu) z nespravované paměti.

ReadInt16(IntPtr)

Načte 16bitové celé číslo se znaménkem z nespravované paměti.

ReadInt16(IntPtr, Int32)

Načte 16bitové celé číslo se znaménkem při daném posunu od nespravované paměti.

ReadInt16(Object, Int32)
Zastaralé.

Načte 16bitové celé číslo se znaménkem při daném posunu od nespravované paměti.

ReadInt32(IntPtr)

Načte 32bitové celé číslo se znaménkem z nespravované paměti.

ReadInt32(IntPtr, Int32)

Načte 32bitové celé číslo se znaménkem při daném posunu od nespravované paměti.

ReadInt32(Object, Int32)
Zastaralé.

Načte 32bitové celé číslo se znaménkem při daném posunu od nespravované paměti.

ReadInt64(IntPtr)

Načte 64bitové celé číslo se znaménkem z nespravované paměti.

ReadInt64(IntPtr, Int32)

Načte 64bitové celé číslo se znaménkem při daném posunu od nespravované paměti.

ReadInt64(Object, Int32)
Zastaralé.

Načte 64bitové celé číslo se znaménkem při daném posunu od nespravované paměti.

ReadIntPtr(IntPtr)

Načte celé číslo nativní velikosti procesoru z nespravované paměti.

ReadIntPtr(IntPtr, Int32)

Čte celé číslo nativní velikosti procesoru při daném posunu od nespravované paměti.

ReadIntPtr(Object, Int32)
Zastaralé.

Čte celé číslo nativní velikosti procesoru z nespravované paměti.

ReAllocCoTaskMem(IntPtr, Int32)

Změní velikost bloku paměti dříve přiděleného pomocí AllocCoTaskMem(Int32).

ReAllocHGlobal(IntPtr, IntPtr)

Změní velikost bloku paměti dříve přiděleného pomocí AllocHGlobal(IntPtr).

Release(IntPtr)

Sníží počet odkazů na zadané rozhraní.

ReleaseComObject(Object)

Sníží počet odkazů modulu RUNTIME Callable Wrapper (RCW) přidruženého k zadanému objektu COM.

ReleaseThreadCache()
Zastaralé.

Uvolní mezipaměť vláken.

SecureStringToBSTR(SecureString)

Přidělí nespravovaný binární řetězec (BSTR) a zkopíruje do něj obsah spravovaného SecureString objektu.

SecureStringToCoTaskMemAnsi(SecureString)

Zkopíruje obsah spravovaného SecureString objektu do bloku paměti přiděleného z nespravovaného alokátoru úloh modelu COM.

SecureStringToCoTaskMemUnicode(SecureString)

Zkopíruje obsah spravovaného SecureString objektu do bloku paměti přiděleného z nespravovaného alokátoru úloh modelu COM.

SecureStringToGlobalAllocAnsi(SecureString)

Zkopíruje obsah spravovaného SecureString objektu do nespravované paměti a při kopírování ho převede do formátu ANSI.

SecureStringToGlobalAllocUnicode(SecureString)

Zkopíruje obsah spravovaného SecureString objektu do nespravované paměti.

SetComObjectData(Object, Object, Object)

Nastaví data odkazovaná zadaným klíčem v zadaném objektu COM.

SetLastPInvokeError(Int32)

Nastaví poslední chybu vyvolání platformy v aktuálním vlákně.

SetLastSystemError(Int32)

Nastaví poslední chybu systému v aktuálním vlákně.

SizeOf(Object)
Zastaralé.

Vrátí nespravovanou velikost objektu v bajtech.

SizeOf(Type)
Zastaralé.

Vrátí velikost nespravovaného typu v bajtech.

SizeOf<T>()

Vrátí velikost nespravovaného typu v bajtech.

SizeOf<T>(T)

Vrátí nespravovanou velikost objektu zadaného typu v bajtech.

StringToBSTR(String)

Přidělí BSTR a zkopíruje do něj obsah spravovaného String objektu.

StringToCoTaskMemAnsi(String)

Zkopíruje obsah spravovaného String do bloku paměti přiděleného z nespravovaného alokátoru úloh modelu COM.

StringToCoTaskMemAuto(String)

Zkopíruje obsah spravovaného String do bloku paměti přiděleného z nespravovaného alokátoru úloh modelu COM.

StringToCoTaskMemUni(String)

Zkopíruje obsah spravovaného String do bloku paměti přiděleného z nespravovaného alokátoru úloh modelu COM.

StringToCoTaskMemUTF8(String)

Zkopíruje obsah spravovaného String do bloku paměti přiděleného z nespravovaného alokátoru úloh modelu COM.

StringToHGlobalAnsi(String)

Zkopíruje obsah spravovaného String objektu do nespravované paměti a při kopírování ho převede do formátu ANSI.

StringToHGlobalAuto(String)

Zkopíruje obsah spravovaného String objektu do nespravované paměti a v případě potřeby ho převede do formátu ANSI.

StringToHGlobalUni(String)

Zkopíruje obsah spravovaného String objektu do nespravované paměti.

StructureToPtr(Object, IntPtr, Boolean)
Zastaralé.

Zařadí data ze spravovaného objektu do nespravovaného bloku paměti.

StructureToPtr<T>(T, IntPtr, Boolean)

Zařadí data ze spravovaného objektu zadaného typu do nespravovaného bloku paměti.

ThrowExceptionForHR(Int32)

Vyvolá výjimku s konkrétní hodnotou HRESULT chyby.

ThrowExceptionForHR(Int32, IntPtr)

Vyvolá výjimku s konkrétním selháním HRESULT na základě zadaného rozhraní IErrorInfo .

UnsafeAddrOfPinnedArrayElement(Array, Int32)
Zastaralé.

Získá adresu prvku na zadaném indexu uvnitř zadaného pole.

UnsafeAddrOfPinnedArrayElement<T>(T[], Int32)

Získá adresu prvku v zadaném indexu v poli zadaného typu.

WriteByte(IntPtr, Byte)

Zapíše hodnotu jednoho bajtu do nespravované paměti.

WriteByte(IntPtr, Int32, Byte)

Zapíše hodnotu jednoho bajtu do nespravované paměti při zadaném posunu.

WriteByte(Object, Int32, Byte)
Zastaralé.

Zapíše hodnotu jednoho bajtu do nespravované paměti při zadaném posunu.

WriteInt16(IntPtr, Char)

Zapíše znak jako 16bitovou celočíselnou hodnotu do nespravované paměti.

WriteInt16(IntPtr, Int16)

Zapíše 16bitovou celočíselnou hodnotu do nespravované paměti.

WriteInt16(IntPtr, Int32, Char)

Zapíše 16bitovou celočíselnou hodnotu se znaménkem do nespravované paměti při zadaném posunu.

WriteInt16(IntPtr, Int32, Int16)

Zapíše 16bitovou celočíselnou hodnotu se znaménkem do nespravované paměti při zadaném posunu.

WriteInt16(Object, Int32, Char)
Zastaralé.

Zapíše 16bitovou celočíselnou hodnotu se znaménkem do nespravované paměti při zadaném posunu.

WriteInt16(Object, Int32, Int16)
Zastaralé.

Zapíše 16bitovou celočíselnou hodnotu se znaménkem do nespravované paměti při zadaném posunu.

WriteInt32(IntPtr, Int32)

Zapíše 32bitovou celočíselnou hodnotu se znaménkem do nespravované paměti.

WriteInt32(IntPtr, Int32, Int32)

Zapíše 32bitovou celočíselnou hodnotu se znaménkem do nespravované paměti při zadaném posunu.

WriteInt32(Object, Int32, Int32)
Zastaralé.

Zapíše 32bitovou celočíselnou hodnotu se znaménkem do nespravované paměti při zadaném posunu.

WriteInt64(IntPtr, Int32, Int64)

Zapíše 64bitovou celočíselnou hodnotu se znaménkem do nespravované paměti při zadaném posunu.

WriteInt64(IntPtr, Int64)

Zapíše 64bitovou celočíselnou hodnotu se znaménkem do nespravované paměti.

WriteInt64(Object, Int32, Int64)
Zastaralé.

Zapíše 64bitovou celočíselnou hodnotu se znaménkem do nespravované paměti při zadaném posunu.

WriteIntPtr(IntPtr, Int32, IntPtr)

Zapíše celočíselnou hodnotu nativní velikosti procesoru do nespravované paměti při zadaném posunu.

WriteIntPtr(IntPtr, IntPtr)

Zapíše celočíselnou hodnotu nativní velikosti procesoru do nespravované paměti.

WriteIntPtr(Object, Int32, IntPtr)
Zastaralé.

Zapíše celočíselnou hodnotu nativní velikosti procesoru do nespravované paměti.

ZeroFreeBSTR(IntPtr)

Uvolní ukazatel BSTR , který byl přidělen pomocí SecureStringToBSTR(SecureString) metody .

ZeroFreeCoTaskMemAnsi(IntPtr)

Uvolní nespravovaný ukazatel řetězce, který byl přidělen pomocí SecureStringToCoTaskMemAnsi(SecureString) metody .

ZeroFreeCoTaskMemUnicode(IntPtr)

Uvolní nespravovaný ukazatel řetězce, který byl přidělen pomocí SecureStringToCoTaskMemUnicode(SecureString) metody .

ZeroFreeCoTaskMemUTF8(IntPtr)

Uvolní nespravovaný ukazatel řetězce, který byl přidělen pomocí StringToCoTaskMemUTF8(String) metody .

ZeroFreeGlobalAllocAnsi(IntPtr)

Uvolní nespravovaný ukazatel řetězce, který byl přidělen pomocí SecureStringToGlobalAllocAnsi(SecureString) metody .

ZeroFreeGlobalAllocUnicode(IntPtr)

Uvolní nespravovaný ukazatel řetězce, který byl přidělen pomocí SecureStringToGlobalAllocUnicode(SecureString) metody .

Platí pro