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 StrategyBasedComWrappers instância.

ComObject

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

ComVariantMarshaller

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

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>

Realiza 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 do 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 marshaling de um ReadOnlySpan<T> de valor gerenciado para uma matriz nativa contígua dos valores não gerenciados dos elementos.

SafeHandleMarshaller<T>

Marshals - tipos derivados SafeHandlede seguindo as regras de tempo de vida para SafeHandle objetos.

SpanMarshaller<T,TUnmanagedElement>

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

StrategyBasedComWrappers

Um ComWrapperstipo baseado em que 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 ansi não gerenciada.

ArrayMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

Marshaller para marshalling de 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 ansi não gerenciada.

ComVariant

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

ComVariantMarshaller.RefPropagate

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

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 realizar marshalling de uma matriz de gerenciada para não gerenciada.

ReadOnlySpanMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

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

SafeHandleMarshaller<T>.ManagedToUnmanagedIn

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

SafeHandleMarshaller<T>.ManagedToUnmanagedOut

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

SafeHandleMarshaller<T>.ManagedToUnmanagedRef

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

SpanMarshaller<T,TUnmanagedElement>.ManagedToUnmanagedIn

Dá suporte ao marshalling de gerenciado para 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étodo virtual para uma interface gerenciada para habilitar a invocação de métodos na tabela de método virtual.

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.