System.Runtime.InteropServices.Marshalling 命名空間

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

類別

AnsiStringMarshaller

ANSI 字串的封送器。

ArrayMarshaller<T,TUnmanagedElement>

表示陣列的封送處理器。

BStrStringMarshaller

BSTR 字串的封送器。

ComExposedClassAttribute<T>

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

ComInterfaceMarshaller<T>

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

ComObject

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

ComVariantMarshaller

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

ContiguousCollectionMarshallerAttribute

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

CustomMarshallerAttribute

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

ExceptionAsDefaultMarshaller<T>

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

ExceptionAsHResultMarshaller<T>

將例外狀況物件封送處理為其轉換成 T 的值 HResult

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 程式碼的呼叫中傳送至 Unmanaged。

ReadOnlySpanMarshaller<T,TUnmanagedElement>

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

SafeHandleMarshaller<T>

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

SpanMarshaller<T,TUnmanagedElement>

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

StrategyBasedComWrappers

ComWrappers型別,使用可自訂的策略物件來實作 COM 物件包裝函式和公開至 COM 的 Managed 物件包裝函式。

UniqueComInterfaceMarshaller<T>

使用 StrategyBasedComWrappers 實例封送處理 COM 介面,該實例只會 (RCWs) 建立唯一的原生物件包裝函式。

Utf16StringMarshaller

UTF-16 字串的封送處理器。

Utf8StringMarshaller

UTF-8 字串的封送處理器。

結構

AnsiStringMarshaller.ManagedToUnmanagedIn

自訂封送處理器,可將 Managed 字串封送處理為 ANSI Unmanaged 字串。

ArrayMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

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

BStrStringMarshaller.ManagedToUnmanagedIn

自訂封送處理器,可將 Managed 字串封送處理為 ANSI Unmanaged 字串。

ComVariant

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

ComVariantMarshaller.RefPropagate

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

CustomMarshallerAttribute.GenericPlaceholder

泛型參數的預留位置類型。

IIUnknownCacheStrategy.TableInfo

包含 COM 介面及其虛擬方法資料表的相關資訊。

PointerArrayMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

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

ReadOnlySpanMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

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

SafeHandleMarshaller<T>.ManagedToUnmanagedIn

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

SafeHandleMarshaller<T>.ManagedToUnmanagedOut

封送處理 SafeHandle 作為其基礎控制碼值做為 out Managed 到 Unmanaged 案例中的參數,例如 P/Invokes。

SafeHandleMarshaller<T>.ManagedToUnmanagedRef

SafeHandle封送處理作為其基礎控制碼值做為 ref Managed 到 Unmanaged 案例中的參數,例如 P/Invokes。

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

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