System.Runtime.InteropServices.Marshalling 命名空间

包含源生成的互操作的支持类型,例如 MarshalUsingAttribute

AnsiStringMarshaller

ANSI 字符串的封送器。

ArrayMarshaller<T,TUnmanagedElement>

表示数组的封送程序。

BStrStringMarshaller

BSTR 字符串的封送器。

ComExposedClassAttribute<T>

指示应向 COM 公开类型的实例。

ComInterfaceMarshaller<T>

使用 StrategyBasedComWrappers 实例封送 COM 接口。

ComObject

所有 COM 源生成的运行时可调用包装器的基类 (RCW) 。

ComVariantMarshaller

包含源生成的互操作的支持类型,例如 MarshalUsingAttribute

ContiguousCollectionMarshallerAttribute

指定此封送程序入口点类型是连续的集合封送程序。

CustomMarshallerAttribute

指示用于定义封送处理程序的入口点类型。

ExceptionAsDefaultMarshaller<T>

将异常转换为指定非托管类型的默认值。

ExceptionAsHResultMarshaller<T>

将异常对象封送为其转换为 T的值HResult

ExceptionAsNaNMarshaller<T>

将所有异常转换为 NaN

ExceptionAsVoidMarshaller

表示处理异常的封送程序。

GeneratedComClassAttribute

指定属性化类型将通过源生成的 COM 向 COM 公开,并且源生成器应为其生成代码。

GeneratedComInterfaceAttribute

指定特性化类型是 COM 接口,并且源生成器应为其生成代码。

IUnknownDerivedAttribute<T,TImpl>

指示接口是 IUnknown 派生接口的托管表示形式。

MarshalUsingAttribute

用于提供用于封送的自定义封送程序类型或大小信息的属性。

NativeMarshallingAttribute

用于为给定托管类型提供默认自定义封送程序类型的属性。

PointerArrayMarshaller<T,TUnmanagedElement>

表示指针数组的封送器。

ReadOnlySpanMarshaller<T,TUnmanagedElement>.UnmanagedToManagedOut

在从非托管代码到托管代码的调用中,支持从托管代码封送到非托管代码。

ReadOnlySpanMarshaller<T,TUnmanagedElement>

支持从托管值封送 ReadOnlySpan<T> 到元素的非托管值的连续本机数组。

SafeHandleMarshaller<T>

按照对象的生存期规则SafeHandleSafeHandle送派生的类型。

SpanMarshaller<T,TUnmanagedElement>

支持从托管值封送 Span<T> 到元素的非托管值的连续本机数组。

StrategyBasedComWrappers

一种 ComWrappers基于 的类型,它使用可自定义的策略对象实现向 COM 公开的 COM 对象包装器和托管对象包装器。

UniqueComInterfaceMarshaller<T>

使用仅 (RCW) 创建唯一本机对象包装的 StrategyBasedComWrappers 实例封送 COM 接口。

Utf16StringMarshaller

UTF-16 字符串的封送程序。

Utf8StringMarshaller

UTF-8 字符串的封送程序。

结构

AnsiStringMarshaller.ManagedToUnmanagedIn

自定义封送处理程序,用于将托管字符串封送为 ANSI 非托管字符串。

ArrayMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

用于对数组进行从托管到非托管的封送的封送器。

BStrStringMarshaller.ManagedToUnmanagedIn

自定义封送处理程序,用于将托管字符串封送为 ANSI 非托管字符串。

ComVariant

包含源生成的互操作的支持类型,例如 MarshalUsingAttribute

ComVariantMarshaller.RefPropagate

包含源生成的互操作的支持类型,例如 MarshalUsingAttribute

CustomMarshallerAttribute.GenericPlaceholder

泛型参数的占位符类型。

IIUnknownCacheStrategy.TableInfo

包含有关 COM 接口及其虚拟方法表的信息。

PointerArrayMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

表示用于对数组从托管到非托管的数组进行封送的封送处理程序。

ReadOnlySpanMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

在从托管代码到非托管代码的调用中,支持从托管代码封送到非托管代码。

SafeHandleMarshaller<T>.ManagedToUnmanagedIn

在 P/Invokes 等托管到非托管方案中,将 作为其基础句柄值作为in参数或值传递的参数进行封送SafeHandle

SafeHandleMarshaller<T>.ManagedToUnmanagedOut

SafeHandle在 P/Invokes 等托管到非托管方案中,将 作为其基础句柄值封送为out参数。

SafeHandleMarshaller<T>.ManagedToUnmanagedRef

SafeHandle在 P/Invokes 等托管到非托管方案中,将 作为其基础句柄值封送为ref参数。

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

表示不同的封送模式。