Marshal Marshal Marshal Marshal Class

Определение

Предоставляет коллекцию методов для выделения неуправляемой памяти, копирования блоков неуправляемой памяти и преобразования управляемых типов в неуправляемые, а также прочих разнообразных методов, используемых при взаимодействии с неуправляемым кодом.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
Наследование
MarshalMarshalMarshalMarshal

Примеры

В следующем примере показано, как использовать различные методы, определенные классом 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

Комментарии

Методы static, определенные в классе Marshal, необходимы для работы с неуправляемым кодом.The static methods defined on the Marshal class are essential to working with unmanaged code. Большинство методов, определенных в этом классе, обычно используются разработчиками, желающими предоставить мост между управляемыми и неуправляемыми моделями программирования.Most methods defined in this class are typically used by developers who want to provide a bridge between the managed and unmanaged programming models. Например, метод StringToHGlobalAnsi копирует символы ANSI из указанной строки (в управляемой куче) в буфер в неуправляемой куче.For example, the StringToHGlobalAnsi method copies ANSI characters from a specified string (in the managed heap) to a buffer in the unmanaged heap. Он также выделяет целевую кучу правильного размера.It also allocates the target heap of the right size.

Среда CLR предоставляет определенные возможности упаковки.The common language runtime provides specific marshaling capabilities. Дополнительные сведения о поведении маршалинга см. в разделе Маршалинг взаимодействия.For details on marshaling behavior, see Interop Marshaling.

Методы Read и Write в классе Marshal поддерживают как согласованный, так и невыравниваемая доступ.The Read and Write methods in the Marshal class support both aligned and unaligned access.

Поля

SystemDefaultCharSize SystemDefaultCharSize SystemDefaultCharSize SystemDefaultCharSize

Представляет используемый по умолчанию размер символа в системе. По умолчанию для систем Юникода задается значение 2, а для систем ANSI значение 1.Represents the default character size on the system; the default is 2 for Unicode systems and 1 for ANSI systems. Это поле доступно только для чтения.This field is read-only.

SystemMaxDBCSCharSize SystemMaxDBCSCharSize SystemMaxDBCSCharSize SystemMaxDBCSCharSize

Представляет наибольший размер набора двухбайтовых символов (DBCS) в байтах для текущей операционной системы.Represents the maximum size of a double byte character set (DBCS) size, in bytes, for the current operating system. Это поле доступно только для чтения.This field is read-only.

Методы

AddRef(IntPtr) AddRef(IntPtr) AddRef(IntPtr) AddRef(IntPtr)

Увеличивает счетчик ссылок для указанного интерфейса.Increments the reference count on the specified interface.

AllocCoTaskMem(Int32) AllocCoTaskMem(Int32) AllocCoTaskMem(Int32) AllocCoTaskMem(Int32)

Выделяет блок памяти указанного размера из механизма распределения памяти для задач COM.Allocates a block of memory of specified size from the COM task memory allocator.

AllocHGlobal(Int32) AllocHGlobal(Int32) AllocHGlobal(Int32) AllocHGlobal(Int32)

Выделяет память из неуправляемой памяти процесса, используя заданное количество байтов.Allocates memory from the unmanaged memory of the process by using the specified number of bytes.

AllocHGlobal(IntPtr) AllocHGlobal(IntPtr) AllocHGlobal(IntPtr) AllocHGlobal(IntPtr)

Выделяет память из неуправляемой памяти процесса, используя указатель на заданное количество байтов.Allocates memory from the unmanaged memory of the process by using the pointer to the specified number of bytes.

AreComObjectsAvailableForCleanup() AreComObjectsAvailableForCleanup() AreComObjectsAvailableForCleanup() AreComObjectsAvailableForCleanup()

Указывает, доступны ли для очистки вызываемые оболочки времени выполнения (RCW) из какого-либо контекста.Indicates whether runtime callable wrappers (RCWs) from any context are available for cleanup.

BindToMoniker(String) BindToMoniker(String) BindToMoniker(String) BindToMoniker(String)

Возвращает указатель интерфейса, определенный указанным моникером.Gets an interface pointer identified by the specified moniker.

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

Изменяет строгость дескриптора вызываемой оболочки COM (CCW) объекта.Changes the strength of an object's COM Callable Wrapper (CCW) handle.

CleanupUnusedObjectsInCurrentContext() CleanupUnusedObjectsInCurrentContext() CleanupUnusedObjectsInCurrentContext() CleanupUnusedObjectsInCurrentContext()

Предписывает среде выполнения очистить все вызываемые оболочки времени выполнения (RCW), выделенные в текущем контексте.Notifies the runtime to clean up all Runtime Callable Wrappers (RCWs) allocated in the current context.

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

Копирует данные из одномерного управляемого массива чисел с плавающей запятой одинарной точности в указатель неуправляемой памяти.Copies data from a one-dimensional, managed single-precision floating-point number array to an unmanaged memory pointer.

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

Копирует данные из одномерного управляемого массива IntPtr в неуправляемый указатель памяти.Copies data from a one-dimensional, managed IntPtr array to an unmanaged memory pointer.

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

Копирует данные из указателя неуправляемой памяти в управляемый массив чисел с плавающей запятой одиночной точности.Copies data from an unmanaged memory pointer to a managed single-precision floating-point number array.

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

Копирует данные из указателя неуправляемой памяти в одномерный управляемый массив 64-битных целых чисел со знаком.Copies data from an unmanaged memory pointer to a managed 64-bit signed integer array.

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

Копирует данные из указателя неуправляемой памяти в одномерный управляемый массив 32-битных целых чисел со знаком.Copies data from an unmanaged memory pointer to a managed 32-bit signed integer array.

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

Копирует данные из указателя неуправляемой памяти в одномерный управляемый массив 16-битных целых чисел со знаком.Copies data from an unmanaged memory pointer to a managed 16-bit signed integer array.

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

Копирует данные из неуправляемого указателя памяти в управляемый массив чисел с плавающей запятой двойной точности.Copies data from an unmanaged memory pointer to a managed double-precision floating-point number array.

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

Копирует данные из указателя неуправляемой памяти в управляемый массив IntPtr.Copies data from an unmanaged memory pointer to a managed IntPtr array.

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

Копирует данные из указателя неуправляемой памяти в одномерный управляемый массив 8-битных целых чисел без знака.Copies data from an unmanaged memory pointer to a managed 8-bit unsigned integer array.

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

Копирует данные из одномерного управляемого массива 64-битных целых чисел со знаком в указатель неуправляемой памяти.Copies data from a one-dimensional, managed 64-bit signed integer array to an unmanaged memory pointer.

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

Копирует данные из одномерного управляемого массива 32-битных целых чисел со знаком в указатель неуправляемой памяти.Copies data from a one-dimensional, managed 32-bit signed integer array to an unmanaged memory pointer.

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

Копирует данные из одномерного управляемого массива 16-битных целых чисел со знаком в указатель неуправляемой памяти.Copies data from a one-dimensional, managed 16-bit signed integer array to an unmanaged memory pointer.

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

Копирует данные из указателя неуправляемой памяти в управляемый массив символов.Copies data from an unmanaged memory pointer to a managed character array.

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

Копирует данные из одномерного управляемого массива чисел с плавающей запятой двойной точности в указатель неуправляемой памяти.Copies data from a one-dimensional, managed double-precision floating-point number array to an unmanaged memory pointer.

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

