Marshal Třída

Definice

Poskytuje kolekci metod pro přidělení nespravované paměti, kopírování nespravovaných paměťových bloků a převod spravovaných na nespravované typy a také jiné různé metody používané při interakci s nespravovaným kódem.Provides a collection of methods for allocating unmanaged memory, copying unmanaged memory blocks, and converting managed to unmanaged types, as well as other miscellaneous methods used when interacting with unmanaged code.

public ref class Marshal abstract sealed
public static class Marshal
type Marshal = class
Public Class Marshal
Dědičnost
Marshal

Příklady

Následující příklad ukazuje, jak použít různé metody definované třídou Marshal.The following example shows how to use various methods defined by the Marshal class.

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é v Marshal třídě jsou nezbytné pro práci s nespravovaným kódem.The static methods defined on the Marshal class are essential to working with unmanaged code. Většina metod definovaných v této třídě je obvykle používána vývojáři, kteří chtějí poskytnout most mezi spravovanými a nespravovanými programovacími modely.Most methods defined in this class are typically used by developers who want to provide a bridge between the managed and unmanaged programming models. Například metoda StringToHGlobalAnsi kopíruje znaky ANSI ze zadaného řetězce (ve spravované haldě) do vyrovnávací paměti v nespravované haldě.For example, the StringToHGlobalAnsi method copies ANSI characters from a specified string (in the managed heap) to a buffer in the unmanaged heap. Přiděluje také cílovou haldu správné velikosti.It also allocates the target heap of the right size.

Modul CLR (Common Language Runtime) poskytuje konkrétní možnosti zařazování.The common language runtime provides specific marshaling capabilities. Podrobnosti o chování zařazování najdete v tématu zařazování Interop.For details on marshaling behavior, see Interop Marshaling.

Metody Read a Write ve třídě Marshal podporují zarovnaný i nezarovnaný přístup.The Read and Write methods in the Marshal class support both aligned and unaligned access.

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.Represents the default character size on the system; the default is 2 for Unicode systems and 1 for ANSI systems. Toto pole je jen pro čtení.This field is read-only.

SystemMaxDBCSCharSize

Představuje maximální velikost velikosti dvoubajtové znakové sady (DBCS) (v bajtech) pro aktuální operační systém.Represents the maximum size of a double byte character set (DBCS) size, in bytes, for the current operating system. Toto pole je jen pro čtení.This field is read-only.

Metody

AddRef(IntPtr)

Zvýší počet odkazů u zadaného rozhraní.Increments the reference count on the specified interface.

AllocCoTaskMem(Int32)

Přidělí blok paměti zadané velikosti od přidělování paměti úlohy modelu COM.Allocates a block of memory of specified size from the COM task memory allocator.

AllocHGlobal(Int32)

Přidělí paměť z nespravované paměti procesu pomocí zadaného počtu bajtů.Allocates memory from the unmanaged memory of the process by using the specified number of bytes.

AllocHGlobal(IntPtr)

Přidělí paměť z nespravované paměti procesu pomocí ukazatele na zadaný počet bajtů.Allocates memory from the unmanaged memory of the process by using the pointer to the specified number of bytes.

AreComObjectsAvailableForCleanup()

Určuje, zda mají být k vyčištění k dispozici obálky (RCW) za běhu z libovolného kontextu.Indicates whether runtime callable wrappers (RCWs) from any context are available for cleanup.

BindToMoniker(String)

Získá ukazatel rozhraní identifikovaný zadaným monikerem.Gets an interface pointer identified by the specified moniker.

BufferToBSTR(Array, Int32)
ChangeWrapperHandleStrength(Object, Boolean)

Změní sílu táhla obálky (doleva) objektu com .Changes the strength of an object's COM Callable Wrapper (CCW) handle.

CleanupUnusedObjectsInCurrentContext()

Upozorní modul runtime, aby vyčistil všechny obálky s možností spuštění (RCW), které jsou přiděleny v aktuálním kontextu.Notifies the runtime to clean up all Runtime Callable Wrappers (RCWs) allocated in the current context.

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

Kopíruje data z jednorozměrného a spravovaného 8bitového pole unsigned integer do nespravovaného ukazatele paměti.Copies data from a one-dimensional, managed 8-bit unsigned integer array to an unmanaged memory pointer.

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

Zkopíruje data z jednorozměrného pole spravovaného znaku na ukazatel nespravované paměti.Copies data from a one-dimensional, managed character array to an unmanaged memory pointer.

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

Kopíruje data z jednorozměrného a spravovaného pole čísla s plovoucí desetinnou čárkou s dvojitou přesností na ukazatel nespravované paměti.Copies data from a one-dimensional, managed double-precision floating-point number array to an unmanaged memory pointer.

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

Zkopíruje data z jednorozměrného a spravovaného pole se znaménkem na nespravovaný typ celého čísla do nespravovaného ukazatele paměti.Copies data from a one-dimensional, managed 16-bit signed integer array to an unmanaged memory pointer.

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

