Partilhar via


System.Runtime.InteropServices.Marshalling Namespace

Contém tipos de suporte para interoperabilidade gerada pela origem, como MarshalUsingAttribute.

Classes

AnsiStringMarshaller

Marshaller para cadeias de caracteres ANSI.

ArrayMarshaller<T,TUnmanagedElement>

Representa um marshaller para matrizes.

BStrStringMarshaller

Marshaller para cadeias de caracteres BSTR.

ComExposedClassAttribute<T>

Indica que as instâncias de um tipo devem ser expostas ao COM.

ComInterfaceMarshaller<T>

Faz marshaling de uma interface COM usando uma instância de StrategyBasedComWrappers.

ComObject

Classe base para todos os RCWs (wrappers callable) de runtime gerados pela origem COM.

ComVariantMarshaller

Faz marshaling de um Object para um ComVariant.

ContiguousCollectionMarshallerAttribute

Especifica que esse tipo de ponto de entrada marshaller é um marshaller de coleção contíguo.

CustomMarshallerAttribute

Indica um tipo de ponto de entrada para definir um marshaller.

ExceptionAsDefaultMarshaller<T>

Converte a exceção no valor padrão do tipo não gerenciado especificado.

ExceptionAsHResultMarshaller<T>

Faz marshaling de um objeto de exceção para o valor de seu HResult convertido em T.

ExceptionAsNaNMarshaller<T>

Converte todas as exceções em NaN.

ExceptionAsVoidMarshaller

Representa um marshaller que engole exceções.

GeneratedComClassAttribute

Especifica que o tipo atribuído será exposto ao COM por meio de COM gerado pela origem e que o gerador de origem deve gerar código para ele.

GeneratedComInterfaceAttribute

Especifica que o tipo atribuído é uma interface COM e que o gerador de origem deve gerar código para ele.

IUnknownDerivedAttribute<T,TImpl>

Indica que uma interface é uma representação gerenciada de uma interface derivada de IUnknown.

MarshalUsingAttribute

Atributo usado para fornecer um tipo de marshaller personalizado ou informações de tamanho para marshalling.

NativeMarshallingAttribute

Atributo usado para fornecer um tipo de marshaller personalizado padrão para um determinado tipo gerenciado.

PointerArrayMarshaller<T,TUnmanagedElement>

Representa um marshaller para uma matriz de ponteiros.

ReadOnlySpanMarshaller<T,TUnmanagedElement>.UnmanagedToManagedOut

Dá suporte ao marshalling de gerenciado para não gerenciado em uma chamada de código não gerenciado para código gerenciado.

ReadOnlySpanMarshaller<T,TUnmanagedElement>

Dá suporte ao marshalling de uma ReadOnlySpan<T> de valor gerenciado para uma matriz nativa contígua dos valores não gerenciados dos elementos.

SafeHandleMarshaller<T>

Marshals SafeHandletipos derivados seguindo as regras de tempo de vida para objetos SafeHandle.

SpanMarshaller<T,TUnmanagedElement>

Dá suporte ao marshalling de uma Span<T> de valor gerenciado para uma matriz nativa contígua dos valores não gerenciados dos elementos.

StrategyBasedComWrappers

Um tipo baseado em ComWrappersque usa objetos de estratégia personalizáveis para implementar wrappers de objeto COM e wrappers de objeto gerenciado expostos ao COM.

UniqueComInterfaceMarshaller<T>

Marshals COM interfaces usando uma instância StrategyBasedComWrappers que cria apenas RCWs (wrappers de objeto nativo exclusivos).

Utf16StringMarshaller

Um marshaller para cadeias de caracteres UTF-16.

Utf8StringMarshaller

Um marshaller para cadeias de caracteres UTF-8.

Estruturas

AnsiStringMarshaller.ManagedToUnmanagedIn

Marshaller personalizado para realizar marshaling de uma cadeia de caracteres gerenciada como uma cadeia de caracteres não gerenciada ANSI.

ArrayMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

Marshaller para marshalling uma matriz de gerenciado para não gerenciado.

BStrStringMarshaller.ManagedToUnmanagedIn

Marshaller personalizado para realizar marshaling de uma cadeia de caracteres gerenciada como uma cadeia de caracteres não gerenciada ANSI.

ComVariant

Um tipo que representa um OLE VARIANT no código gerenciado.

ComVariantMarshaller.RefPropagate

Faz marshaling de um Object para um ComVariant, propagando o valor do Object de volta para o armazenamento de dados existente da variante se a variante tiver VT_BYREF tipo.

CustomMarshallerAttribute.GenericPlaceholder

Tipo de espaço reservado para um parâmetro genérico.

IIUnknownCacheStrategy.TableInfo

Contém informações sobre uma interface COM e sua tabela de métodos virtuais.

PointerArrayMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

Representa um marshaller para o marshalling de uma matriz de gerenciado para não gerenciado.

ReadOnlySpanMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

Dá suporte ao marshalling de gerenciado em não gerenciado em uma chamada de código gerenciado para código não gerenciado.

ReadOnlySpanMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedOut

Dá suporte ao marshalling de não gerenciado para gerenciado em uma chamada de código gerenciado para código não gerenciado. Por exemplo, valores retornados e parâmetros out em métodos P/Invoke.

SafeHandleMarshaller<T>.ManagedToUnmanagedIn

Faz marshaling de um SafeHandle como seu valor de identificador subjacente como um parâmetro in ou um parâmetro passado por valor em cenários gerenciados para não gerenciados, como P/Invokes.

SafeHandleMarshaller<T>.ManagedToUnmanagedOut

Empacota um SafeHandle como seu valor de identificador subjacente como um parâmetro out em cenários gerenciados para não gerenciados, como P/Invokes.

SafeHandleMarshaller<T>.ManagedToUnmanagedRef

Faz marshaling de um SafeHandle como seu valor de identificador subjacente como um parâmetro ref em cenários gerenciados para não gerenciados, como P/Invokes.

SpanMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

Dá suporte ao marshalling de gerenciado em não gerenciado em uma chamada de código gerenciado para código não gerenciado.

Utf8StringMarshaller.ManagedToUnmanagedIn

Marshaller personalizado para realizar marshaling de uma cadeia de caracteres gerenciada como uma cadeia de caracteres não gerenciada UTF-8.

VirtualMethodTableInfo

Fornece informações sobre uma tabela de método virtual e o ponteiro de instância não gerenciado.

Interfaces

IComExposedClass

Define informações de nível de tipo para tipos de classe gerenciada expostos ao COM.

IComExposedDetails

Define detalhes sobre um tipo de classe gerenciada exposto ao COM.

IIUnknownCacheStrategy

Define uma estratégia de pesquisa de tabela de método virtual não gerenciada.

IIUnknownDerivedDetails

Fornece detalhes para a interface derivada de IUnknown.

IIUnknownInterfaceDetailsStrategy

Define uma estratégia para adquirir detalhes da interface.

IIUnknownInterfaceType

Define informações de nível de tipo para uma interface derivada de IUnknown.

IIUnknownStrategy

Define a estratégia de interação IUnknown.

IUnmanagedVirtualMethodTableProvider

Fornece informações sobre uma tabela de métodos virtuais para uma interface gerenciada para habilitar a invocação de métodos na tabela de métodos virtuais.

Enumerações

ComInterfaceOptions

Opções de como gerar interoperabilidade de interface COM com o gerador de origem de interoperabilidade COM.

MarshalMode

Representa os diferentes modos de marshalling.