Копирует данные из одномерного управляемого массива символов в неуправляемый указатель памяти.Copies data from a one-dimensional, managed character array to an unmanaged memory pointer.

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

Копирует данные из одномерного управляемого массива 8-битных целых чисел без знака в указатель неуправляемой памяти.Copies data from a one-dimensional, managed 8-bit unsigned integer array to an unmanaged memory pointer.

CreateAggregatedObject(IntPtr, Object) CreateAggregatedObject(IntPtr, Object) CreateAggregatedObject(IntPtr, Object) CreateAggregatedObject(IntPtr, Object)

Объединяет управляемый объект с заданным COM-объектом.Aggregates a managed object with the specified COM object.

CreateAggregatedObject<T>(IntPtr, T) CreateAggregatedObject<T>(IntPtr, T) CreateAggregatedObject<T>(IntPtr, T) CreateAggregatedObject<T>(IntPtr, T)

[Поддерживается в .NET Framework 4.5.1 и более поздних версиях.][Supported in the .NET Framework 4.5.1 and later versions]

Объединяет управляемый объект заданного типа с заданным COM-объектом.Aggregates a managed object of the specified type with the specified COM object.

CreateWrapperOfType(Object, Type) CreateWrapperOfType(Object, Type) CreateWrapperOfType(Object, Type) CreateWrapperOfType(Object, Type)

Инкапсулирует указанный COM-объект в объекте заданного типа.Wraps the specified COM object in an object of the specified type.

CreateWrapperOfType<T,TWrapper>(T) CreateWrapperOfType<T,TWrapper>(T) CreateWrapperOfType<T,TWrapper>(T) CreateWrapperOfType<T,TWrapper>(T)

[Поддерживается в .NET Framework 4.5.1 и более поздних версиях.][Supported in the .NET Framework 4.5.1 and later versions]

Инкапсулирует указанный COM-объект в объекте заданного типа.Wraps the specified COM object in an object of the specified type.

DestroyStructure(IntPtr, Type) DestroyStructure(IntPtr, Type) DestroyStructure(IntPtr, Type) DestroyStructure(IntPtr, Type)

Освобождает все вложенные структуры, на которые указывает заданный блок неуправляемой памяти.Frees all substructures that the specified unmanaged memory block points to.

DestroyStructure<T>(IntPtr) DestroyStructure<T>(IntPtr) DestroyStructure<T>(IntPtr) DestroyStructure<T>(IntPtr)

[Поддерживается в .NET Framework 4.5.1 и более поздних версиях.][Supported in the .NET Framework 4.5.1 and later versions]

Освобождает все вложенные структуры указанного типа, на которые указывает заданный блок неуправляемой памяти.Frees all substructures of a specified type that the specified unmanaged memory block points to.

FinalReleaseComObject(Object) FinalReleaseComObject(Object) FinalReleaseComObject(Object) FinalReleaseComObject(Object)

Высвобождает все ссылки на вызываемую оболочку времени выполнения (RCW), присваивая ее счетчику ссылок значение 0.Releases all references to a Runtime Callable Wrapper (RCW) by setting its reference count to 0.

FreeBSTR(IntPtr) FreeBSTR(IntPtr) FreeBSTR(IntPtr) FreeBSTR(IntPtr)

Освобождает строку BSTR с помощью функции COM SysFreeString.Frees a BSTR using the COM SysFreeString function.

FreeCoTaskMem(IntPtr) FreeCoTaskMem(IntPtr) FreeCoTaskMem(IntPtr) FreeCoTaskMem(IntPtr)

Освобождает блок памяти, выделенный неуправляемым механизмом распределения памяти для задач COM.Frees a block of memory allocated by the unmanaged COM task memory allocator.

FreeHGlobal(IntPtr) FreeHGlobal(IntPtr) FreeHGlobal(IntPtr) FreeHGlobal(IntPtr)

Освобождает память, выделенную ранее из неуправляемой памяти процесса.Frees memory previously allocated from the unmanaged memory of the process.

GenerateGuidForType(Type) GenerateGuidForType(Type) GenerateGuidForType(Type) GenerateGuidForType(Type)

Возвращает уникальный глобальный идентификатор GUID для указанного типа или создает идентификатор GUID при помощи алгоритма, используемого средством экспортирования библиотек типов 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) GenerateProgIdForType(Type) GenerateProgIdForType(Type) GenerateProgIdForType(Type)

Возвращает программный идентификатор ProgID для указанного типа.Returns a programmatic identifier (ProgID) for the specified type.

GetActiveObject(String) GetActiveObject(String) GetActiveObject(String) GetActiveObject(String)

Получает выполняющийся экземпляр указанного объекта из таблицы запущенных объектов (ROT).Obtains a running instance of the specified object from the running object table (ROT).

GetComInterfaceForObject(Object, Type) GetComInterfaceForObject(Object, Type) GetComInterfaceForObject(Object, Type) GetComInterfaceForObject(Object, Type)

Возвращает указатель на интерфейс IUnknown, представляющий указанный интерфейс заданного объекта.Returns a pointer to an IUnknown interface that represents the specified interface on the specified object. Доступ к настраиваемому интерфейсу запросов включен по умолчанию.Custom query interface access is enabled by default.

GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode)

Возвращает указатель на интерфейс IUnknown, представляющий указанный интерфейс заданного объекта.Returns a pointer to an IUnknown interface that represents the specified interface on the specified object. Доступ к настраиваемому интерфейсу запросов контролируется указанным режимом настройки.Custom query interface access is controlled by the specified customization mode.

GetComInterfaceForObject<T,TInterface>(T) GetComInterfaceForObject<T,TInterface>(T) GetComInterfaceForObject<T,TInterface>(T) GetComInterfaceForObject<T,TInterface>(T)

[Поддерживается в .NET Framework 4.5.1 и более поздних версиях.][Supported in the .NET Framework 4.5.1 and later versions] Возвращает указатель на интерфейс IUnknown, представляющий указанный интерфейс объекта заданного типа.Returns a pointer to an IUnknown interface that represents the specified interface on an object of the specified type. Доступ к настраиваемому интерфейсу запросов включен по умолчанию.Custom query interface access is enabled by default.

GetComInterfaceForObjectInContext(Object, Type) GetComInterfaceForObjectInContext(Object, Type) GetComInterfaceForObjectInContext(Object, Type) GetComInterfaceForObjectInContext(Object, Type)

Возвращает указатель интерфейса, представляющий заданный интерфейс для объекта, если вызывающий объект находится в том же контексте, что и данный объект.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) GetComObjectData(Object, Object) GetComObjectData(Object, Object) GetComObjectData(Object, Object)

Извлекает данные, на которые ссылается заданный ключ из указанного COM-объекта.Retrieves data that is referenced by the specified key from the specified COM object.

GetComSlotForMethodInfo(MemberInfo) GetComSlotForMethodInfo(MemberInfo) GetComSlotForMethodInfo(MemberInfo) GetComSlotForMethodInfo(MemberInfo)

Извлекает ячейку таблицы виртуальных функций (VTBL) для указанного типа MemberInfo, если он предоставлен модели 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) GetDelegateForFunctionPointer(IntPtr, Type) GetDelegateForFunctionPointer(IntPtr, Type) GetDelegateForFunctionPointer(IntPtr, Type)