Zkopíruje data z jednorozměrného a 32 spravovaného pole se znaménkem na nespravovanou hodnotu v nespravovaném poli.Copies data from a one-dimensional, managed 32-bit signed integer array to an unmanaged memory pointer.

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

Zkopíruje data z jednorozměrného a 64 spravovaného pole se znaménkem na nespravovanou hodnotu v nespravovaném poli.Copies data from a one-dimensional, managed 64-bit signed integer array to an unmanaged memory pointer.

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

Zkopíruje data z ukazatele nespravované paměti do spravovaného 8bitového pole unsigned integer.Copies data from an unmanaged memory pointer to a managed 8-bit unsigned integer array.

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

Kopíruje data z nespravovaného ukazatele paměti do spravovaného pole znaků.Copies data from an unmanaged memory pointer to a managed character array.

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

Zkopíruje data z ukazatele nespravované paměti do spravovaného pole čísla s plovoucí desetinnou čárkou s dvojitou přesností.Copies data from an unmanaged memory pointer to a managed double-precision floating-point number array.

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

Kopíruje data z nespravovaného ukazatele paměti do spravovaného 16bitového pole se znaménkem.Copies data from an unmanaged memory pointer to a managed 16-bit signed integer array.

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

Kopíruje data z nespravovaného ukazatele paměti na spravované celé číslo se znaménkem 32.Copies data from an unmanaged memory pointer to a managed 32-bit signed integer array.

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

Kopíruje data z nespravovaného ukazatele paměti na spravované celé číslo se znaménkem 64.Copies data from an unmanaged memory pointer to a managed 64-bit signed integer array.

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

Zkopíruje data z nespravovaného ukazatele paměti do spravovaného pole IntPtr.Copies data from an unmanaged memory pointer to a managed IntPtr array.

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

Zkopíruje data z ukazatele nespravované paměti do spravovaného pole s jednoduchou přesností s plovoucí desetinnou čárkou.Copies data from an unmanaged memory pointer to a managed single-precision floating-point number array.

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

Zkopíruje data z jednorozměrného a spravovaného pole IntPtr na ukazatel nespravované paměti.Copies data from a one-dimensional, managed IntPtr array to an unmanaged memory pointer.

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

Kopíruje data z jednorozměrného a spravovaného pole s jednoduchou přesností s plovoucí desetinnou čárkou na nespravovaný ukazatel paměti.Copies data from a one-dimensional, managed single-precision floating-point number array to an unmanaged memory pointer.

CreateAggregatedObject(IntPtr, Object)

Agreguje spravovaný objekt se zadaným objektem COM.Aggregates a managed object with the specified COM object.

CreateAggregatedObject<T>(IntPtr, T)

[Podporováno v .NET Framework 4.5.1 a novějších verzích][Supported in the .NET Framework 4.5.1 and later versions]

Agreguje spravovaný objekt zadaného typu se zadaným objektem COM.Aggregates a managed object of the specified type with the specified COM object.

CreateWrapperOfType(Object, Type)

Zabalí zadaný objekt COM do objektu zadaného typu.Wraps the specified COM object in an object of the specified type.

CreateWrapperOfType<T,TWrapper>(T)

[Podporováno v .NET Framework 4.5.1 a novějších verzích][Supported in the .NET Framework 4.5.1 and later versions]

Zabalí zadaný objekt COM do objektu zadaného typu.Wraps the specified COM object in an object of the specified type.

DestroyStructure(IntPtr, Type)

Uvolní všechny podstruktury, na které zadaný blok nespravované paměti odkazuje.Frees all substructures that the specified unmanaged memory block points to.

DestroyStructure<T>(IntPtr)

[Podporováno v .NET Framework 4.5.1 a novějších verzích][Supported in the .NET Framework 4.5.1 and later versions]

Uvolní všechny podstruktury zadaného typu, na které zadaný blok nespravované paměti odkazuje.Frees all substructures of a specified type that the specified unmanaged memory block points to.

FinalReleaseComObject(Object)

Uvolní všechny odkazy na obálku volatelné za běhu (RCW) nastavením počtu odkazů na 0.Releases all references to a Runtime Callable Wrapper (RCW) by setting its reference count to 0.

FreeBSTR(IntPtr)

Uvolňuje BSTR pomocí funkce SysFreeString modelu COM.Frees a BSTR using the COM SysFreeString function.

FreeCoTaskMem(IntPtr)

Uvolňuje blok paměti přidělený nespravovaným přidělováním paměti úlohy modelu COM.Frees a block of memory allocated by the unmanaged COM task memory allocator.

FreeHGlobal(IntPtr)

Uvolní paměť, která byla dříve přidělena z nespravované paměti procesu.Frees memory previously allocated from the unmanaged memory of the process.

GenerateGuidForType(Type)

Vrátí globálně jedinečný identifikátor (GUID) pro zadaný typ nebo generuje identifikátor GUID pomocí algoritmu používaného exportérem knihovny typů (Tlbexp. exe).Returns the globally unique identifier (GUID) for the specified type, or generates a GUID using the algorithm used by the Type Library Exporter (Tlbexp.exe).

GenerateProgIdForType(Type)

