共用方式為


System.Runtime.InteropServices.Marshalling 命名空間

包含來源產生的 Interop 支援類型,例如 MarshalUsingAttribute

類別

AnsiStringMarshaller

ANSI 字串的封送器。

ArrayMarshaller<T,TUnmanagedElement>

表示陣列的封送器。

BStrStringMarshaller

BSTR 字串的封送器。

ComExposedClassAttribute<T>

表示型別的實例應該公開給 COM。

ComInterfaceMarshaller<T>

使用 StrategyBasedComWrappers 實例封送處理 COM 介面。

ComObject

所有 COM 來源產生的運行時間可呼叫包裝函式的基類 (RCWs)。

ComVariantMarshaller

封送處理 ComVariantObject

ContiguousCollectionMarshallerAttribute

指定這個封送器進入點類型是連續集合封送處理器。

CustomMarshallerAttribute

表示定義封送處理器的進入點類型。

ExceptionAsDefaultMarshaller<T>

將例外狀況轉換為指定 Unmanaged 類型的預設值。

ExceptionAsHResultMarshaller<T>

將例外狀況物件封送處理至轉換成 THResult 值。

ExceptionAsNaNMarshaller<T>

將所有例外狀況轉換為 NaN

ExceptionAsVoidMarshaller

表示吞沒例外狀況的封送器。

GeneratedComClassAttribute

指定屬性化類型將會透過來源產生的 COM 公開給 COM,而且來源產生器應該為其產生程式代碼。

GeneratedComInterfaceAttribute

指定屬性類型是 COM 介面,而且來源產生器應該為其產生程式代碼。

IUnknownDerivedAttribute<T,TImpl>

表示介面是IUnknown衍生介面的Managed表示法。

MarshalUsingAttribute

用來提供封送處理之自定義封送器類型或大小資訊的屬性。

NativeMarshallingAttribute

屬性,用來提供指定 Managed 型別的預設自定義封送器類型。

PointerArrayMarshaller<T,TUnmanagedElement>

表示指標陣列的封送器。

ReadOnlySpanMarshaller<T,TUnmanagedElement>.UnmanagedToManagedOut

支援從 Managed 封送處理到 Unmanaged,從 Unmanaged 程式代碼呼叫到 Managed 程式代碼。

ReadOnlySpanMarshaller<T,TUnmanagedElement>

支援將 ReadOnlySpan<T> 從 Managed 值封送至元素之 Unmanaged 值的連續原生陣列。

SafeHandleMarshaller<T>

根據 SafeHandle 物件的存留期規則,封送處理 SafeHandle衍生類型。

SpanMarshaller<T,TUnmanagedElement>

支援將 Span<T> 從 Managed 值封送至元素之 Unmanaged 值的連續原生陣列。

StrategyBasedComWrappers

ComWrappers型別,使用可自定義的策略對象實作 COM 物件包裝函式和公開給 COM 的 Managed 物件包裝函式。

UniqueComInterfaceMarshaller<T>

使用僅建立唯一原生對象包裝函式的 StrategyBasedComWrappers 實例封送處理 COM 介面。

Utf16StringMarshaller

UTF-16 字串的封送器。

Utf8StringMarshaller

UTF-8 字串的封送器。

結構

AnsiStringMarshaller.ManagedToUnmanagedIn

自定義封送處理器可將Managed字串封送處理為ANSI Unmanaged 字串。

ArrayMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

封送處理陣列的封送器,從 Managed 到 Unmanaged。

BStrStringMarshaller.ManagedToUnmanagedIn

自定義封送處理器可將Managed字串封送處理為ANSI Unmanaged 字串。

ComVariant

型別,表示 Managed 程式代碼中的 OLE VARIANT。

ComVariantMarshaller.RefPropagate

Object 封送處理至 ComVariant,如果 variant 具有 VT_BYREF 類型,則會將 Object 的值傳回變數的現有數據記憶體。

CustomMarshallerAttribute.GenericPlaceholder

泛型參數的佔位元類型。

IIUnknownCacheStrategy.TableInfo

包含 COM 介面及其虛擬方法數據表的相關信息。

PointerArrayMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

表示封送處理陣列從Managed到 Unmanaged 的封送器。

ReadOnlySpanMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

支援從 Managed 封送處理到 Unmanaged,從 Managed 程式代碼呼叫到 Unmanaged 程式代碼。

ReadOnlySpanMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedOut

支援從 Unmanaged 封送處理到 Managed,從 Managed 程式代碼呼叫到 Unmanaged 程式代碼。 例如,在 P/Invoke 方法中傳回值和 out 參數。

SafeHandleMarshaller<T>.ManagedToUnmanagedIn

封送處理 SafeHandle 作為其基礎句柄值做為 in 參數,或 P/Invokes 等 Managed 到 Unmanaged 案例中以值傳遞的參數。

SafeHandleMarshaller<T>.ManagedToUnmanagedOut

SafeHandle 封送處理為其基礎句柄值,做為 P/Invokes 等 Managed 到 Unmanaged 案例中的 out 參數。

SafeHandleMarshaller<T>.ManagedToUnmanagedRef

SafeHandle 封送處理為其基礎句柄值,做為 P/Invokes 等 Managed 到 Unmanaged 案例中的 ref 參數。

SpanMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

支援從 Managed 封送處理到 Unmanaged,從 Managed 程式代碼呼叫到 Unmanaged 程式代碼。

Utf8StringMarshaller.ManagedToUnmanagedIn

將 Managed 字串封送處理為 UTF-8 Unmanaged 字串的自定義封送處理器。

VirtualMethodTableInfo

提供虛擬方法數據表和 Unmanaged 實例指標的相關信息。

介面

IComExposedClass

定義公開給 COM 之 Managed 類別類型的類型層級資訊。

IComExposedDetails

定義公開給 COM 之 Managed 類別類型的詳細數據。

IIUnknownCacheStrategy

定義 Unmanaged 虛擬方法數據表查閱策略。

IIUnknownDerivedDetails

提供 IUnknown 衍生介面的詳細數據。

IIUnknownInterfaceDetailsStrategy

定義取得介面詳細數據的策略。

IIUnknownInterfaceType

定義 IUnknown 衍生介面的類型層級資訊。

IIUnknownStrategy

定義 IUnknown 互動策略。

IUnmanagedVirtualMethodTableProvider

提供 Managed 介面的虛擬方法數據表相關信息,以啟用虛擬方法數據表中的叫用方法。

列舉

ComInterfaceOptions

如何使用 COM Interop 來源產生器產生 COM 介面 Interop 的選項。

MarshalMode

表示不同的封送處理模式。