Преобразует указатель на неуправляемую функцию в делегат.Converts an unmanaged function pointer to a delegate.

GetDelegateForFunctionPointer<TDelegate>(IntPtr) GetDelegateForFunctionPointer<TDelegate>(IntPtr) GetDelegateForFunctionPointer<TDelegate>(IntPtr) GetDelegateForFunctionPointer<TDelegate>(IntPtr)

[Поддерживается в .NET Framework 4.5.1 и более поздних версиях.][Supported in the .NET Framework 4.5.1 and later versions]

Преобразует указатель на неуправляемую функцию в делегат указанного типа.Converts an unmanaged function pointer to a delegate of a specified type.

GetEndComSlot(Type) GetEndComSlot(Type) GetEndComSlot(Type) GetEndComSlot(Type)

Извлекает последнюю ячейку таблицы виртуальных функций (VTBL) для типа, если он предоставлен модели COM.Retrieves the last slot in the virtual function table (v-table or VTBL) of a type when exposed to COM.

GetExceptionCode() GetExceptionCode() GetExceptionCode() GetExceptionCode()

Извлекает код, определяющий тип возникшего исключения.Retrieves a code that identifies the type of the exception that occurred.

GetExceptionForHR(Int32) GetExceptionForHR(Int32) GetExceptionForHR(Int32) GetExceptionForHR(Int32)

Преобразует заданный код ошибки HRESULT в соответствующий объект Exception.Converts the specified HRESULT error code to a corresponding Exception object.

GetExceptionForHR(Int32, IntPtr) GetExceptionForHR(Int32, IntPtr) GetExceptionForHR(Int32, IntPtr) GetExceptionForHR(Int32, IntPtr)

Преобразует указанный код ошибки HRESULT в соответствующий объект Exception с дополнительными сведениями об ошибке, передаваемыми в интерфейсе IErrorInfo для объекта исключения.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() GetExceptionPointers() GetExceptionPointers() GetExceptionPointers()

Извлекает не зависящее от компьютера описание исключения и сведения о состоянии потоков в момент возникновения исключения.Retrieves a computer-independent description of an exception, and information about the state that existed for the thread when the exception occurred.

GetFunctionPointerForDelegate(Delegate) GetFunctionPointerForDelegate(Delegate) GetFunctionPointerForDelegate(Delegate) GetFunctionPointerForDelegate(Delegate)

Преобразует делегат в указатель на функцию, вызываемый из неуправляемого кода.Converts a delegate into a function pointer that is callable from unmanaged code.

GetFunctionPointerForDelegate<TDelegate>(TDelegate) GetFunctionPointerForDelegate<TDelegate>(TDelegate) GetFunctionPointerForDelegate<TDelegate>(TDelegate) GetFunctionPointerForDelegate<TDelegate>(TDelegate)

[Поддерживается в .NET Framework 4.5.1 и более поздних версиях.][Supported in the .NET Framework 4.5.1 and later versions]

Преобразует делегат указанного типа в указатель на функцию, вызываемый из неуправляемого кода.Converts a delegate of a specified type to a function pointer that is callable from unmanaged code.

GetHINSTANCE(Module) GetHINSTANCE(Module) GetHINSTANCE(Module) GetHINSTANCE(Module)

Возвращает дескриптор экземпляра (HINSTANCE) для указанного модуля.Returns the instance handle (HINSTANCE) for the specified module.

GetHRForException(Exception) GetHRForException(Exception) GetHRForException(Exception) GetHRForException(Exception)

Преобразует указанное исключение в значение HRESULT.Converts the specified exception to an HRESULT.

GetHRForLastWin32Error() GetHRForLastWin32Error() GetHRForLastWin32Error() GetHRForLastWin32Error()

Возвращает значение HRESULT, соответствующее последней ошибке, вызванной кодом Win32, выполняемым с использованием класса Marshal.Returns the HRESULT corresponding to the last error incurred by Win32 code executed using Marshal.

GetIDispatchForObject(Object) GetIDispatchForObject(Object) GetIDispatchForObject(Object) GetIDispatchForObject(Object)

Возвращает интерфейс IDispatch из управляемого объекта.Returns an IDispatch interface from a managed object.

GetIDispatchForObjectInContext(Object) GetIDispatchForObjectInContext(Object) GetIDispatchForObjectInContext(Object) GetIDispatchForObjectInContext(Object)

Возвращает указатель интерфейса IDispatch из управляемого объекта, если вызывающий объект находится в том же контексте, что и данный объект.Returns an IDispatch interface pointer from a managed object, if the caller is in the same context as that object.

GetITypeInfoForType(Type) GetITypeInfoForType(Type) GetITypeInfoForType(Type) GetITypeInfoForType(Type)

Возвращает интерфейс ITypeInfo из управляемого типа.Returns a ITypeInfo interface from a managed type.

GetIUnknownForObject(Object) GetIUnknownForObject(Object) GetIUnknownForObject(Object) GetIUnknownForObject(Object)

Возвращает интерфейс IUnknown из управляемого объекта.Returns an IUnknown interface from a managed object.

GetIUnknownForObjectInContext(Object) GetIUnknownForObjectInContext(Object) GetIUnknownForObjectInContext(Object) GetIUnknownForObjectInContext(Object)

Возвращает интерфейс IUnknown из управляемого объекта, если контекст этого объекта совпадает с контекстом вызывающего объекта.Returns an IUnknown interface from a managed object, if the caller is in the same context as that object.

GetLastWin32Error() GetLastWin32Error() GetLastWin32Error() GetLastWin32Error()

Возвращает код ошибки, возвращенной последней неуправляемой функцией, вызванной при помощи вызова неуправляемого кода с установленным флагом 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) GetManagedThunkForUnmanagedMethodPtr(IntPtr, IntPtr, Int32) GetManagedThunkForUnmanagedMethodPtr(IntPtr, IntPtr, Int32) GetManagedThunkForUnmanagedMethodPtr(IntPtr, IntPtr, Int32)

Возвращает указатель на функцию, генерируемую в среде выполнения, которая маршалирует вызов из управляемого кода в неуправляемый.Gets a pointer to a runtime-generated function that marshals a call from managed to unmanaged code.

GetMethodInfoForComSlot(Type, Int32, ComMemberType) GetMethodInfoForComSlot(Type, Int32, ComMemberType) GetMethodInfoForComSlot(Type, Int32, ComMemberType) GetMethodInfoForComSlot(Type, Int32, ComMemberType)

Извлекает объект MemberInfo для указанной ячейки таблицы виртуальных функций (VTBL).Retrieves a MemberInfo object for the specified virtual function table (v-table or VTBL) slot.

GetNativeVariantForObject(Object, IntPtr) GetNativeVariantForObject(Object, IntPtr) GetNativeVariantForObject(Object, IntPtr) GetNativeVariantForObject(Object, IntPtr)

Преобразует объект в COM VARIANT.Converts an object to a COM VARIANT.

GetNativeVariantForObject<T>(T, IntPtr) GetNativeVariantForObject<T>(T, IntPtr) GetNativeVariantForObject<T>(T, IntPtr) GetNativeVariantForObject<T>(T, IntPtr)

[Поддерживается в .NET Framework 4.5.1 и более поздних версиях.][Supported in the .NET Framework 4.5.1 and later versions]

Преобразует объект заданного типа в COM VARIANT.Converts an object of a specified type to a COM VARIANT.