Vrátí programový identifikátor (ProgID) pro zadaný typ.Returns a programmatic identifier (ProgID) for the specified type.

GetActiveObject(String)

Získá spuštěnou instanci zadaného objektu z tabulky spuštěných objektů (HNILOB).Obtains a running instance of the specified object from the running object table (ROT).

GetComInterfaceForObject(Object, Type)

Vrací ukazatel na rozhraní IUnknown , které představuje zadané rozhraní na zadaném objektu.Returns a pointer to an IUnknown interface that represents the specified interface on the specified object. Ve výchozím nastavení je povolený přístup k rozhraní vlastního dotazu.Custom query interface access is enabled by default.

GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode)

Vrací ukazatel na rozhraní IUnknown , které představuje zadané rozhraní na zadaném objektu.Returns a pointer to an IUnknown interface that represents the specified interface on the specified object. Přístup k rozhraní vlastního dotazu se řídí zadaným režimem přizpůsobení.Custom query interface access is controlled by the specified customization mode.

GetComInterfaceForObject<T,TInterface>(T)

[Podporováno v .NET Framework 4.5.1 a novějších verzích][Supported in the .NET Framework 4.5.1 and later versions] Vrací ukazatel na rozhraní IUnknown , které představuje zadané rozhraní na objektu zadaného typu.Returns a pointer to an IUnknown interface that represents the specified interface on an object of the specified type. Ve výchozím nastavení je povolený přístup k rozhraní vlastního dotazu.Custom query interface access is enabled by default.

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.Returns an interface pointer that represents the specified interface for an object, if the caller is in the same context as that object.

GetComObjectData(Object, Object)

Načte data, na která se odkazuje zadaný klíč ze zadaného objektu COM.Retrieves data that is referenced by the specified key from the specified COM object.

GetComSlotForMethodInfo(MemberInfo)

Načte tabulku virtuálních funkcí (v-Table nebo VTBL) pro zadaný typ MemberInfo, když je tento typ vystavený modelu COM.Retrieves the virtual function table (v-table or VTBL) slot for a specified MemberInfo type when that type is exposed to COM.

GetDelegateForFunctionPointer(IntPtr, Type)

Převede nespravovaný ukazatel na funkci na delegáta.Converts an unmanaged function pointer to a delegate.

GetDelegateForFunctionPointer<TDelegate>(IntPtr)

[Podporováno v .NET Framework 4.5.1 a novějších verzích][Supported in the .NET Framework 4.5.1 and later versions]

Převede nespravovaný ukazatel na funkci na delegát zadaného typu.Converts an unmanaged function pointer to a delegate of a specified type.

GetEndComSlot(Type)

Načte poslední slot v tabulce virtuální funkce (v-Table nebo VTBL) typu, když je vystavený pro COM.Retrieves the last slot in the virtual function table (v-table or VTBL) of a type when exposed to COM.

GetExceptionCode()

Načte kód, který identifikuje typ výjimky, ke které došlo.Retrieves a code that identifies the type of the exception that occurred.

GetExceptionForHR(Int32)

Převede zadaný kód chyby HRESULT na odpovídající objekt Exception.Converts the specified HRESULT error code to a corresponding Exception object.

GetExceptionForHR(Int32, IntPtr)

Převede zadaný kód chyby HRESULT na odpovídající objekt Exception, s dalšími informacemi o chybách předanými v rozhraní IErrorInfo pro objekt výjimky.Converts the specified HRESULT error code to a corresponding Exception object, with additional error information passed in an IErrorInfo interface for the exception object.

GetExceptionPointers()

Načte popis výjimky, která je závislá na počítači, a informace o stavu, který existoval pro vlákno při výskytu výjimky.Retrieves a computer-independent description of an exception, and information about the state that existed for the thread when the exception occurred.

GetFunctionPointerForDelegate(Delegate)

Převede delegát na ukazatel funkce, který je volat z nespravovaného kódu.Converts a delegate into a function pointer that is callable from unmanaged code.

GetFunctionPointerForDelegate<TDelegate>(TDelegate)

[Podporováno v .NET Framework 4.5.1 a novějších verzích][Supported in the .NET Framework 4.5.1 and later versions]

Převede delegáty zadaného typu na ukazatel funkce, který je možné volat z nespravovaného kódu.Converts a delegate of a specified type to a function pointer that is callable from unmanaged code.

GetHINSTANCE(Module)

Vrátí popisovač instance (HINSTANCE) pro zadaný modul.Returns the instance handle (HINSTANCE) for the specified module.

GetHRForException(Exception)

Převede zadanou výjimku na HRESULT.Converts the specified exception to an HRESULT.

GetHRForLastWin32Error()

Vrátí hodnotu HRESULT odpovídající Poslední chybě vzniklé kódem Win32 provedeným pomocí Marshal.Returns the HRESULT corresponding to the last error incurred by Win32 code executed using Marshal.

GetIDispatchForObject(Object)

Vrátí rozhraní IDispatch ze spravovaného objektu.Returns an IDispatch interface from a managed object.

GetIDispatchForObjectInContext(Object)

