Namespace System.Runtime.InteropServices
Observação
The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.
O System.Runtime.InteropServices namespace fornece uma ampla variedade de membros que a invocação de plataforma e interoperabilidade de suporte COM os serviços. Se você estiver familiarizado com esses serviços, consulte interoperação com código não gerenciado.
Classes
Classe | Descrição | |
---|---|---|
AllowReversePInvokeCallsAttribute | Permite que um método não gerenciado chame um método gerenciado. |
|
AutomationProxyAttribute | Especifica se o tipo deve ter o marshaling realizado usando o marshaler de Automação ou um proxy e stub personalizados. |
|
BestFitMappingAttribute | Controla se os caracteres Unicode são convertidos em caracteres ANSI correspondentes mais próximos. |
|
BStrWrapper | Realiza marshaling de dados do tipo VT_BSTR de código gerenciado para código não gerenciado. Essa classe não pode ser herdada. |
|
ClassInterfaceAttribute | Indica o tipo de interface de classe a ser gerado para uma classe exposta ao COM, se uma interface for de fato gerada. |
|
CoClassAttribute | Especifica o identificador de classe de coclass importado de uma biblioteca de tipos. |
|
ComAliasNameAttribute | Indica o alias COM de um parâmetro ou tipo de campo. |
|
ComAwareEventInfo | Permite o registro de associação tardia de um manipulador de eventos. |
|
ComCompatibleVersionAttribute | Indica a um cliente COM que todas as classes na versão atual de um assembly são compatíveis com as classes em uma versão anterior do assembly. |
|
ComConversionLossAttribute | Indica que informações sobre uma classe ou interface foram perdidas quando foram importadas de uma biblioteca de tipos para um assembly. |
|
ComDefaultInterfaceAttribute | Especifica uma interface padrão para expor ao COM. Essa classe não pode ser herdada. |
|
ComEventInterfaceAttribute | Identifica a interface de origem e a classe que implementa os métodos da interface do evento é gerado quando uma coclass é importada de uma biblioteca de tipos COM. |
|
ComEventsHelper | Fornece métodos que permitem que os delegados do .NET Framework que tratam os eventos sejam adicionados e removidos dos objetos COM. |
|
COMException | A exceção é lançada quando um HRESULT não reconhecido retorna de uma chamada de método COM. |
|
ComImportAttribute | Indica que o tipo de atributo foi definido anteriormente na COM. |
|
ComRegisterFunctionAttribute | Especifica o método a ser chamado quando você registra um assembly para ser usado de COM. Isso habilita a execução de código escrito pelo usuário durante o processo de registro. |
|
ComSourceInterfacesAttribute | Identifica uma lista de interfaces que são expostas como origens de evento COM para a classe atribuída. |
|
ComUnregisterFunctionAttribute | Especifica o método a ser chamado quando você cancela o registro de um assembly para uso de COM. Isso possibilita a execução de código escrito pelo usuário durante o processo de cancelamento do registro. |
|
ComVisibleAttribute | Controla a acessibilidade de um tipo gerenciado individual ou membro, ou então de todos os tipos em um assembly, ao COM. |
|
CriticalHandle | Representa uma classe wrapper para os recursos do identificador. |
|
CurrencyWrapper | Encapsula objetos que o empacotador deve realizar marshaling como um VT_CY. |
|
DefaultCharSetAttribute | Especifica o valor da enumeração CharSet. Essa classe não pode ser herdada. |
|
DefaultDllImportSearchPathsAttribute | Especifica os caminhos que são usados para procurar DLLs que fornecem funções para invocações de plataforma. |
|
DefaultParameterValueAttribute | Define o valor padrão de um parâmetro, quando chamado de uma linguagem que dá suporte a parâmetros padrão. Essa classe não pode ser herdada. |
|
DispatchWrapper | Encapsula objetos que o empacotador deve realizar marshaling como um VT_DISPATCH. |
|
DispIdAttribute | Especifica o identificador de distribuição (DISPID) COM de um método, campo ou propriedade. |
|
DllImportAttribute | Indica que o método atribuído é exposto por uma DLL (biblioteca de vínculo dinâmico) não gerenciada como um ponto de entrada estático. |
|
ErrorWrapper | Encapsula objetos que o empacotador deve realizar marshaling como um VT_ERROR. |
|
ExtensibleClassFactory | Permite a personalização de objetos gerenciados que se estendem de objetos não gerenciados durante a criação. |
|
ExternalException | O tipo de exceção de base para todas as exceções de interoperabilidade COM e exceções estruturadas de manipulação de exceção (SEH). |
|
FieldOffsetAttribute | Indica a posição física dos campos dentro de representação não gerenciada de uma classe ou estrutura. |
|
GuidAttribute | Fornece um System.Guid explícito quando um GUID automático for indesejável. |
|
HandleCollector | Rastreia identificadores pendentes e força uma coleta de lixo quando é atingido o limite especificado. |
|
IDispatchImplAttribute | Obsoleto.Indica qual implementação de IDispatch o Common Language Runtime usa ao expor interfaces duplas e dispinterfaces ao COM. |
|
ImportedFromTypeLibAttribute | Indica que os tipos definidos dentro de um assembly foram originalmente definidos em uma biblioteca de tipos. |
|
InAttribute | Indica que os dados devem passar por marshaling pelo chamador para o receptor, mas não de volta para o chamador. |
|
InterfaceTypeAttribute | Indica se uma interface gerenciada é dupla, somente de expedição ou somente de IUnknown quando exposta à COM. |
|
InvalidComObjectException | A exceção lançada quando um objeto COM inválido é usado. |
|
InvalidOleVariantTypeException | A exceção gerada pelo marshaler quando este encontra um argumento de um tipo variante que não pode ter o marshaling realizado no código gerenciado. |
|
LCIDConversionAttribute | Indica que a assinatura não gerenciada do método espera um parâmetro LCID (identificador de localidade). |
|
ManagedToNativeComInteropStubAttribute | Dá suporte para personalização do usuário de stubs de interoperabilidade em cenários de interoperabilidade gerenciada para COM. |
|
Marshal | Fornece um conjunto de métodos para alocar a memória não gerenciada, copiando os blocos de memória não gerenciada e convertendo tipos gerenciados em não gerenciados, bem como outros diversos métodos usados ao interagir com código não gerenciado. |
|
MarshalAsAttribute | Indica como realizar marshaling de dados entre código gerenciado e não gerenciado. |
|
MarshalDirectiveException | A exceção que é lançada pelo marshaler quando este encontra um MarshalAsAttribute ao qual não oferece suporte. |
|
OptionalAttribute | Indica que um parâmetro é opcional. |
|
OutAttribute | Indica que os dados devem passar por marshaling do receptor de volta ao chamador. |
|
PreserveSigAttribute | Indica que o HRESULT ou a transformação de assinatura de retval que ocorre durante as chamadas de interoperabilidade COM deve ser suprimida. |
|
PrimaryInteropAssemblyAttribute | Indica que o assembly atribuído é um assembly de interoperabilidade primário. |
|
ProgIdAttribute | Permite que o usuário especifique o ProgID de uma classe. |
|
RegistrationServices | Fornece um conjunto de serviços para registrar e cancelar o registro de assemblies gerenciados para uso do COM. |
|
RuntimeEnvironment | Fornece uma coleção de métodos static que retornam informações sobre o ambiente de Common Language Runtime. |
|
RuntimeInformation | Fornece informações sobre a instalação do tempo de execução .NET. |
|
SafeArrayRankMismatchException | A exceção gerada quando a classificação de um SAFEARRAY de entrada não corresponde à classificação especificada na assinatura gerenciada. |
|
SafeArrayTypeMismatchException | A exceção gerada quando o tipo de SAFEARRAY de entrada não corresponde ao tipo especificado na assinatura gerenciada. |
|
SafeBuffer | Fornece um buffer de memória controlado que pode ser usado para leitura e gravação. Tentativas de acessar a memória fora do buffer controlado (falhas e estouros) geram exceções. |
|
SafeHandle | Representa uma classe wrapper para identificadores do sistema operacional. Essa classe deve ser herdada. |
|
SEHException | Representa erros de SEH (Manipulação de Exceção Estruturada). |
|
SetWin32ContextInIDispatchAttribute | Obsoleto.Esse atributo foi substituído. |
|
StandardOleMarshalObject | Substitui o marshaler free-thread padrão do CLR (Common Language Runtime) pelo marshaler OLE STA padrão. |
|
StructLayoutAttribute | Permite controlar o layout físico dos campos de dados de uma classe ou estrutura na memória. |
|
TypeIdentifierAttribute | Dá suporte à equivalência de tipo. |
|
TypeLibConverter | Fornece um conjunto de serviços que convertem um assembly gerenciado em uma biblioteca de tipos COM e vice-versa. |
|
TypeLibFuncAttribute | Contém o FUNCFLAGS que foi originalmente importado para esse método da biblioteca de tipos COM. |
|
TypeLibImportClassAttribute | Especifica qual Type usa exclusivamente uma interface. Essa classe não pode ser herdada. |
|
TypeLibTypeAttribute | Contém o TYPEFLAGS que foi originalmente importado para esse tipo da biblioteca de tipos COM. |
|
TypeLibVarAttribute | Contém o VARFLAGS que foi originalmente importado para esse campo da biblioteca de tipos COM. |
|
TypeLibVersionAttribute | Especifica o número de versão de uma biblioteca de tipos exportada. |
|
UnknownWrapper | Encapsula objetos que o empacotador deve realizar marshaling como um VT_UNKNOWN. |
|
UnmanagedFunctionPointerAttribute | Controla o comportamento de marshaling de uma assinatura do delegado passado como um ponteiro de função não gerenciada de ou para código não gerenciado. Essa classe não pode ser herdada. |
|
VariantWrapper | Realiza marshaling de dados do tipo VT_VARIANT | VT_BYREF de código gerenciado para código não gerenciado. Essa classe não pode ser herdada. |
Estruturas
Interfaces
Interface | Descrição | |
---|---|---|
_Activator | Expõe a classe System.Activator para código não gerenciado. |
|
_Assembly | Expõe os membros públicos da classe System.Reflection.Assembly a código não gerenciado. |
|
_AssemblyBuilder | Expõe a classe System.Reflection.Emit.AssemblyBuilder para código não gerenciado. |
|
_AssemblyName | Expõe a classe AssemblyName para código não gerenciado. |
|
_Attribute | Expõe a classe System.Attribute para código não gerenciado. |
|
_ConstructorBuilder | Expõe a classe System.Reflection.Emit.ConstructorBuilder para código não gerenciado. |
|
_ConstructorInfo | Expõe os membros públicos da classe System.Reflection.ConstructorInfo a código não gerenciado. |
|
_CustomAttributeBuilder | Expõe a classe System.Reflection.Emit.CustomAttributeBuilder para código não gerenciado. |
|
_EnumBuilder | Expõe a classe System.Reflection.Emit.EnumBuilder para código não gerenciado. |
|
_EventBuilder | Expõe a classe System.Reflection.Emit.EventBuilder para código não gerenciado. |
|
_EventInfo | Expõe os membros públicos da classe System.Reflection.EventInfo a código não gerenciado. |
|
_Exception | Expõe os membros públicos da classe System.Exception a código não gerenciado. |
|
_FieldBuilder | Expõe a classe System.Reflection.Emit.FieldBuilder para código não gerenciado. |
|
_FieldInfo | Expõe os membros públicos da classe System.Reflection.FieldInfo a código não gerenciado. |
|
_ILGenerator | Expõe a classe System.Reflection.Emit.ILGenerator para código não gerenciado. |
|
_LocalBuilder | Expõe a classe System.Reflection.Emit.LocalBuilder para código não gerenciado. |
|
_MemberInfo | Expõe os membros públicos da classe System.Reflection.MemberInfo a código não gerenciado. |
|
_MethodBase | Expõe os membros públicos da classe System.Reflection.MethodBase a código não gerenciado. |
|
_MethodBuilder | Expõe a classe MethodBuilder para código não gerenciado. |
|
_MethodInfo | Expõe os membros públicos da classe System.Reflection.MethodInfo a código não gerenciado. |
|
_MethodRental | Expõe a classe System.Reflection.Emit.MethodRental para código não gerenciado. |
|
_Module | Expõe a classe Module para código não gerenciado. |
|
_ModuleBuilder | Expõe a classe System.Reflection.Emit.ModuleBuilder para código não gerenciado. |
|
_ParameterBuilder | Expõe a classe System.Reflection.Emit.ParameterBuilder para código não gerenciado. |
|
_ParameterInfo | Expõe a classe System.Reflection.ParameterInfo para código não gerenciado. |
|
_PropertyBuilder | Expõe a classe System.Reflection.Emit.PropertyBuilder para código não gerenciado. |
|
_PropertyInfo | Expõe os membros públicos da classe System.Reflection.PropertyInfo a código não gerenciado. |
|
_SignatureHelper | Expõe a classe System.Reflection.Emit.SignatureHelper para código não gerenciado. |
|
_Thread | Expõe a classe System.Threading.Thread para código não gerenciado. |
|
_Type | Expõe os membros públicos da classe System.Type ao código não gerenciado. |
|
_TypeBuilder | Expõe a classe System.Reflection.Emit.TypeBuilder para código não gerenciado. |
|
ICustomAdapter | Fornece uma maneira para que os clientes acessem o objeto real, em vez do objeto adaptador entregue por um marshaler personalizado. |
|
ICustomFactory | Permite que usuários gravem o código de ativação para os objetos gerenciados que estendem MarshalByRefObject. |
|
ICustomMarshaler | Fornece wrappers personalizados para manipular chamadas de método. |
|
ICustomQueryInterface | Os desenvolvedores podem fornecer uma implementação personalizada gerenciada do IUnknown::QueryInterface(REFIID riid, void **ppvObject) método. |
|
IRegistrationServices | Fornece um conjunto de serviços para registrar e cancelar o registro de assemblies gerenciados para uso do COM. |
|
ITypeLibConverter | Fornece um conjunto de serviços que convertem um assembly gerenciado em uma biblioteca de tipos COM e vice-versa. |
|
ITypeLibExporterNameProvider | Fornece controle sobre o uso de maiúsculas e minúsculas dos nomes quando exportado para uma biblioteca de tipos. |
|
ITypeLibExporterNotifySink | Fornece um mecanismo de retorno de chamada para o conversor de assembly para informar o chamador do status da conversão e envolver o chamador no processo de conversão em si. |
|
ITypeLibImporterNotifySink | Fornece um mecanismo de retorno de chamada para o conversor de biblioteca de tipos para informar o chamador do status da conversão e envolve o chamador no processo de conversão em si. |
|
UCOMIBindCtx | Obsoleto.Use System.Runtime.InteropServices.ComTypes.BIND_OPTS em seu lugar. |
|
UCOMIConnectionPoint | Obsoleto.Use System.Runtime.InteropServices.ComTypes.IConnectionPoint em seu lugar. |
|
UCOMIConnectionPointContainer | Obsoleto.Use System.Runtime.InteropServices.ComTypes.IConnectionPointContainer em seu lugar. |
|
UCOMIEnumConnectionPoints | Obsoleto.Use System.Runtime.InteropServices.ComTypes.IEnumConnectionPoints em seu lugar. |
|
UCOMIEnumConnections | Obsoleto.Use System.Runtime.InteropServices.ComTypes.IEnumConnections em seu lugar. |
|
UCOMIEnumMoniker | Obsoleto.Use System.Runtime.InteropServices.ComTypes.IEnumMoniker em seu lugar. |
|
UCOMIEnumString | Obsoleto.Use System.Runtime.InteropServices.ComTypes.IEnumString em seu lugar. |
|
UCOMIEnumVARIANT | Obsoleto.Use System.Runtime.InteropServices.ComTypes.IEnumVARIANT em seu lugar. |
|
UCOMIMoniker | Obsoleto.Use System.Runtime.InteropServices.ComTypes.IMoniker em seu lugar. |
|
UCOMIPersistFile | Obsoleto.Use System.Runtime.InteropServices.ComTypes.IPersistFile em seu lugar. |
|
UCOMIRunningObjectTable | Obsoleto.Use System.Runtime.InteropServices.ComTypes.IRunningObjectTable em seu lugar. |
|
UCOMIStream | Obsoleto.Use System.Runtime.InteropServices.ComTypes.IStream em seu lugar. |
|
UCOMITypeComp | Obsoleto.Use System.Runtime.InteropServices.ComTypes.ITypeComp em seu lugar. |
|
UCOMITypeInfo | Obsoleto.Use System.Runtime.InteropServices.ComTypes.ITypeInfo em seu lugar. |
|
UCOMITypeLib | Obsoleto.Use System.Runtime.InteropServices.ComTypes.ITypeLib em seu lugar. |
Delega
Delegado | Descrição | |
---|---|---|
ObjectCreationDelegate | Cria um objeto COM. |
Enumerações
Enumeração | Descrição | |
---|---|---|
Architecture | Indica a arquitetura do processador. |
|
AssemblyRegistrationFlags | Define um conjunto de sinalizadores usados ao registrar assemblies. |
|
CALLCONV | Obsoleto.Use System.Runtime.InteropServices.ComTypes.CALLCONV em seu lugar. |
|
CallingConvention | Especifica a convenção de chamada necessária para chamar os métodos implementados em código não gerenciado. |
|
CharSet | Impõe qual conjunto de caracteres as cadeias de caracteres com marshaling devem usar. |
|
ClassInterfaceType | Identifica o tipo de interface de classe que é gerado para uma classe. |
|
ComInterfaceType | Identifica como expor uma interface a COM. |
|
ComMemberType | Descreve o tipo de um membro de COM. |
|
CustomQueryInterfaceMode | Indica se o GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) do método IUnknown::QueryInterface chamadas podem usar o ICustomQueryInterface interface. |
|
CustomQueryInterfaceResult | Fornece valores retornados para o método GetInterface. |
|
DESCKIND | Obsoleto.Use System.Runtime.InteropServices.ComTypes.DESCKIND em seu lugar. |
|
DllImportSearchPath | Especifica os caminhos que são usados para procurar DLLs que fornecem funções para invocações de plataforma. |
|
ExporterEventKind | Descreve os retornos de chamada feitos pelo exportador da biblioteca ao exportar uma biblioteca de tipos. |
|
FUNCFLAGS | Obsoleto.Use System.Runtime.InteropServices.ComTypes.FUNCFLAGS em seu lugar. |
|
FUNCKIND | Obsoleto.Use System.Runtime.InteropServices.ComTypes.FUNCKIND em seu lugar. |
|
GCHandleType | Representa os tipos de identificadores que a classe GCHandle pode alocar. |
|
IDispatchImplType | Obsoleto.Indica qual implementação de IDispatch usar para uma determinada classe. |
|
IDLFLAG | Obsoleto.Use System.Runtime.InteropServices.ComTypes.IDLFLAG em seu lugar. |
|
IMPLTYPEFLAGS | Obsoleto.Use System.Runtime.InteropServices.ComTypes.IMPLTYPEFLAGS em seu lugar. |
|
ImporterEventKind | Descreve os retornos de chamada feitos pelo importador da biblioteca ao importar uma biblioteca de tipos. |
|
INVOKEKIND | Obsoleto.Use System.Runtime.InteropServices.ComTypes.INVOKEKIND em seu lugar. |
|
LayoutKind | Controla o layout de um objeto quando exportado para o código não gerenciado. |
|
LIBFLAGS | Obsoleto.Use System.Runtime.InteropServices.ComTypes.LIBFLAGS em seu lugar. |
|
PARAMFLAG | Obsoleto.Use System.Runtime.InteropServices.ComTypes.PARAMFLAG em seu lugar. |
|
RegistrationClassContext | Especifica o conjunto de contextos de execução nos quais um objeto de classe será disponibilizado para solicitações para instâncias de constructo. |
|
RegistrationConnectionType | Define os tipos de conexões com um objeto de classe. |
|
SYSKIND | Obsoleto.Use System.Runtime.InteropServices.ComTypes.SYSKIND em seu lugar. |
|
TYPEFLAGS | Obsoleto.Use System.Runtime.InteropServices.ComTypes.TYPEFLAGS em seu lugar. |
|
TYPEKIND | Obsoleto.Use System.Runtime.InteropServices.ComTypes.TYPEKIND em seu lugar. |
|
TypeLibExporterFlags | Indica como uma biblioteca de tipos deve ser produzida. |
|
TypeLibFuncFlags | Descreve as configurações originais do FUNCFLAGS na biblioteca de tipos COM da qual esse método foi importado. |
|
TypeLibImporterFlags | Indica como um assembly deve ser produzido. |
|
TypeLibTypeFlags | Descreve as configurações originais do TYPEFLAGS na biblioteca de tipos COM da qual esse tipo foi importado. |
|
TypeLibVarFlags | Descreve as configurações originais do VARFLAGS na biblioteca de tipos COM de que a variável foi importada. |
|
UnmanagedType | Identifica como realizar marshaling de parâmetros ou campos para código não gerenciado. |
|
VarEnum | Indica como realizar marshaling dos elementos da matriz quando uma matriz passa por marshaling do código gerenciado para não gerenciado como um UnmanagedType.SafeArray. |
|
VARFLAGS | Obsoleto.Use System.Runtime.InteropServices.ComTypes.VARFLAGS em seu lugar. |
Comentários
Membros desse namespace fornecem várias categorias de funcionalidade, conforme mostrado na tabela a seguir. Atributos controlam o comportamento de marshaling como representam cadeias de caracteres ou como organizar estruturas. Os atributos mais importantes são DllImportAttribute, que você usa para definir a plataforma chamar métodos para acessar APIs não gerenciadas, e MarshalAsAttribute, que você usa para especificar como os dados são empacotados entre gerenciados e memória.
Retornar ao início