GetObjectForIUnknown(IntPtr) GetObjectForIUnknown(IntPtr) GetObjectForIUnknown(IntPtr) GetObjectForIUnknown(IntPtr)

Возвращает экземпляр типа, представляющего COM-объект, с помощью указателя на его интерфейс IUnknown.Returns an instance of a type that represents a COM object by a pointer to its IUnknown interface.

GetObjectForNativeVariant(IntPtr) GetObjectForNativeVariant(IntPtr) GetObjectForNativeVariant(IntPtr) GetObjectForNativeVariant(IntPtr)

Преобразует COM VARIANT в объект.Converts a COM VARIANT to an object.

GetObjectForNativeVariant<T>(IntPtr) GetObjectForNativeVariant<T>(IntPtr) GetObjectForNativeVariant<T>(IntPtr) GetObjectForNativeVariant<T>(IntPtr)

[Поддерживается в .NET Framework 4.5.1 и более поздних версиях.][Supported in the .NET Framework 4.5.1 and later versions]

Преобразует COM VARIANT в объект заданного типа.Converts a COM VARIANT to an object of a specified type.

GetObjectsForNativeVariants(IntPtr, Int32) GetObjectsForNativeVariants(IntPtr, Int32) GetObjectsForNativeVariants(IntPtr, Int32) GetObjectsForNativeVariants(IntPtr, Int32)

Преобразует массив типа COM VARIANT в массив объектов.Converts an array of COM VARIANTs to an array of objects.

GetObjectsForNativeVariants<T>(IntPtr, Int32) GetObjectsForNativeVariants<T>(IntPtr, Int32) GetObjectsForNativeVariants<T>(IntPtr, Int32) GetObjectsForNativeVariants<T>(IntPtr, Int32)

[Поддерживается в .NET Framework 4.5.1 и более поздних версиях.][Supported in the .NET Framework 4.5.1 and later versions]

Преобразует массив типа COM VARIANT в массив указанного типа.Converts an array of COM VARIANTs to an array of a specified type.

GetStartComSlot(Type) GetStartComSlot(Type) GetStartComSlot(Type) GetStartComSlot(Type)

Возвращает первую ячейку в таблице виртуальных функций (VTBL), которая содержит методы, определенные пользователем.Gets the first slot in the virtual function table (v-table or VTBL) that contains user-defined methods.

GetThreadFromFiberCookie(Int32) GetThreadFromFiberCookie(Int32) GetThreadFromFiberCookie(Int32) GetThreadFromFiberCookie(Int32)

Преобразует многослойный файл cookie в соответствующий экземпляр Thread.Converts a fiber cookie into the corresponding Thread instance.

GetTypedObjectForIUnknown(IntPtr, Type) GetTypedObjectForIUnknown(IntPtr, Type) GetTypedObjectForIUnknown(IntPtr, Type) GetTypedObjectForIUnknown(IntPtr, Type)

Возвращает управляемый объект указанного типа, представляющий COM-объект.Returns a managed object of a specified type that represents a COM object.

GetTypeForITypeInfo(IntPtr) GetTypeForITypeInfo(IntPtr) GetTypeForITypeInfo(IntPtr) GetTypeForITypeInfo(IntPtr)

Преобразует неуправляемый объект ITypeInfo в управляемый объект Type.Converts an unmanaged ITypeInfo object into a managed Type object.

GetTypeFromCLSID(Guid) GetTypeFromCLSID(Guid) GetTypeFromCLSID(Guid) GetTypeFromCLSID(Guid)

Возвращает тип, связанный с заданным идентификатором класса (CLSID).Returns the type associated with the specified class identifier (CLSID).

GetTypeInfoName(UCOMITypeInfo) GetTypeInfoName(UCOMITypeInfo) GetTypeInfoName(UCOMITypeInfo) GetTypeInfoName(UCOMITypeInfo)

Извлекает имя типа, представленного объектом ITypeInfo.Retrieves the name of the type represented by an ITypeInfo object.

GetTypeInfoName(ITypeInfo) GetTypeInfoName(ITypeInfo) GetTypeInfoName(ITypeInfo) GetTypeInfoName(ITypeInfo)

Извлекает имя типа, представленного объектом ITypeInfo.Retrieves the name of the type represented by an ITypeInfo object.

GetTypeLibGuid(ITypeLib) GetTypeLibGuid(ITypeLib) GetTypeLibGuid(ITypeLib) GetTypeLibGuid(ITypeLib)

Извлекает идентификатор LIBID библиотеки типов.Retrieves the library identifier (LIBID) of a type library.

GetTypeLibGuid(UCOMITypeLib) GetTypeLibGuid(UCOMITypeLib) GetTypeLibGuid(UCOMITypeLib) GetTypeLibGuid(UCOMITypeLib)

Извлекает идентификатор LIBID библиотеки типов.Retrieves the library identifier (LIBID) of a type library.

GetTypeLibGuidForAssembly(Assembly) GetTypeLibGuidForAssembly(Assembly) GetTypeLibGuidForAssembly(Assembly) GetTypeLibGuidForAssembly(Assembly)

Извлекает идентификатор библиотеки LIBID, присвоенный библиотеке типов при экспортировании из указанной сборки.Retrieves the library identifier (LIBID) that is assigned to a type library when it was exported from the specified assembly.

GetTypeLibLcid(ITypeLib) GetTypeLibLcid(ITypeLib) GetTypeLibLcid(ITypeLib) GetTypeLibLcid(ITypeLib)

Извлекает идентификатор LCID библиотеки типов.Retrieves the LCID of a type library.

GetTypeLibLcid(UCOMITypeLib) GetTypeLibLcid(UCOMITypeLib) GetTypeLibLcid(UCOMITypeLib) GetTypeLibLcid(UCOMITypeLib)

Извлекает идентификатор LCID библиотеки типов.Retrieves the LCID of a type library.

GetTypeLibName(ITypeLib) GetTypeLibName(ITypeLib) GetTypeLibName(ITypeLib) GetTypeLibName(ITypeLib)

Извлекает имя библиотеки типов.Retrieves the name of a type library.

GetTypeLibName(UCOMITypeLib) GetTypeLibName(UCOMITypeLib) GetTypeLibName(UCOMITypeLib) GetTypeLibName(UCOMITypeLib)

Извлекает имя библиотеки типов.Retrieves the name of a type library.

GetTypeLibVersionForAssembly(Assembly, Int32, Int32) GetTypeLibVersionForAssembly(Assembly, Int32, Int32) GetTypeLibVersionForAssembly(Assembly, Int32, Int32) GetTypeLibVersionForAssembly(Assembly, Int32, Int32)

Извлекает номер версии типа библиотеки, экспортируемой из указанной сборки.Retrieves the version number of a type library that will be exported from the specified assembly.

GetUniqueObjectForIUnknown(IntPtr) GetUniqueObjectForIUnknown(IntPtr) GetUniqueObjectForIUnknown(IntPtr) GetUniqueObjectForIUnknown(IntPtr)

Создает уникальный объект вызываемой оболочки времени выполнения (RCW) для заданного интерфейса IUnknown.Creates a unique Runtime Callable Wrapper (RCW) object for a given IUnknown interface.

