Sdílet prostřednictvím


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. Metoda například StringToHGlobalAnsi zkopíruje znaky ANSI ze zadaného řetězce (ve spravované haldě) do vyrovnávací paměti v nespravované haldě. Přiděluje 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.

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 MODELU 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()

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

BindToMoniker(String)

Získá ukazatel rozhraní identifikovaný zadaným 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í do nespravovaného ukazatele 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 do nespravovaného ukazatele 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 do nespravovaného ukazatele paměti.

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

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

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

Zkopíruje data z nespravovaného paměťového ukazatele do pole spravovaných znaků.

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

Zkopíruje data z nespravovaného paměťového ukazatele 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 paměťového ukazatele do spravovaného 16bitového celočíselného pole se znaménkem.

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

Zkopíruje data z nespravovaného paměťového ukazatele 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 paměťového ukazatele do spravovaného číselného pole s plovoucí desetinou čárkou s jednoduchou 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 s jednoduchou přesností 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 dílčí struktury, 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 obálku RCW (Runtime Callable Wrapper) 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 úkolů modelu 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 nástrojem pro export 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 IUnknown rozhraní, který představuje zadané rozhraní na zadaný objekt. Přístup k rozhraní vlastních dotazů je ve výchozím nastavení povolený.

GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode)
Zastaralé.

Vrátí ukazatel na IUnknown rozhraní, který představuje zadané rozhraní na zadaný objekt. 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í na 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 v tabulce virtuálních 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šími informacemi o chybě předané v rozhraní IErrorInfo pro objekt 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ý je volatelný z nespravovaného kódu.

GetFunctionPointerForDelegate<TDelegate>(TDelegate)

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

GetHINSTANCE(Module)

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

GetHRForException(Exception)

Převede zadanou výjimku na hodnotu HRESULT.

GetHRForLastWin32Error()

Vrátí hodnotu HRESULT odpovídající poslední chybě, ke které došlo u kódu Win32 spuštěného 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í ze spravovaného typu.

GetIUnknownForObject(Object)

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

GetIUnknownForObjectInContext(Object)

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

GetLastPInvokeError()

Získejte poslední chybu vyvolá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í chybu systému 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 COM VARIANT na objekt.

GetObjectForNativeVariant<T>(IntPtr)
Zastaralé.

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

GetObjectsForNativeVariants(IntPtr, Int32)
Zastaralé.

Převede pole COM VARIANTs 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ý ITypeInfo objekt na spravovaný Type objekt.

GetTypeFromCLSID(Guid)

Vrátí typ přidružený k identifikátoru zadané 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 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ý Runtime Callable Wrapper (RCW) objekt pro dané IUnknown rozhraní.

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 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)

Provede 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ž na první znak null z nespravovaného řetězce ANSI nebo UTF-8 na spravovaný Stringznak a rozšíří každý znak na UTF-16.

PtrToStringAnsi(IntPtr, Int32)

Přidělí spravovaný Stringřetězec , 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 znak a zkopíruje do něj všechny znaky až do prvního znaku 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 řetězec a zkopíruje do něj binární řetězec (BSTR) uložený v nespravované paměti.

PtrToStringUni(IntPtr)

Přidělí spravovaný String znak 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 všechny znaky až do prvního znaku null z nespravovaného řetězce UTF-8 do něj.

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 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)

Čte jeden bajt v daném posunu (nebo indexu) z nespravované paměti.

ReadByte(Object, Int32)
Zastaralé.

Čte jeden bajt v daném posunu (nebo indexu) z nespravované paměti.

ReadInt16(IntPtr)

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

ReadInt16(IntPtr, Int32)

Přečte 16bitové celé číslo se znaménkem v daném posunu od nespravované paměti.

ReadInt16(Object, Int32)
Zastaralé.

Přečte 16bitové celé číslo se znaménkem v daném posunu od nespravované paměti.

ReadInt32(IntPtr)

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

ReadInt32(IntPtr, Int32)

Čte celé číslo se 32bitovým znaménkem v daném posunu od nespravované paměti.

ReadInt32(Object, Int32)
Zastaralé.

Čte celé číslo se 32bitovým znaménkem v daném posunu od nespravované paměti.

ReadInt64(IntPtr)

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

ReadInt64(IntPtr, Int32)

Přečte 64bitové celé číslo se znaménkem v daném posunu od nespravované paměti.

ReadInt64(Object, Int32)
Zastaralé.

Přečte 64bitové celé číslo se znaménkem v daném posunu od nespravované paměti.

ReadIntPtr(IntPtr)

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

ReadIntPtr(IntPtr, Int32)

Čte celé číslo nativní velikosti procesoru v 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, který byl dříve přidělen pomocí AllocCoTaskMem(Int32).

ReAllocHGlobal(IntPtr, IntPtr)

Změní velikost bloku paměti, který byl dříve přidělen 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é SecureString paměti do nespravované paměti a při kopírování se 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 volání platformy v aktuálním vlákně.

SetLastSystemError(Int32)

Nastaví poslední systémovou chybu 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 objektu do bloku paměti přiděleného z alokátoru nespravovaných úkolů modelu COM.

StringToCoTaskMemAuto(String)

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

StringToCoTaskMemUni(String)

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

StringToCoTaskMemUTF8(String)

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

StringToHGlobalAnsi(String)

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

StringToHGlobalAuto(String)

Zkopíruje obsah spravované String paměti do nespravované paměti a v případě potřeby se 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 pro selhání.

ThrowExceptionForHR(Int32, IntPtr)

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

UnsafeAddrOfPinnedArrayElement(Array, Int32)
Zastaralé.

Získá adresu elementu v zadaném indexu uvnitř zadaného pole.

UnsafeAddrOfPinnedArrayElement<T>(T[], Int32)

Získá adresu elementu 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 v zadaném posunu.

WriteInt32(Object, Int32, Int32)
Zastaralé.

Zapíše celočíselnou hodnotu 32bitového znaménka 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