Vrátí ukazatel rozhraní IDispatch ze spravovaného objektu, pokud je volající ve stejném kontextu jako tento objekt.Returns an IDispatch interface pointer from a managed object, if the caller is in the same context as that object.

GetITypeInfoForType(Type)

Vrátí rozhraní ITypeInfo ze spravovaného typu.Returns a ITypeInfo interface from a managed type.

GetIUnknownForObject(Object)

Vrátí rozhraní IUnknown ze spravovaného objektu.Returns an IUnknown interface from a managed object.

GetIUnknownForObjectInContext(Object)

Vrátí rozhraní IUnknown ze spravovaného objektu, pokud je volající ve stejném kontextu jako tento objekt.Returns an IUnknown interface from a managed object, if the caller is in the same context as that object.

GetLastWin32Error()

Vrátí kód chyby vrácený poslední nespravovanou funkcí, která byla volána pomocí vyvolání platformy, která má nastaven příznak SetLastError.Returns the error code returned by the last unmanaged function that was called using platform invoke that has the SetLastError flag set.

GetManagedThunkForUnmanagedMethodPtr(IntPtr, IntPtr, Int32)

Získá ukazatel na funkci generovanou modulem runtime, která zařadí volání ze spravovaného do nespravovaného kódu.Gets a pointer to a runtime-generated function that marshals a call from managed to unmanaged code.

GetMethodInfoForComSlot(Type, Int32, ComMemberType)

Načte objekt MemberInfo pro zadanou tabulku virtuálních funkcí (v-Table nebo VTBL) slot.Retrieves a MemberInfo object for the specified virtual function table (v-table or VTBL) slot.

GetNativeVariantForObject(Object, IntPtr)

Převede objekt na VARIANTu modelu COM.Converts an object to a COM VARIANT.

GetNativeVariantForObject<T>(T, IntPtr)

[Podporováno v .NET Framework 4.5.1 a novějších verzích][Supported in the .NET Framework 4.5.1 and later versions]

Převede objekt zadaného typu na VARIANTu modelu COM.Converts an object of a specified type to a COM VARIANT.

GetObjectForIUnknown(IntPtr)

Vrátí instanci typu, která představuje objekt modelu COM, ukazatelem na jeho rozhraní IUnknown .Returns an instance of a type that represents a COM object by a pointer to its IUnknown interface.

GetObjectForNativeVariant(IntPtr)

Převede VARIANTu modelu COM na objekt.Converts a COM VARIANT to an object.

GetObjectForNativeVariant<T>(IntPtr)

[Podporováno v .NET Framework 4.5.1 a novějších verzích][Supported in the .NET Framework 4.5.1 and later versions]

Převede VARIANTu modelu COM na objekt zadaného typu.Converts a COM VARIANT to an object of a specified type.

GetObjectsForNativeVariants(IntPtr, Int32)

Převede pole variant modelu COM na pole objektů.Converts an array of COM VARIANTs to an array of objects.

GetObjectsForNativeVariants<T>(IntPtr, Int32)

[Podporováno v .NET Framework 4.5.1 a novějších verzích][Supported in the .NET Framework 4.5.1 and later versions]

Převede pole variant modelu COM na pole zadaného typu.Converts an array of COM VARIANTs to an array of a specified type.

GetStartComSlot(Type)

Získá první slot v tabulce virtuální funkce (v-Table nebo VTBL), který obsahuje uživatelsky definované metody.Gets the first slot in the virtual function table (v-table or VTBL) that contains user-defined methods.

GetThreadFromFiberCookie(Int32)

Převede vláknový soubor cookie na odpovídající instanci Thread.Converts a fiber cookie into the corresponding Thread instance.

GetTypedObjectForIUnknown(IntPtr, Type)

Vrací spravovaný objekt zadaného typu, který představuje objekt modelu COM.Returns a managed object of a specified type that represents a COM object.

GetTypeForITypeInfo(IntPtr)

Převede nespravovaný objekt volání ITypeInfo na objekt spravovaného Type.Converts an unmanaged ITypeInfo object into a managed Type object.

GetTypeFromCLSID(Guid)

Vrátí typ přidružený k zadanému identifikátoru třídy (CLSID).Returns the type associated with the specified class identifier (CLSID).

GetTypeInfoName(ITypeInfo)

Načte název typu reprezentovaného objektem volání ITypeInfo .Retrieves the name of the type represented by an ITypeInfo object.

GetTypeInfoName(UCOMITypeInfo)

Načte název typu reprezentovaného objektem volání ITypeInfo .Retrieves the name of the type represented by an ITypeInfo object.

GetTypeLibGuid(ITypeLib)

Načte identifikátor knihovny (LIBID) knihovny typů.Retrieves the library identifier (LIBID) of a type library.

GetTypeLibGuid(UCOMITypeLib)

Načte identifikátor knihovny (LIBID) knihovny typů.Retrieves the library identifier (LIBID) of a type library.

GetTypeLibGuidForAssembly(Assembly)

Načte identifikátor knihovny (LIBID), který je přiřazený knihovně typů při exportu ze zadaného sestavení.Retrieves the library identifier (LIBID) that is assigned to a type library when it was exported from the specified assembly.