GetUnmanagedThunkForManagedMethodPtr(IntPtr, IntPtr, Int32) GetUnmanagedThunkForManagedMethodPtr(IntPtr, IntPtr, Int32) GetUnmanagedThunkForManagedMethodPtr(IntPtr, IntPtr, Int32) GetUnmanagedThunkForManagedMethodPtr(IntPtr, IntPtr, Int32)

Возвращает указатель на функцию, генерируемую в среде выполнения, которая маршалирует вызов из неуправляемого кода в управляемый.Gets a pointer to a runtime-generated function that marshals a call from unmanaged to managed code.

IsComObject(Object) IsComObject(Object) IsComObject(Object) IsComObject(Object)

Показывает, представляет ли указанный объект COM-объект.Indicates whether a specified object represents a COM object.

IsTypeVisibleFromCom(Type) IsTypeVisibleFromCom(Type) IsTypeVisibleFromCom(Type) IsTypeVisibleFromCom(Type)

Показывает, является ли тип видимым для клиентов COM.Indicates whether a type is visible to COM clients.

NumParamBytes(MethodInfo) NumParamBytes(MethodInfo) NumParamBytes(MethodInfo) NumParamBytes(MethodInfo)

Вычисляет число байтов в неуправляемой памяти, необходимых для хранения параметров указанного метода.Calculates the number of bytes in unmanaged memory that are required to hold the parameters for the specified method.

OffsetOf(Type, String) OffsetOf(Type, String) OffsetOf(Type, String) OffsetOf(Type, String)

Возвращает смещение поля для неуправляемой формы управляемого класса.Returns the field offset of the unmanaged form of the managed class.

OffsetOf<T>(String) OffsetOf<T>(String) OffsetOf<T>(String) OffsetOf<T>(String)

[Поддерживается в .NET Framework 4.5.1 и более поздних версиях.][Supported in the .NET Framework 4.5.1 and later versions]

Возвращает смещение поля для неуправляемой формы указанного управляемого класса.Returns the field offset of the unmanaged form of a specified managed class.

Prelink(MethodInfo) Prelink(MethodInfo) Prelink(MethodInfo) Prelink(MethodInfo)

Выполняет задачи настройки метода за один раз, не вызывая метод.Executes one-time method setup tasks without calling the method.

PrelinkAll(Type) PrelinkAll(Type) PrelinkAll(Type) PrelinkAll(Type)

Выполняет проверку перед связыванием для всех методов класса.Performs a pre-link check for all methods on a class.

PtrToStringAnsi(IntPtr) PtrToStringAnsi(IntPtr) PtrToStringAnsi(IntPtr) PtrToStringAnsi(IntPtr)

Копирует все символы вплоть до первого пустого из неуправляемой строки ANSI в управляемый объект String и преобразует каждый символ ANSI в Юникод.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) PtrToStringAnsi(IntPtr, Int32) PtrToStringAnsi(IntPtr, Int32) PtrToStringAnsi(IntPtr, Int32)

Выделяет управляемый объект типа String, копирует в него заданное число знаков из неуправляемой строки ANSI и преобразует каждый знак ANSI в Юникод.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) PtrToStringAuto(IntPtr) PtrToStringAuto(IntPtr) PtrToStringAuto(IntPtr)

Выделяет управляемый объект String и копирует в него все знаки до первого пустого знака из строки, хранящейся в неуправляемой памяти.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) PtrToStringAuto(IntPtr, Int32) PtrToStringAuto(IntPtr, Int32) PtrToStringAuto(IntPtr, Int32)

Выделяет управляемый объект String и копирует в него заданное число знаков из строки, сохраненной в неуправляемой памяти.Allocates a managed String and copies the specified number of characters from a string stored in unmanaged memory into it.

PtrToStringBSTR(IntPtr) PtrToStringBSTR(IntPtr) PtrToStringBSTR(IntPtr) PtrToStringBSTR(IntPtr)

Выделяет управляемый объект String и копирует в него двоичную строку (BSTR), хранящуюся в неуправляемой памяти.Allocates a managed String and copies a binary string (BSTR) stored in unmanaged memory into it.

PtrToStringUni(IntPtr) PtrToStringUni(IntPtr) PtrToStringUni(IntPtr) PtrToStringUni(IntPtr)

Выделяет управляемый объект String и копирует в него все знаки до первого пустого знака из неуправляемой строки Юникода.Allocates a managed String and copies all characters up to the first null character from an unmanaged Unicode string into it.

PtrToStringUni(IntPtr, Int32) PtrToStringUni(IntPtr, Int32) PtrToStringUni(IntPtr, Int32) PtrToStringUni(IntPtr, Int32)

Выделяет управляемый объект String и копирует в него заданное число знаков неуправляемой строки Юникода.Allocates a managed String and copies a specified number of characters from an unmanaged Unicode string into it.

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

Маршалирует данные из неуправляемого блока памяти в управляемый объект.Marshals data from an unmanaged block of memory to a managed object.

PtrToStructure(IntPtr, Type) PtrToStructure(IntPtr, Type) PtrToStructure(IntPtr, Type) PtrToStructure(IntPtr, Type)

Маршалирует данные из неуправляемого блока памяти во вновь выделенный управляемый объект указанного типа.Marshals data from an unmanaged block of memory to a newly allocated managed object of the specified type.

PtrToStructure<T>(IntPtr) PtrToStructure<T>(IntPtr) PtrToStructure<T>(IntPtr) PtrToStructure<T>(IntPtr)

[Поддерживается в .NET Framework 4.5.1 и более поздних версиях.][Supported in the .NET Framework 4.5.1 and later versions]

Маршалирует данные из неуправляемого блока памяти во вновь выделенный управляемый объект типа, указанного параметром универсального типа.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) PtrToStructure<T>(IntPtr, T) PtrToStructure<T>(IntPtr, T) PtrToStructure<T>(IntPtr, T)

[Поддерживается в .NET Framework 4.5.1 и более поздних версиях.][Supported in the .NET Framework 4.5.1 and later versions]

Выполняет маршалирование данных из неуправляемого блока памяти в управляемый объекта указанного типа.Marshals data from an unmanaged block of memory to a managed object of the specified type.

QueryInterface(IntPtr, Guid, IntPtr) QueryInterface(IntPtr, Guid, IntPtr) QueryInterface(IntPtr, Guid, IntPtr) QueryInterface(IntPtr, Guid, IntPtr)

Запрашивает указатель на заданный интерфейс из COM-объекта.Requests a pointer to a specified interface from a COM object.

ReadByte(IntPtr, Int32) ReadByte(IntPtr, Int32) ReadByte(IntPtr, Int32) ReadByte(IntPtr, Int32)

Считывает один байт с указанным смещением (или индексом) из неуправляемой памяти.Reads a single byte at a given offset (or index) from unmanaged memory.

ReadByte(Object, Int32) ReadByte(Object, Int32) ReadByte(Object, Int32) ReadByte(Object, Int32)

Считывает один байт с указанным смещением (или индексом) из неуправляемой памяти.Reads a single byte at a given offset (or index) from unmanaged memory.

ReadByte(IntPtr) ReadByte(IntPtr) ReadByte(IntPtr) ReadByte(IntPtr)

Считывает один байт из неуправляемой памяти.Reads a single byte from unmanaged memory.

ReadInt16(IntPtr) ReadInt16(IntPtr) ReadInt16(IntPtr) ReadInt16(IntPtr)

