System.Runtime.InteropServices.Marshalling Пространство имен

Содержит типы поддержки для созданного источником взаимодействия, например MarshalUsingAttribute.

Классы

AnsiStringMarshaller

Маршаллировщик для строк ANSI.

ArrayMarshaller<T,TUnmanagedElement>

Представляет маршализатор для массивов.

BStrStringMarshaller

Маршаллер для строк BSTR.

ComExposedClassAttribute<T>

Указывает, что экземпляры типа должны предоставляться com.

ComInterfaceMarshaller<T>

Маршалирует com-интерфейс с помощью экземпляра StrategyBasedComWrappers.

ComObject

Базовый класс для всех вызываемых оболочков среды выполнения с исходным кодом COM (RCW).

ComVariantMarshaller

Маршалирует Object в ComVariant.

ContiguousCollectionMarshallerAttribute

Указывает, что этот тип точки входа маршаллера является непрерывным маршаллировщиком коллекции.

CustomMarshallerAttribute

Указывает тип точки входа для определения маршаллатора.

ExceptionAsDefaultMarshaller<T>

Преобразует исключение в значение по умолчанию указанного неуправляемого типа.

ExceptionAsHResultMarshaller<T>

Маршалирует объект исключения в значение HResult, преобразованного в T.

ExceptionAsNaNMarshaller<T>

Преобразует все исключения в NaN.

ExceptionAsVoidMarshaller

Представляет маршализатор, который глотает исключения.

GeneratedComClassAttribute

Указывает, что тип атрибута будет предоставляться COM с помощью com-кода, созданного источником COM, и что генератор источника должен создать для него код.

GeneratedComInterfaceAttribute

Указывает, что тип атрибута является COM-интерфейсом, и генератор источника должен создать для него код.

IUnknownDerivedAttribute<T,TImpl>

Указывает, что интерфейс является управляемым представлением интерфейса, производным от IUnknown.

MarshalUsingAttribute

Атрибут, используемый для предоставления пользовательского типа маршаллера или сведений о размере для маршаллинга.

NativeMarshallingAttribute

Атрибут, используемый для предоставления пользовательского типа маршаллера по умолчанию для заданного управляемого типа.

PointerArrayMarshaller<T,TUnmanagedElement>

Представляет маршализатор для массива указателей.

ReadOnlySpanMarshaller<T,TUnmanagedElement>.UnmanagedToManagedOut

Поддерживает маршаллирование из управляемого в неуправляемый вызов из неуправляемого кода в управляемый код.

ReadOnlySpanMarshaller<T,TUnmanagedElement>

Поддерживает маршалирование ReadOnlySpan<T> из управляемого значения в непрерывный собственный массив неуправляемых значений элементов.

SafeHandleMarshaller<T>

Маршалы SafeHandleпроизводные типы после правил времени существования для объектов SafeHandle.

SpanMarshaller<T,TUnmanagedElement>

Поддерживает маршалирование Span<T> из управляемого значения в непрерывный собственный массив неуправляемых значений элементов.

StrategyBasedComWrappers

Тип на основе ComWrappers, использующий настраиваемые объекты стратегии для реализации оболочки COM-объектов и управляемых оболочков объектов, предоставляемых COM.

UniqueComInterfaceMarshaller<T>

Маршалирует интерфейсы COM с помощью экземпляра StrategyBasedComWrappers, который создает только уникальные оболочки собственных объектов (RCW).

Utf16StringMarshaller

Маршализатор для строк UTF-16.

Utf8StringMarshaller

Маршализатор для строк UTF-8.

Структуры

AnsiStringMarshaller.ManagedToUnmanagedIn

Пользовательский маршализатор для маршалирования управляемой строки в виде неуправляемой строки ANSI.

ArrayMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

Маршаллер для маршалирования массива из управляемого в неуправляемый.

BStrStringMarshaller.ManagedToUnmanagedIn

Пользовательский маршализатор для маршалирования управляемой строки в виде неуправляемой строки ANSI.

ComVariant

Тип, представляющий OLE VARIANT в управляемом коде.

ComVariantMarshaller.RefPropagate

Маршалирует Object в ComVariant, распространяя значение Object обратно в существующее хранилище данных варианта, если вариант имеет тип VT_BYREF.

CustomMarshallerAttribute.GenericPlaceholder

Тип заполнителя для универсального параметра.

IIUnknownCacheStrategy.TableInfo

Содержит сведения о COM-интерфейсе и ее таблице виртуальных методов.

PointerArrayMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

Представляет маршализатор для маршалинга массива из управляемого в неуправляемый.

ReadOnlySpanMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

Поддерживает маршаллирование из управляемого в неуправляемый вызов из управляемого кода в неуправляемый код.

ReadOnlySpanMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedOut

Поддерживает маршаллирование от неуправляемого к управляемому вызову из управляемого кода в неуправляемый код. Например, возвращайте значения и out параметры в методах P/Invoke.

SafeHandleMarshaller<T>.ManagedToUnmanagedIn

Маршалирует SafeHandle в качестве базового значения дескриптора в качестве параметра in или параметра, передаваемого значением в управляемых сценариях, таких как P/Invokes.

SafeHandleMarshaller<T>.ManagedToUnmanagedOut

Маршалирует SafeHandle в качестве базового значения дескриптора в качестве параметра out в управляемых сценариях, таких как P/Invokes.

SafeHandleMarshaller<T>.ManagedToUnmanagedRef

Маршалирует SafeHandle в качестве базового значения дескриптора в качестве параметра ref в управляемых сценариях, таких как P/Invokes.

SpanMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

Поддерживает маршаллирование из управляемого в неуправляемый вызов из управляемого кода в неуправляемый код.

Utf8StringMarshaller.ManagedToUnmanagedIn

Пользовательский маршализатор для маршалирования управляемой строки в виде неуправляемой строки UTF-8.

VirtualMethodTableInfo

Предоставляет сведения о таблице виртуальных методов и указателе неуправляемого экземпляра.

Интерфейсы

IComExposedClass

Определяет сведения о уровне типа для типов управляемых классов, предоставляемых COM.

IComExposedDetails

Определяет сведения о типе управляемого класса, предоставляемом COM.

IIUnknownCacheStrategy

Определяет стратегию поиска неуправляемых виртуальных методов.

IIUnknownDerivedDetails

Содержит сведения об интерфейсе, производном от IUnknown.

IIUnknownInterfaceDetailsStrategy

Определяет стратегию получения сведений о интерфейсе.

IIUnknownInterfaceType

Определяет сведения о уровне типа для интерфейса, производного от IUnknown.

IIUnknownStrategy

Определяет стратегию взаимодействия IUnknown.

IUnmanagedVirtualMethodTableProvider

Предоставляет сведения о таблице виртуальных методов для управляемого интерфейса, чтобы включить вызов методов в таблице виртуальных методов.

Перечисления

ComInterfaceOptions

Параметры создания взаимодействия COM-интерфейса с генератором источника взаимодействия COM.

MarshalMode

Представляет различные режимы маршаллинга.