GetTypeLibLcid(ITypeLib)

Načte identifikátor LCID knihovny typů.Retrieves the LCID of a type library.

GetTypeLibLcid(UCOMITypeLib)

Načte identifikátor LCID knihovny typů.Retrieves the LCID of a type library.

GetTypeLibName(ITypeLib)

Načte název knihovny typů.Retrieves the name of a type library.

GetTypeLibName(UCOMITypeLib)

Načte název knihovny typů.Retrieves the name of a type library.

GetTypeLibVersionForAssembly(Assembly, Int32, Int32)

Načte číslo verze knihovny typů, která bude exportována ze zadaného sestavení.Retrieves the version number of a type library that will be exported from the specified assembly.

GetUniqueObjectForIUnknown(IntPtr)

Vytvoří pro dané rozhraní IUnknown jedinečný objekt Obálka s příchodem za běhu (RCW).Creates a unique Runtime Callable Wrapper (RCW) object for a given IUnknown interface.

GetUnmanagedThunkForManagedMethodPtr(IntPtr, IntPtr, Int32)

Získá ukazatel na funkci generovanou modulem runtime, která zařadí volání z nespravovaného do spravovaného kódu.Gets a pointer to a runtime-generated function that marshals a call from unmanaged to managed code.

IsComObject(Object)

Určuje, zda zadaný objekt představuje objekt modelu COM.Indicates whether a specified object represents a COM object.

IsTypeVisibleFromCom(Type)

Označuje, zda je typ viditelný pro klienty modelu COM.Indicates whether a type is visible to COM clients.

NumParamBytes(MethodInfo)

Vypočítá počet bajtů v nespravované paměti, které jsou požadovány pro uchování parametrů zadané metody.Calculates the number of bytes in unmanaged memory that are required to hold the parameters for the specified method.

OffsetOf(Type, String)

Vrátí posun pole nespravované formy spravované třídy.Returns the field offset of the unmanaged form of the managed class.

OffsetOf<T>(String)

[Podporováno v .NET Framework 4.5.1 a novějších verzích][Supported in the .NET Framework 4.5.1 and later versions]

Vrátí posun pole nespravovaného formátu zadané spravované třídy.Returns the field offset of the unmanaged form of a specified managed class.

Prelink(MethodInfo)

Provede úlohy nastavení jednorázové metody bez volání metody.Executes one-time method setup tasks without calling the method.

PrelinkAll(Type)

Provede kontrolu před propojením pro všechny metody třídy.Performs a pre-link check for all methods on a class.

PtrToStringAnsi(IntPtr)

Zkopíruje všechny znaky až do prvního znaku null z nespravovaného řetězce ANSI do spravovaného Stringa rozšíří každý znak ANSI na kódování Unicode.Copies all characters up to the first null character from an unmanaged ANSI string to a managed String, and widens each ANSI character to Unicode.

PtrToStringAnsi(IntPtr, Int32)

Přidělí spravovaný String, zkopíruje zadaný počet znaků z nespravovaného řetězce ANSI do něj a rozšíří každý znak ANSI na kódování Unicode.Allocates a managed String, copies a specified number of characters from an unmanaged ANSI string into it, and widens each ANSI character to Unicode.

PtrToStringAuto(IntPtr)

Přidělí spravovaný String a zkopíruje všechny znaky až do prvního prázdného znaku z řetězce, který je uložen v nespravované paměti.Allocates a managed String and copies all characters up to the first null character from a string stored in unmanaged memory into it.

PtrToStringAuto(IntPtr, Int32)

Přidělí spravovaný String a zkopíruje zadaný počet znaků z řetězce, který je uložen v nespravované paměti.Allocates a managed String and copies the specified number of characters from a string stored in unmanaged memory into it.

PtrToStringBSTR(IntPtr)

Přidělí spravovaný String a zkopíruje do něj binární řetězec (BSTR) uložený v nespravované paměti.Allocates a managed String and copies a binary string (BSTR) stored in unmanaged memory into it.

PtrToStringUni(IntPtr)

Přidělí spravovaný String a zkopíruje všechny znaky do prvního znaku null z nespravovaného řetězce Unicode do objektu.Allocates a managed String and copies all characters up to the first null character from an unmanaged Unicode string into it.

PtrToStringUni(IntPtr, Int32)

Přidělí spravované String a zkopíruje zadaný počet znaků z nespravovaného řetězce Unicode do objektu.Allocates a managed String and copies a specified number of characters from an unmanaged Unicode string into it.

PtrToStringUTF8(IntPtr)
PtrToStringUTF8(IntPtr, Int32)
PtrToStructure(IntPtr, Object)

Zařazování dat z nespravovaného bloku paměti do spravovaného objektu.Marshals data from an unmanaged block of memory to a managed object.

PtrToStructure(IntPtr, Type)

Zařadí data z nespravovaného bloku paměti do nově přiděleného spravovaného objektu zadaného typu.Marshals data from an unmanaged block of memory to a newly allocated managed object of the specified type.

PtrToStructure<T>(IntPtr)