Считывает из неуправляемой памяти 16-битное целое число со знаком.Reads a 16-bit signed integer from unmanaged memory.

ReadInt16(IntPtr, Int32) ReadInt16(IntPtr, Int32) ReadInt16(IntPtr, Int32) ReadInt16(IntPtr, Int32)

Считывает из неуправляемой памяти с указанным смещением 16-битное целое число со знаком.Reads a 16-bit signed integer at a given offset from unmanaged memory.

ReadInt16(Object, Int32) ReadInt16(Object, Int32) ReadInt16(Object, Int32) ReadInt16(Object, Int32)

Считывает из неуправляемой памяти с указанным смещением 16-битное целое число со знаком.Reads a 16-bit signed integer at a given offset from unmanaged memory.

ReadInt32(IntPtr) ReadInt32(IntPtr) ReadInt32(IntPtr) ReadInt32(IntPtr)

Считывает из неуправляемой памяти 32-битное целое число со знаком.Reads a 32-bit signed integer from unmanaged memory.

ReadInt32(IntPtr, Int32) ReadInt32(IntPtr, Int32) ReadInt32(IntPtr, Int32) ReadInt32(IntPtr, Int32)

Считывает из неуправляемой памяти с указанным смещением 32-битное целое число со знаком.Reads a 32-bit signed integer at a given offset from unmanaged memory.

ReadInt32(Object, Int32) ReadInt32(Object, Int32) ReadInt32(Object, Int32) ReadInt32(Object, Int32)

Считывает из неуправляемой памяти с указанным смещением 32-битное целое число со знаком.Reads a 32-bit signed integer at a given offset from unmanaged memory.

ReadInt64(IntPtr) ReadInt64(IntPtr) ReadInt64(IntPtr) ReadInt64(IntPtr)

Считывает из неуправляемой памяти 64-битное целое число со знаком.Reads a 64-bit signed integer from unmanaged memory.

ReadInt64(IntPtr, Int32) ReadInt64(IntPtr, Int32) ReadInt64(IntPtr, Int32) ReadInt64(IntPtr, Int32)

Считывает из неуправляемой памяти с указанным смещением 64-битное целое число со знаком.Reads a 64-bit signed integer at a given offset from unmanaged memory.

ReadInt64(Object, Int32) ReadInt64(Object, Int32) ReadInt64(Object, Int32) ReadInt64(Object, Int32)

Считывает из неуправляемой памяти с указанным смещением 64-битное целое число со знаком.Reads a 64-bit signed integer at a given offset from unmanaged memory.

ReadIntPtr(IntPtr, Int32) ReadIntPtr(IntPtr, Int32) ReadIntPtr(IntPtr, Int32) ReadIntPtr(IntPtr, Int32)

Считывает из неуправляемой памяти с указанным смещением знаковое целое число, разрядность которого соответствует собственной разрядности процессора.Reads a processor native sized integer at a given offset from unmanaged memory.

ReadIntPtr(Object, Int32) ReadIntPtr(Object, Int32) ReadIntPtr(Object, Int32) ReadIntPtr(Object, Int32)

Считывает из неуправляемой памяти целое число, разрядность которого соответствует собственной разрядности процессора.Reads a processor native sized integer from unmanaged memory.

ReadIntPtr(IntPtr) ReadIntPtr(IntPtr) ReadIntPtr(IntPtr) ReadIntPtr(IntPtr)

Считывает из неуправляемой памяти целое число, разрядность которого соответствует собственной разрядности процессора.Reads a processor native-sized integer from unmanaged memory.

ReAllocCoTaskMem(IntPtr, Int32) ReAllocCoTaskMem(IntPtr, Int32) ReAllocCoTaskMem(IntPtr, Int32) ReAllocCoTaskMem(IntPtr, Int32)

Изменяет размер блока памяти, предварительно выделенной с использованием AllocCoTaskMem(Int32).Resizes a block of memory previously allocated with AllocCoTaskMem(Int32).

ReAllocHGlobal(IntPtr, IntPtr) ReAllocHGlobal(IntPtr, IntPtr) ReAllocHGlobal(IntPtr, IntPtr) ReAllocHGlobal(IntPtr, IntPtr)

Изменяет размер блока памяти, предварительно выделенной с использованием AllocHGlobal(IntPtr).Resizes a block of memory previously allocated with AllocHGlobal(IntPtr).

Release(IntPtr) Release(IntPtr) Release(IntPtr) Release(IntPtr)

Уменьшает счетчик ссылок для указанного интерфейса.Decrements the reference count on the specified interface.

ReleaseComObject(Object) ReleaseComObject(Object) ReleaseComObject(Object) ReleaseComObject(Object)

Уменьшает счетчик ссылок вызываемой оболочки времени выполнения (RCW), связанной с указанным COM-объектом.Decrements the reference count of the Runtime Callable Wrapper (RCW) associated with the specified COM object.

ReleaseThreadCache() ReleaseThreadCache() ReleaseThreadCache() ReleaseThreadCache()

Освобождает кэш потока.Releases the thread cache.

SecureStringToBSTR(SecureString) SecureStringToBSTR(SecureString) SecureStringToBSTR(SecureString) SecureStringToBSTR(SecureString)

Выделяет неуправляемую двоичную строку (BSTR) и копирует в нее содержимое управляемого объекта SecureString.Allocates an unmanaged binary string (BSTR) and copies the contents of a managed SecureString object into it.

SecureStringToCoTaskMemAnsi(SecureString) SecureStringToCoTaskMemAnsi(SecureString) SecureStringToCoTaskMemAnsi(SecureString) SecureStringToCoTaskMemAnsi(SecureString)

Копирует содержимое управляемого объекта SecureString в блок памяти, выделенный из неуправляемого распределителя COM-задач.Copies the contents of a managed SecureString object to a block of memory allocated from the unmanaged COM task allocator.

SecureStringToCoTaskMemUnicode(SecureString) SecureStringToCoTaskMemUnicode(SecureString) SecureStringToCoTaskMemUnicode(SecureString) SecureStringToCoTaskMemUnicode(SecureString)

Копирует содержимое управляемого объекта SecureString в блок памяти, выделенный из неуправляемого распределителя COM-задач.Copies the contents of a managed SecureString object to a block of memory allocated from the unmanaged COM task allocator.

SecureStringToGlobalAllocAnsi(SecureString) SecureStringToGlobalAllocAnsi(SecureString) SecureStringToGlobalAllocAnsi(SecureString) SecureStringToGlobalAllocAnsi(SecureString)

Копирует содержимое управляемого объекта SecureString в неуправляемую память, преобразуя его по мере копирования в формат ANSI.Copies the contents of a managed SecureString into unmanaged memory, converting into ANSI format as it copies.

SecureStringToGlobalAllocUnicode(SecureString) SecureStringToGlobalAllocUnicode(SecureString) SecureStringToGlobalAllocUnicode(SecureString) SecureStringToGlobalAllocUnicode(SecureString)

Копирует содержимое управляемого объекта SecureString в неуправляемую память.Copies the contents of a managed SecureString object into unmanaged memory.

SetComObjectData(Object, Object, Object) SetComObjectData(Object, Object, Object) SetComObjectData(Object, Object, Object) SetComObjectData(Object, Object, Object)

Определяет данные, на которые ссылается заданный ключ в указанном COM-объекте.Sets data referenced by the specified key in the specified COM object.