[Podporováno v .NET Framework 4.5.1 a novějších verzích][Supported in the .NET Framework 4.5.1 and later versions]

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.Marshals data from an unmanaged block of memory to a newly allocated managed object of the type specified by a generic type parameter.

PtrToStructure<T>(IntPtr, T)

[Podporováno v .NET Framework 4.5.1 a novějších verzích][Supported in the .NET Framework 4.5.1 and later versions]

Zařazování dat z nespravovaného bloku paměti do spravovaného objektu zadaného typu.Marshals data from an unmanaged block of memory to a managed object of the specified type.

QueryInterface(IntPtr, Guid, IntPtr)

Požaduje ukazatel na zadané rozhraní z objektu COM.Requests a pointer to a specified interface from a COM object.

ReadByte(IntPtr)

Přečte jeden bajt z nespravované paměti.Reads a single byte from unmanaged memory.

ReadByte(IntPtr, Int32)

Přečte jeden bajt na daném posunu (nebo indexu) z nespravované paměti.Reads a single byte at a given offset (or index) from unmanaged memory.

ReadByte(Object, Int32)

Přečte jeden bajt na daném posunu (nebo indexu) z nespravované paměti.Reads a single byte at a given offset (or index) from unmanaged memory.

ReadInt16(IntPtr)

Přečte 16bitové celé číslo se znaménkem z nespravované paměti.Reads a 16-bit signed integer from unmanaged memory.

ReadInt16(IntPtr, Int32)

Přečte 16bitové celé číslo se znaménkem na daném posunu z nespravované paměti.Reads a 16-bit signed integer at a given offset from unmanaged memory.

ReadInt16(Object, Int32)

Přečte 16bitové celé číslo se znaménkem na daném posunu z nespravované paměti.Reads a 16-bit signed integer at a given offset from unmanaged memory.

ReadInt32(IntPtr)

Přečte nahlášené celé číslo se znaménkem 32 z nespravované paměti.Reads a 32-bit signed integer from unmanaged memory.

ReadInt32(IntPtr, Int32)

Přečte celé číslo se znaménkem 32 v daném posunu z nespravované paměti.Reads a 32-bit signed integer at a given offset from unmanaged memory.

ReadInt32(Object, Int32)

Přečte celé číslo se znaménkem 32 v daném posunu z nespravované paměti.Reads a 32-bit signed integer at a given offset from unmanaged memory.

ReadInt64(IntPtr)

Přečte nahlášené celé číslo se znaménkem 64 z nespravované paměti.Reads a 64-bit signed integer from unmanaged memory.

ReadInt64(IntPtr, Int32)

Přečte celé číslo se znaménkem 64 v daném posunu z nespravované paměti.Reads a 64-bit signed integer at a given offset from unmanaged memory.

ReadInt64(Object, Int32)

Přečte celé číslo se znaménkem 64 v daném posunu z nespravované paměti.Reads a 64-bit signed integer at a given offset from unmanaged memory.

ReadIntPtr(IntPtr)

Přečte celé číslo přirozené velikosti procesoru z nespravované paměti.Reads a processor native-sized integer from unmanaged memory.

ReadIntPtr(IntPtr, Int32)

Přečte celé číslo nativní velikosti procesoru na daném posunu z nespravované paměti.Reads a processor native sized integer at a given offset from unmanaged memory.

ReadIntPtr(Object, Int32)

Přečte celé číslo nativní velikosti procesoru z nespravované paměti.Reads a processor native sized integer from unmanaged memory.

ReAllocCoTaskMem(IntPtr, Int32)

Změní velikost bloku paměti dříve přiděleného pomocí AllocCoTaskMem(Int32).Resizes a block of memory previously allocated with AllocCoTaskMem(Int32).

ReAllocHGlobal(IntPtr, IntPtr)

Změní velikost bloku paměti dříve přiděleného pomocí AllocHGlobal(IntPtr).Resizes a block of memory previously allocated with AllocHGlobal(IntPtr).

Release(IntPtr)

Sníží počet odkazů na zadaném rozhraní.Decrements the reference count on the specified interface.

ReleaseComObject(Object)

Sníží počet odkazů pro RCW ( runtime ), které jsou přidruženy k zadanému objektu com.Decrements the reference count of the Runtime Callable Wrapper (RCW) associated with the specified COM object.

ReleaseThreadCache()

Uvolní mezipaměť vlákna.Releases the thread cache.

SecureStringToBSTR(SecureString)

Přiděluje nespravovaný binární řetězec (BSTR) a kopíruje obsah spravovaného objektu SecureString do něj.Allocates an unmanaged binary string (BSTR) and copies the contents of a managed SecureString object into it.

SecureStringToCoTaskMemAnsi(SecureString)

Zkopíruje obsah spravovaného SecureString objektu do bloku paměti, který je přidělený z nespravovaného přidělování úloh modelu COM.Copies the contents of a managed SecureString object to a block of memory allocated from the unmanaged COM task allocator.

SecureStringToCoTaskMemUnicode(SecureString)

Zkopíruje obsah spravovaného SecureString objektu do bloku paměti, který je přidělený z nespravovaného přidělování úloh modelu COM.Copies the contents of a managed SecureString object to a block of memory allocated from the unmanaged COM task allocator.

SecureStringToGlobalAllocAnsi(SecureString)

Zkopíruje obsah spravovaného SecureString do nespravované paměti a při kopírování se převede do formátu ANSI.Copies the contents of a managed SecureString into unmanaged memory, converting into ANSI format as it copies.

SecureStringToGlobalAllocUnicode(SecureString)

Zkopíruje obsah spravovaného SecureString objektu do nespravované paměti.Copies the contents of a managed SecureString object into unmanaged memory.

SetComObjectData(Object, Object, Object)

Nastavuje data, na která se odkazuje zadaný klíč v zadaném objektu COM.Sets data referenced by the specified key in the specified COM object.

SizeOf(Object)

Vrátí nespravovanou velikost objektu v bajtech.Returns the unmanaged size of an object in bytes.

SizeOf(Type)

Vrátí velikost nespravovaného typu v bajtech.Returns the size of an unmanaged type in bytes.

SizeOf<T>()

[Podporováno v .NET Framework 4.5.1 a novějších verzích][Supported in the .NET Framework 4.5.1 and later versions]

Vrátí velikost nespravovaného typu v bajtech.Returns the size of an unmanaged type in bytes.

SizeOf<T>(T)

[Podporováno v .NET Framework 4.5.1 a novějších verzích][Supported in the .NET Framework 4.5.1 and later versions]

Vrátí nespravovanou velikost objektu zadaného typu v bajtech.Returns the unmanaged size of an object of a specified type in bytes.

StringToBSTR(String)

Přidělí objekt BSTR a zkopíruje obsah spravovaného String do něj.Allocates a BSTR and copies the contents of a managed String into it.

StringToCoTaskMemAnsi(String)

Zkopíruje obsah spravovaného String do bloku paměti, který je přidělený z nespravovaného přidělování úloh modelu COM.Copies the contents of a managed String to a block of memory allocated from the unmanaged COM task allocator.

StringToCoTaskMemAuto(String)

Zkopíruje obsah spravovaného String do bloku paměti, který je přidělený z nespravovaného přidělování úloh modelu COM.Copies the contents of a managed String to a block of memory allocated from the unmanaged COM task allocator.

StringToCoTaskMemUni(String)

Zkopíruje obsah spravovaného String do bloku paměti, který je přidělený z nespravovaného přidělování úloh modelu COM.Copies the contents of a managed String to a block of memory allocated from the unmanaged COM task allocator.

StringToCoTaskMemUTF8(String)
StringToHGlobalAnsi(String)

Zkopíruje obsah spravovaného String do nespravované paměti a při kopírování se převede do formátu ANSI.Copies the contents of a managed String into unmanaged memory, converting into ANSI format as it copies.

StringToHGlobalAuto(String)

Zkopíruje obsah spravovaného String do nespravované paměti a v případě potřeby převede do formátu ANSI.Copies the contents of a managed String into unmanaged memory, converting into ANSI format if required.

StringToHGlobalUni(String)

Zkopíruje obsah spravovaného String do nespravované paměti.Copies the contents of a managed String into unmanaged memory.

StructureToPtr(Object, IntPtr, Boolean)

Zazařazuje data ze spravovaného objektu do nespravovaného bloku paměti.Marshals data from a managed object to an unmanaged block of memory.

StructureToPtr<T>(T, IntPtr, Boolean)

[Podporováno v .NET Framework 4.5.1 a novějších verzích][Supported in the .NET Framework 4.5.1 and later versions]

Zařazování dat ze spravovaného objektu zadaného typu do nespravovaného bloku paměti.Marshals data from a managed object of a specified type to an unmanaged block of memory.

ThrowExceptionForHR(Int32)

Vyvolá výjimku s určitou hodnotou HRESULT selhání.Throws an exception with a specific failure HRESULT value.

ThrowExceptionForHR(Int32, IntPtr)

Vyvolá výjimku s konkrétním selháním HRESULT na základě zadaného rozhraní IErrorInfo. aspx.Throws an exception with a specific failure HRESULT, based on the specified IErrorInfo.aspx) interface.

UnsafeAddrOfPinnedArrayElement(Array, Int32)

Získá adresu elementu v zadaném indexu v zadaném poli.Gets the address of the element at the specified index inside the specified array.

UnsafeAddrOfPinnedArrayElement<T>(T[], Int32)

[Podporováno v .NET Framework 4.5.1 a novějších verzích][Supported in the .NET Framework 4.5.1 and later versions]

Získá adresu elementu na zadaném indexu v poli zadaného typu.Gets the address of the element at the specified index in an array of a specified type.

WriteByte(IntPtr, Byte)

Zapíše hodnotu jednoho bajtu do nespravované paměti.Writes a single byte value to unmanaged memory.

WriteByte(IntPtr, Int32, Byte)

Zapíše hodnotu jednoho bajtu do nespravované paměti v zadaném posunu.Writes a single byte value to unmanaged memory at a specified offset.