SizeOf(Object) SizeOf(Object) SizeOf(Object) SizeOf(Object)

Возвращает неуправляемый размер объекта в байтах.Returns the unmanaged size of an object in bytes.

SizeOf(Type) SizeOf(Type) SizeOf(Type) SizeOf(Type)

Возвращает размер неуправляемого типа в байтах.Returns the size of an unmanaged type in bytes.

SizeOf<T>() SizeOf<T>() SizeOf<T>() SizeOf<T>()

[Поддерживается в .NET Framework 4.5.1 и более поздних версиях.][Supported in the .NET Framework 4.5.1 and later versions]

Возвращает размер неуправляемого типа в байтах.Returns the size of an unmanaged type in bytes.

SizeOf<T>(T) SizeOf<T>(T) SizeOf<T>(T) SizeOf<T>(T)

[Поддерживается в .NET Framework 4.5.1 и более поздних версиях.][Supported in the .NET Framework 4.5.1 and later versions]

Возвращает неуправляемый размер объекта указанного типа в байтах.Returns the unmanaged size of an object of a specified type in bytes.

StringToBSTR(String) StringToBSTR(String) StringToBSTR(String) StringToBSTR(String)

Выделяет строку BSTR и копирует в нее содержимое управляемого объекта String.Allocates a BSTR and copies the contents of a managed String into it.

StringToCoTaskMemAnsi(String) StringToCoTaskMemAnsi(String) StringToCoTaskMemAnsi(String) StringToCoTaskMemAnsi(String)

Копирует содержимое управляемого объекта типа String в блок памяти, выделенный из неуправляемого распределителя памяти для COM-задач.Copies the contents of a managed String to a block of memory allocated from the unmanaged COM task allocator.

StringToCoTaskMemAuto(String) StringToCoTaskMemAuto(String) StringToCoTaskMemAuto(String) StringToCoTaskMemAuto(String)

Копирует содержимое управляемого объекта типа String в блок памяти, выделенный из неуправляемого распределителя памяти для COM-задач.Copies the contents of a managed String to a block of memory allocated from the unmanaged COM task allocator.

StringToCoTaskMemUni(String) StringToCoTaskMemUni(String) StringToCoTaskMemUni(String) StringToCoTaskMemUni(String)

Копирует содержимое управляемого объекта типа String в блок памяти, выделенный из неуправляемого распределителя памяти для COM-задач.Copies the contents of a managed String to a block of memory allocated from the unmanaged COM task allocator.

StringToCoTaskMemUTF8(String) StringToCoTaskMemUTF8(String) StringToCoTaskMemUTF8(String) StringToCoTaskMemUTF8(String)
StringToHGlobalAnsi(String) StringToHGlobalAnsi(String) StringToHGlobalAnsi(String) StringToHGlobalAnsi(String)

Копирует содержимое управляемого объекта String в неуправляемую память, преобразуя его по мере копирования в формат ANSI.Copies the contents of a managed String into unmanaged memory, converting into ANSI format as it copies.

StringToHGlobalAuto(String) StringToHGlobalAuto(String) StringToHGlobalAuto(String) StringToHGlobalAuto(String)

Копирует содержимое управляемого объекта типа String в неуправляемую память, преобразуя его по мере копирования в формат ANSI, если это требуется.Copies the contents of a managed String into unmanaged memory, converting into ANSI format if required.

StringToHGlobalUni(String) StringToHGlobalUni(String) StringToHGlobalUni(String) StringToHGlobalUni(String)

Копирует содержимое управляемого объекта String в неуправляемую память.Copies the contents of a managed String into unmanaged memory.

StructureToPtr(Object, IntPtr, Boolean) StructureToPtr(Object, IntPtr, Boolean) StructureToPtr(Object, IntPtr, Boolean) StructureToPtr(Object, IntPtr, Boolean)

Маршалирует данные из управляемого объекта в неуправляемый блок памяти.Marshals data from a managed object to an unmanaged block of memory.

StructureToPtr<T>(T, IntPtr, Boolean) StructureToPtr<T>(T, IntPtr, Boolean) StructureToPtr<T>(T, IntPtr, Boolean) StructureToPtr<T>(T, IntPtr, Boolean)

[Поддерживается в .NET Framework 4.5.1 и более поздних версиях.][Supported in the .NET Framework 4.5.1 and later versions]

Выполняет маршалирование данных в неуправляемый блока памяти из управляемого объекта указанного типа.Marshals data from a managed object of a specified type to an unmanaged block of memory.

ThrowExceptionForHR(Int32) ThrowExceptionForHR(Int32) ThrowExceptionForHR(Int32) ThrowExceptionForHR(Int32)

Создает исключение с определенным значением ошибки HRESULT.Throws an exception with a specific failure HRESULT value.

ThrowExceptionForHR(Int32, IntPtr) ThrowExceptionForHR(Int32, IntPtr) ThrowExceptionForHR(Int32, IntPtr) ThrowExceptionForHR(Int32, IntPtr)

Создает исключение с определенным значением ошибки HRESULT в соответствии с указанным интерфейсом IErrorInfo.aspx).Throws an exception with a specific failure HRESULT, based on the specified IErrorInfo.aspx) interface.

UnsafeAddrOfPinnedArrayElement(Array, Int32) UnsafeAddrOfPinnedArrayElement(Array, Int32) UnsafeAddrOfPinnedArrayElement(Array, Int32) UnsafeAddrOfPinnedArrayElement(Array, Int32)

Возвращает адрес элемента по указанному индексу внутри заданного массива.Gets the address of the element at the specified index inside the specified array.

UnsafeAddrOfPinnedArrayElement<T>(T[], Int32) UnsafeAddrOfPinnedArrayElement<T>(T[], Int32) UnsafeAddrOfPinnedArrayElement<T>(T[], Int32) UnsafeAddrOfPinnedArrayElement<T>(T[], Int32)

[Поддерживается в .NET Framework 4.5.1 и более поздних версиях.][Supported in the .NET Framework 4.5.1 and later versions]

Возвращает адрес элемента по указанному индексу внутри массива заданного типа.Gets the address of the element at the specified index in an array of a specified type.

WriteByte(Object, Int32, Byte) WriteByte(Object, Int32, Byte) WriteByte(Object, Int32, Byte) WriteByte(Object, Int32, Byte)

Записывает однобайтовое значение в неуправляемую память с указанным смещением.Writes a single byte value to unmanaged memory at a specified offset.

WriteByte(IntPtr, Int32, Byte) WriteByte(IntPtr, Int32, Byte) WriteByte(IntPtr, Int32, Byte) WriteByte(IntPtr, Int32, Byte)

Записывает однобайтовое значение в неуправляемую память с указанным смещением.Writes a single byte value to unmanaged memory at a specified offset.

WriteByte(IntPtr, Byte) WriteByte(IntPtr, Byte) WriteByte(IntPtr, Byte) WriteByte(IntPtr, Byte)

Записывает однобайтовое значение в неуправляемую память.Writes a single byte value to unmanaged memory.

WriteInt16(IntPtr, Char) WriteInt16(IntPtr, Char) WriteInt16(IntPtr, Char) WriteInt16(IntPtr, Char)

Записывает в неуправляемую память символ в виде 16-битного целого числа.Writes a character as a 16-bit integer value to unmanaged memory.

WriteInt16(IntPtr, Int16) WriteInt16(IntPtr, Int16) WriteInt16(IntPtr, Int16) WriteInt16(IntPtr, Int16)

Записывает в неуправляемую память 16-битное целое число.Writes a 16-bit integer value to unmanaged memory.

WriteInt16(IntPtr, Int32, Char) WriteInt16(IntPtr, Int32, Char) WriteInt16(IntPtr, Int32, Char) WriteInt16(IntPtr, Int32, Char)

Записывает 16-битное целое число со знаком в неуправляемую память с указанным смещением.Writes a 16-bit signed integer value to unmanaged memory at a specified offset.

WriteInt16(IntPtr, Int32, Int16) WriteInt16(IntPtr, Int32, Int16) WriteInt16(IntPtr, Int32, Int16) WriteInt16(IntPtr, Int32, Int16)

Записывает 16-битное целое число со знаком в неуправляемую память с указанным смещением.Writes a 16-bit signed integer value into unmanaged memory at a specified offset.

WriteInt16(Object, Int32, Char) WriteInt16(Object, Int32, Char) WriteInt16(Object, Int32, Char) WriteInt16(Object, Int32, Char)

Записывает 16-битное целое число со знаком в неуправляемую память с указанным смещением.Writes a 16-bit signed integer value to unmanaged memory at a specified offset.

WriteInt16(Object, Int32, Int16) WriteInt16(Object, Int32, Int16) WriteInt16(Object, Int32, Int16) WriteInt16(Object, Int32, Int16)

Записывает 16-битное целое число со знаком в неуправляемую память с указанным смещением.Writes a 16-bit signed integer value to unmanaged memory at a specified offset.

WriteInt32(IntPtr, Int32) WriteInt32(IntPtr, Int32) WriteInt32(IntPtr, Int32) WriteInt32(IntPtr, Int32)

Записывает в неуправляемую память 32-битное целое число со знаком.Writes a 32-bit signed integer value to unmanaged memory.

WriteInt32(IntPtr, Int32, Int32) WriteInt32(IntPtr, Int32, Int32) WriteInt32(IntPtr, Int32, Int32) WriteInt32(IntPtr, Int32, Int32)

Записывает 32-битное целое число со знаком в неуправляемую память с указанным смещением.Writes a 32-bit signed integer value into unmanaged memory at a specified offset.

WriteInt32(Object, Int32, Int32) WriteInt32(Object, Int32, Int32) WriteInt32(Object, Int32, Int32) WriteInt32(Object, Int32, Int32)

Записывает 32-битное целое число со знаком в неуправляемую память с указанным смещением.Writes a 32-bit signed integer value to unmanaged memory at a specified offset.

WriteInt64(Object, Int32, Int64) WriteInt64(Object, Int32, Int64) WriteInt64(Object, Int32, Int64) WriteInt64(Object, Int32, Int64)

Записывает 64-битное целое число со знаком в неуправляемую память с указанным смещением.Writes a 64-bit signed integer value to unmanaged memory at a specified offset.

WriteInt64(IntPtr, Int64) WriteInt64(IntPtr, Int64) WriteInt64(IntPtr, Int64) WriteInt64(IntPtr, Int64)

Записывает в неуправляемую память 64-битное целое число со знаком.Writes a 64-bit signed integer value to unmanaged memory.

WriteInt64(IntPtr, Int32, Int64) WriteInt64(IntPtr, Int32, Int64) WriteInt64(IntPtr, Int32, Int64) WriteInt64(IntPtr, Int32, Int64)

Записывает 64-битное целое число со знаком в неуправляемую память с указанным смещением.Writes a 64-bit signed integer value to unmanaged memory at a specified offset.

WriteIntPtr(IntPtr, IntPtr) WriteIntPtr(IntPtr, IntPtr) WriteIntPtr(IntPtr, IntPtr) WriteIntPtr(IntPtr, IntPtr)

Записывает в неуправляемую память целое число, разрядность которого соответствует собственной разрядности процессора.Writes a processor native sized integer value into unmanaged memory.

WriteIntPtr(IntPtr, Int32, IntPtr) WriteIntPtr(IntPtr, Int32, IntPtr) WriteIntPtr(IntPtr, Int32, IntPtr) WriteIntPtr(IntPtr, Int32, IntPtr)

Записывает в неуправляемую память с указанным смещением целое число, разрядность которого соответствует собственной разрядности процессора.Writes a processor native-sized integer value to unmanaged memory at a specified offset.

WriteIntPtr(Object, Int32, IntPtr) WriteIntPtr(Object, Int32, IntPtr) WriteIntPtr(Object, Int32, IntPtr) WriteIntPtr(Object, Int32, IntPtr)

Записывает в неуправляемую память целое число, разрядность которого соответствует собственной разрядности процессора.Writes a processor native sized integer value to unmanaged memory.

ZeroFreeBSTR(IntPtr) ZeroFreeBSTR(IntPtr) ZeroFreeBSTR(IntPtr) ZeroFreeBSTR(IntPtr)

Освобождает указатель BSTR, выделенный с помощью метода SecureStringToBSTR(SecureString).Frees a BSTR pointer that was allocated using the SecureStringToBSTR(SecureString) method.

ZeroFreeCoTaskMemAnsi(IntPtr) ZeroFreeCoTaskMemAnsi(IntPtr) ZeroFreeCoTaskMemAnsi(IntPtr) ZeroFreeCoTaskMemAnsi(IntPtr)

Освобождает указатель на неуправляемую строку, выделенный с помощью метода SecureStringToCoTaskMemAnsi(SecureString).Frees an unmanaged string pointer that was allocated using the SecureStringToCoTaskMemAnsi(SecureString) method.

ZeroFreeCoTaskMemUnicode(IntPtr) ZeroFreeCoTaskMemUnicode(IntPtr) ZeroFreeCoTaskMemUnicode(IntPtr) ZeroFreeCoTaskMemUnicode(IntPtr)

Освобождает указатель на неуправляемую строку, выделенный с помощью метода SecureStringToCoTaskMemUnicode(SecureString).Frees an unmanaged string pointer that was allocated using the SecureStringToCoTaskMemUnicode(SecureString) method.

ZeroFreeCoTaskMemUTF8(IntPtr) ZeroFreeCoTaskMemUTF8(IntPtr) ZeroFreeCoTaskMemUTF8(IntPtr) ZeroFreeCoTaskMemUTF8(IntPtr)
ZeroFreeGlobalAllocAnsi(IntPtr) ZeroFreeGlobalAllocAnsi(IntPtr) ZeroFreeGlobalAllocAnsi(IntPtr) ZeroFreeGlobalAllocAnsi(IntPtr)

Освобождает указатель на неуправляемую строку, выделенный с помощью метода SecureStringToGlobalAllocAnsi(SecureString).Frees an unmanaged string pointer that was allocated using the SecureStringToGlobalAllocAnsi(SecureString) method.

ZeroFreeGlobalAllocUnicode(IntPtr) ZeroFreeGlobalAllocUnicode(IntPtr) ZeroFreeGlobalAllocUnicode(IntPtr) ZeroFreeGlobalAllocUnicode(IntPtr)

Освобождает указатель на неуправляемую строку, выделенный с помощью метода SecureStringToGlobalAllocUnicode(SecureString).Frees an unmanaged string pointer that was allocated using the SecureStringToGlobalAllocUnicode(SecureString) method.

Применяется к