WriteByte(Object, Int32, Byte)

Zapíše hodnotu jednoho bajtu do nespravované paměti v zadaném posunu.Writes a single byte value to unmanaged memory at a specified offset.

WriteInt16(IntPtr, Char)

Zapíše znak jako 16bitovou celočíselnou hodnotu do nespravované paměti.Writes a character as a 16-bit integer value to unmanaged memory.

WriteInt16(IntPtr, Int16)

Zapíše 16bitové celočíselné hodnoty do nespravované paměti.Writes a 16-bit integer value to unmanaged memory.

WriteInt16(IntPtr, Int32, Char)

Zapisuje 16bitové celé číslo se znaménkem do nespravované paměti v zadaném posunu.Writes a 16-bit signed integer value to unmanaged memory at a specified offset.

WriteInt16(IntPtr, Int32, Int16)

Zapisuje 16bitové celé číslo se znaménkem do nespravované paměti v zadaném posunu.Writes a 16-bit signed integer value into unmanaged memory at a specified offset.

WriteInt16(Object, Int32, Char)

Zapisuje 16bitové celé číslo se znaménkem do nespravované paměti v zadaném posunu.Writes a 16-bit signed integer value to unmanaged memory at a specified offset.

WriteInt16(Object, Int32, Int16)

Zapisuje 16bitové celé číslo se znaménkem do nespravované paměti v zadaném posunu.Writes a 16-bit signed integer value to unmanaged memory at a specified offset.

WriteInt32(IntPtr, Int32)

Zapíše 32 celočíselnou hodnotu se znaménkem na nespravovanou paměť.Writes a 32-bit signed integer value to unmanaged memory.

WriteInt32(IntPtr, Int32, Int32)

Zapíše 32 celočíselnou hodnotu se znaménkem do nespravované paměti v zadaném posunu.Writes a 32-bit signed integer value into unmanaged memory at a specified offset.

WriteInt32(Object, Int32, Int32)

Zapíše 32 celočíselnou hodnotu se znaménkem na nespravovanou paměť v zadaném posunu.Writes a 32-bit signed integer value to unmanaged memory at a specified offset.

WriteInt64(IntPtr, Int32, Int64)

Zapíše 64 celočíselnou hodnotu se znaménkem na nespravovanou paměť v zadaném posunu.Writes a 64-bit signed integer value to unmanaged memory at a specified offset.

WriteInt64(IntPtr, Int64)

Zapíše 64 celočíselnou hodnotu se znaménkem na nespravovanou paměť.Writes a 64-bit signed integer value to unmanaged memory.

WriteInt64(Object, Int32, Int64)

Zapíše 64 celočíselnou hodnotu se znaménkem na nespravovanou paměť v zadaném posunu.Writes a 64-bit signed integer value to unmanaged memory at a specified offset.

WriteIntPtr(IntPtr, Int32, IntPtr)

Zapíše celočíselnou celočíselnou hodnotu o velikosti procesoru na nespravovanou paměť v zadaném posunu.Writes a processor native-sized integer value to unmanaged memory at a specified offset.

WriteIntPtr(IntPtr, IntPtr)

Zapisuje celočíselnou hodnotu nativní velikosti procesoru do nespravované paměti.Writes a processor native sized integer value into unmanaged memory.

WriteIntPtr(Object, Int32, IntPtr)

Zapisuje celočíselnou hodnotu nativní velikosti procesoru do nespravované paměti.Writes a processor native sized integer value to unmanaged memory.

ZeroFreeBSTR(IntPtr)

Uvolňuje ukazatel BSTR , který byl přidělen pomocí metody SecureStringToBSTR(SecureString).Frees a BSTR pointer that was allocated using the SecureStringToBSTR(SecureString) method.

ZeroFreeCoTaskMemAnsi(IntPtr)

Uvolňuje nespravovaný ukazatel řetězce, který byl přidělen pomocí metody SecureStringToCoTaskMemAnsi(SecureString).Frees an unmanaged string pointer that was allocated using the SecureStringToCoTaskMemAnsi(SecureString) method.

ZeroFreeCoTaskMemUnicode(IntPtr)

Uvolňuje nespravovaný ukazatel řetězce, který byl přidělen pomocí metody SecureStringToCoTaskMemUnicode(SecureString).Frees an unmanaged string pointer that was allocated using the SecureStringToCoTaskMemUnicode(SecureString) method.

ZeroFreeCoTaskMemUTF8(IntPtr)
ZeroFreeGlobalAllocAnsi(IntPtr)

Uvolňuje nespravovaný ukazatel řetězce, který byl přidělen pomocí metody SecureStringToGlobalAllocAnsi(SecureString).Frees an unmanaged string pointer that was allocated using the SecureStringToGlobalAllocAnsi(SecureString) method.

ZeroFreeGlobalAllocUnicode(IntPtr)

Uvolňuje nespravovaný ukazatel řetězce, který byl přidělen pomocí metody SecureStringToGlobalAllocUnicode(SecureString).Frees an unmanaged string pointer that was allocated using the SecureStringToGlobalAllocUnicode(SecureString) method.

Platí pro