System.Runtime.InteropServices Espaço de Nomes
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Disponibiliza uma grande variedade de membros que suportam serviços de interoperabilidade COM e invocação de plataforma. Se não estiver familiarizado com estes serviços, consulte Interoperar com Código Não Gerido.
Classes
| Name | Description |
|---|---|
| AllowReversePInvokeCallsAttribute |
Permite que um método não gerido chame um método gerido. |
| AutomationProxyAttribute |
Especifica se o tipo deve ser marshalizado usando o marshaler de Automação ou um proxy e stub personalizados. |
| BestFitMappingAttribute |
Controla se os caracteres Unicode são convertidos para os caracteres ANSI correspondentes mais próximos. |
| BStrWrapper |
Organiza dados do tipo |
| ClassInterfaceAttribute |
Indica o tipo de interface de classe a ser gerada para uma classe exposta ao COM, caso uma interface seja gerada. |
| CoClassAttribute |
Especifica o identificador de classe de uma coclasse importada de uma biblioteca de tipos. |
| ComAliasNameAttribute |
Indica o alias COM para um parâmetro ou tipo de campo. |
| ComAwareEventInfo |
Permite o registo tardio de um gestor de eventos. |
| ComCompatibleVersionAttribute |
Indica a um cliente COM que todas as classes na versão atual de um assembly são compatíveis com classes de uma versão anterior do assembly. |
| ComConversionLossAttribute |
Indica que a informação sobre uma classe ou interface foi perdida quando foi importada de uma biblioteca de tipos para uma assembleia. |
| ComDefaultInterfaceAttribute |
Especifica uma interface padrão para expor ao COM. Esta classe não pode ser herdada. |
| ComEventInterfaceAttribute |
Identifica a interface de origem e a classe que implementa os métodos da interface de eventos gerados quando uma coclasse é importada de uma biblioteca de tipos COM. |
| ComEventsHelper |
Fornece métodos que permitem delegados .NET que gerem a adição e remoção de eventos dos objetos COM. |
| COMException |
A exceção que é lançada quando um HRESULT não reconhecido é devolvido de uma chamada de método COM. |
| ComImportAttribute |
Indica que o tipo atribuído foi previamente definido no COM. |
| ComRegisterFunctionAttribute |
Especifica o método a chamar quando registas um assembly para uso a partir do COM; Isto permite a execução de código escrito pelo utilizador durante o processo de registo. |
| ComSourceInterfacesAttribute |
Identifica uma lista de interfaces que são expostas como fontes de eventos COM para a classe atribuída. |
| ComUnregisterFunctionAttribute |
Especifica o método a chamar quando se desregista um assembly para uso a partir do COM; Isto permite a execução de código escrito pelo utilizador durante o processo de desregisto. |
| ComVisibleAttribute |
Controla a acessibilidade de um tipo ou membro individual gerido, ou de todos os tipos dentro de uma assembleia, ao COM. |
| CriticalHandle |
Representa uma classe wrapper para recursos de handles. |
| CurrencyWrapper |
Envolve objetos que o marshaler deve fazer marshal como um |
| DefaultCharSetAttribute |
Especifica o valor da CharSet enumeração. Esta 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 a partir de uma linguagem que suporta parâmetros por defeito. Esta classe não pode ser herdada. |
| DispatchWrapper |
Envolve objetos que o marshaler deve fazer marshal como um |
| DispIdAttribute |
Especifica o identificador de despacho COM (DISPID) de um método, campo ou propriedade. |
| DllImportAttribute |
Indica que o método atribuído é exposto por uma biblioteca de ligação dinâmica (DLL) não gerida como ponto de entrada estático. |
| ErrorWrapper |
Envolve objetos que o marshaler deve fazer marshal como um |
| ExtensibleClassFactory |
Permite a personalização de objetos geridos que se estendem a partir de objetos não geridos durante a criação. |
| ExternalException |
O tipo base de exceção para todas as exceções de interoperabilidade COM e exceções de gestão estruturada de exceções (SEH). |
| FieldOffsetAttribute |
Indica a posição física dos campos dentro da representação não gerida de uma classe ou estrutura. |
| GuidAttribute |
Fornece um aviso explícito Guid quando um GUID automático é indesejável. |
| HandleCollector |
Regista os restantes e força uma recolha de lixo quando o limiar especificado é atingido. |
| IDispatchImplAttribute |
Indica qual |
| ImportedFromTypeLibAttribute |
Indica que os tipos definidos dentro de um assembly foram originalmente definidos numa biblioteca de tipos. |
| InAttribute |
Indica que os dados devem ser direcionados do chamador para o chamado, mas não de volta ao chamador. |
| InterfaceTypeAttribute |
Indica se uma interface gerida é dual, apenas de despacho ou |
| InvalidComObjectException |
A exceção lançada quando um objeto COM inválido é utilizado. |
| InvalidOleVariantTypeException |
A exceção lançada pelo marshaler quando encontra um argumento de um tipo variante que não pode ser escalalado para código gerido. |
| LCIDConversionAttribute |
Indica que a assinatura não gerida de um método espera um parâmetro de identificador local (LCID). |
| ManagedToNativeComInteropStubAttribute |
Fornece suporte para personalização por parte do utilizador de stubs de interoperabilidade em cenários de interoperabilidade gerida para COM. |
| Marshal |
Fornece uma coleção de métodos para alocar memória não gerida, copiar blocos de memória não geridos e converter tipos gerenciados para tipos não geridos, bem como outros métodos diversos usados ao interagir com código não gerido. |
| MarshalAsAttribute |
Indica como organizar os dados entre código gerido e não gerido. |
| MarshalDirectiveException |
A exceção que é lançada pelo marshaler quando encontra um MarshalAsAttribute que não suporta. |
| MemoryMarshal |
Fornece métodos para interoperar com Memory<T>, ReadOnlyMemory<T>, Span<T>, e ReadOnlySpan<T>. |
| OptionalAttribute |
Indica que um parâmetro é opcional. |
| OutAttribute |
Indica que os dados devem ser orientados do chamado de volta para o chamador. |
| PreserveSigAttribute |
Indica que a transformação da assinatura HRESULT que ocorre durante as chamadas de interoperabilidade COM deve ser suprimida. |
| PrimaryInteropAssemblyAttribute |
Indica que a montagem atribuída é uma assembleia interop primária. |
| ProgIdAttribute |
Permite ao utilizador especificar o ProgID de uma classe. |
| RegistrationServices |
Fornece um conjunto de serviços para registar e desregistar assemblies geridos para utilização a partir do COM. |
| RuntimeEnvironment |
Fornece uma coleção de |
| RuntimeInformation |
Fornece informações sobre a instalação em tempo de execução .NET. |
| SafeArrayRankMismatchException |
A exceção lançada quando o posto de um recém-chegado |
| SafeArrayTypeMismatchException |
A exceção lançada quando o tipo da entrada |
| SafeBuffer |
Fornece um buffer de memória controlado que pode ser usado para leitura e escrita. Tentativas de aceder à memória fora do buffer controlado (underruns e overstocks) geram exceções. |
| SafeHandle |
Representa uma classe wrapper para handles do sistema operativo. Esta classe tem de ser herdada. |
| SEHException |
Representa erros de gestão estruturada de exceções (SEH). |
| SequenceMarshal |
Fornece um conjunto de métodos para interoperar com ReadOnlySequence<T>. |
| SetWin32ContextInIDispatchAttribute |
Este atributo foi preterido. |
| StandardOleMarshalObject |
Substitui o marshaler padrão de execução em linguagem comum (CLR) por um marshaler padrão OLE STA. |
| StructLayoutAttribute |
Permite controlar a disposição física dos campos de dados de uma classe ou estrutura na memória. |
| TypeIdentifierAttribute |
Fornece suporte para equivalência de tipos. |
| TypeLibConverter |
Fornece um conjunto de serviços que convertem um assembly gerido numa biblioteca do tipo COM e vice-versa. |
| TypeLibFuncAttribute |
Contém os FUNCFLAGS que foram originalmente importados para este método a partir da biblioteca de tipos COM. |
| TypeLibImportClassAttribute |
Especifica qual Type usa exclusivamente uma interface. Esta classe não pode ser herdada. |
| TypeLibTypeAttribute |
Contém os TYPEFLAGS que foram originalmente importados para este tipo a partir da biblioteca de tipos COM. |
| TypeLibVarAttribute |
Contém os VARFLAGS que foram originalmente importados para este campo a partir da biblioteca de tipos COM. |
| TypeLibVersionAttribute |
Especifica o número de versão de uma biblioteca de tipos exportada. |
| UnknownWrapper |
Envolve objetos que o marshaler deve fazer marshal como um |
| UnmanagedFunctionPointerAttribute |
Controla o comportamento de marshaling de uma assinatura de delegado passada como um apontador de função não gerida para ou a partir de código não gerido. Esta classe não pode ser herdada. |
| VariantWrapper |
Organiza dados do tipo |
Estruturas
| Name | Description |
|---|---|
| ArrayWithOffset |
Encapsula um array e um offset dentro do array especificado. |
| BIND_OPTS |
Utilize BIND_OPTS em substituição. |
| BINDPTR |
Utilize BINDPTR em substituição. |
| CONNECTDATA |
Utilize CONNECTDATA em substituição. |
| DISPPARAMS |
Utilize DISPPARAMS em substituição. |
| ELEMDESC |
Utilize ELEMDESC em substituição. |
| ELEMDESC.DESCUNION |
Utilize ELEMDESC.DESCUNION em substituição. |
| EXCEPINFO |
Utilize EXCEPINFO em substituição. |
| FILETIME |
Utilize FILETIME em substituição. |
| FUNCDESC |
Utilize FUNCDESC em substituição. |
| GCHandle |
Fornece uma forma de aceder a um objeto gerido a partir de memória não gerida. |
| HandleRef |
Envolve um objeto gerido que contém um handle a um recurso que é passado para código não gerido usando platform invoke. |
| IDLDESC |
Utilize IDLDESC em substituição. |
| OSPlatform |
Representa uma plataforma de sistema operativo. |
| PARAMDESC |
Utilize PARAMDESC em substituição. |
| STATSTG |
Utilize STATSTG em substituição. |
| TYPEATTR |
Utilize TYPEATTR em substituição. |
| TYPEDESC |
Utilize TYPEDESC em substituição. |
| TYPELIBATTR |
Utilize TYPELIBATTR em substituição. |
| VARDESC |
Utilize VARDESC em substituição. |
| VARDESC.DESCUNION |
Utilize VARDESC.DESCUNION em substituição. |
Interfaces
| Name | Description |
|---|---|
| _Activator |
Expõe a Activator classe a código não gerido. |
| _Assembly |
Expõe os membros públicos da Assembly turma a código não gerido. |
| _AssemblyBuilder |
Expõe a AssemblyBuilder classe a código não gerido. |
| _AssemblyName |
Expõe a AssemblyName classe a código não gerido. |
| _Attribute |
Expõe a Attribute classe a código não gerido. |
| _ConstructorBuilder |
Expõe a ConstructorBuilder classe a código não gerido. |
| _ConstructorInfo |
Expõe os membros públicos da ConstructorInfo turma a código não gerido. |
| _CustomAttributeBuilder |
Expõe a CustomAttributeBuilder classe a código não gerido. |
| _EnumBuilder |
Expõe a EnumBuilder classe a código não gerido. |
| _EventBuilder |
Expõe a EventBuilder classe a código não gerido. |
| _EventInfo |
Expõe os membros públicos da EventInfo turma a código não gerido. |
| _Exception |
Expõe os membros públicos da Exception turma a código não gerido. |
| _FieldBuilder |
Expõe a FieldBuilder classe a código não gerido. |
| _FieldInfo |
Expõe os membros públicos da FieldInfo turma a código não gerido. |
| _ILGenerator |
Expõe a ILGenerator classe a código não gerido. |
| _LocalBuilder |
Expõe a LocalBuilder classe a código não gerido. |
| _MemberInfo |
Expõe os membros públicos da MemberInfo turma a código não gerido. |
| _MethodBase |
Expõe os membros públicos da MethodBase turma a código não gerido. |
| _MethodBuilder |
Expõe a MethodBuilder classe a código não gerido. |
| _MethodInfo |
Expõe os membros públicos da MethodInfo turma a código não gerido. |
| _MethodRental |
Expõe a MethodRental classe a código não gerido. |
| _Module |
Expõe a Module classe a código não gerido. |
| _ModuleBuilder |
Expõe a ModuleBuilder classe a código não gerido. |
| _ParameterBuilder |
Expõe a ParameterBuilder classe a código não gerido. |
| _ParameterInfo |
Expõe a ParameterInfo classe a código não gerido. |
| _PropertyBuilder |
Expõe a PropertyBuilder classe a código não gerido. |
| _PropertyInfo |
Expõe os membros públicos da PropertyInfo turma a código não gerido. |
| _SignatureHelper |
Expõe a SignatureHelper classe a código não gerido. |
| _Thread |
Expõe a Thread classe a código não gerido. |
| _Type |
Expõe os membros públicos da Type turma ao código não gerido. |
| _TypeBuilder |
Expõe a TypeBuilder classe a código não gerido. |
| ICustomAdapter |
Fornece uma forma para os clientes acedirem ao objeto real, em vez do objeto adaptador fornecido por um marshaler personalizado. |
| ICustomFactory |
Permite aos utilizadores escrever código de ativação para objetos geridos que estendem MarshalByRefObject. |
| ICustomMarshaler |
Fornece wrappers personalizados para lidar com chamadas de métodos. |
| ICustomQueryInterface |
Permite aos programadores fornecer uma implementação personalizada e gerida do método IUnknown::QueryInterface(REFIID riid, void **ppvObject). |
| IRegistrationServices |
Fornece um conjunto de serviços para registar e desregistar assemblies geridos para utilização a partir do COM. |
| ITypeLibConverter |
Fornece um conjunto de serviços que convertem um assembly gerido numa biblioteca do tipo COM e vice-versa. |
| ITypeLibExporterNameProvider |
Fornece controlo sobre a maiúscula dos nomes quando exportados para uma biblioteca de tipos. |
| ITypeLibExporterNotifySink |
Fornece um mecanismo de callback para o conversor de montagem informar o chamador do estado da conversão e envolver o chamador no próprio processo de conversão. |
| ITypeLibImporterNotifySink |
Fornece um mecanismo de callback para o conversor da biblioteca de tipos informar o chamador sobre o estado da conversão, envolvendo o chamador no próprio processo de conversão. |
| UCOMIBindCtx |
Utilize BIND_OPTS em substituição. |
| UCOMIConnectionPoint |
Utilize IConnectionPoint em substituição. |
| UCOMIConnectionPointContainer |
Utilize IConnectionPointContainer em substituição. |
| UCOMIEnumConnectionPoints |
Utilize IEnumConnectionPoints em substituição. |
| UCOMIEnumConnections |
Utilize IEnumConnections em substituição. |
| UCOMIEnumMoniker |
Utilize IEnumMoniker em substituição. |
| UCOMIEnumString |
Utilize IEnumString em substituição. |
| UCOMIEnumVARIANT |
Utilize IEnumVARIANT em substituição. |
| UCOMIMoniker |
Utilize IMoniker em substituição. |
| UCOMIPersistFile |
Utilize IPersistFile em substituição. |
| UCOMIRunningObjectTable |
Utilize IRunningObjectTable em substituição. |
| UCOMIStream |
Utilize IStream em substituição. |
| UCOMITypeComp |
Utilize ITypeComp em substituição. |
| UCOMITypeInfo |
Utilize ITypeInfo em substituição. |
| UCOMITypeLib |
Utilize ITypeLib em substituição. |
Enumerações
| Name | Description |
|---|---|
| Architecture |
Indica a arquitetura do processador. |
| AssemblyRegistrationFlags |
Define um conjunto de flags usados ao registar assemblies. |
| CALLCONV |
Utilize CALLCONV em substituição. |
| CallingConvention |
Especifica a convenção de chamada necessária para chamar métodos implementados em código não gerido. |
| CharSet |
Determina que conjunto de caracteres as strings marshaled devem usar. |
| ClassInterfaceType |
Identifica o tipo de interface de classe que é gerada para uma classe. |
| ComInterfaceType |
Identifica como expor uma interface ao COM. |
| ComMemberType |
Descreve o tipo de membro do COM. |
| CustomQueryInterfaceMode |
Indica se as GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) chamadas IUnknown::QueryInterface do método podem usar a ICustomQueryInterface interface. |
| CustomQueryInterfaceResult |
Fornece valores de retorno para o GetInterface(Guid, IntPtr) método. |
| DESCKIND |
Utilize DESCKIND em substituição. |
| DllImportSearchPath |
Especifica os caminhos que são usados para procurar DLLs que fornecem funções para invocações de plataforma. |
| ExporterEventKind |
Descreve os callbacks que o exportador da biblioteca de tipos faz ao exportar uma biblioteca de tipos. |
| FUNCFLAGS |
Utilize FUNCFLAGS em substituição. |
| FUNCKIND |
Utilize FUNCKIND em substituição. |
| GCHandleType |
Representa os tipos de alças que o GCHandle tipo pode alocar. |
| IDispatchImplType |
Indica qual |
| IDLFLAG |
Utilize IDLFLAG em substituição. |
| IMPLTYPEFLAGS |
Utilize IMPLTYPEFLAGS em substituição. |
| ImporterEventKind |
Descreve os callbacks que o importador de biblioteca de tipos faz ao importar uma biblioteca de tipos. |
| INVOKEKIND |
Utilize INVOKEKIND em substituição. |
| LayoutKind |
Controla o layout de um objeto quando exportado para código não gerido. |
| LIBFLAGS |
Utilize LIBFLAGS em substituição. |
| PARAMFLAG |
Utilize PARAMFLAG em substituição. |
| RegistrationClassContext |
Especifica o conjunto de contextos de execução em que um objeto de classe será disponibilizado para pedidos de construção de instâncias. |
| RegistrationConnectionType |
Define os tipos de ligações a um objeto de classe. |
| SYSKIND |
Utilize SYSKIND em substituição. |
| TYPEFLAGS |
Utilize TYPEFLAGS em substituição. |
| TYPEKIND |
Utilize TYPEKIND em substituição. |
| TypeLibExporterFlags |
Indica como uma biblioteca de tipos deve ser produzida. |
| TypeLibFuncFlags |
Descreve as definições originais do |
| TypeLibImporterFlags |
Indica como um conjunto deve ser produzido. |
| TypeLibTypeFlags |
Descreve as definições originais da TYPEFLAGS biblioteca de tipos COM de onde o tipo foi importado. |
| TypeLibVarFlags |
Descreve as definições originais da VARFLAGS biblioteca de tipos COM de onde a variável foi importada. |
| UnmanagedType |
Identifica como escalar parâmetros ou campos para código não gerido. |
| VarEnum |
Indica como fazer o marshal dos elementos do array quando um array é marshaled de código gerido para código não gerido como um SafeArray. |
| VARFLAGS |
Utilize VARFLAGS em substituição. |
Delegados
| Name | Description |
|---|---|
| ObjectCreationDelegate |
Cria um objeto COM. |
Observações
Os membros deste namespace fornecem várias categorias de funcionalidades, como mostrado na tabela seguinte. Os atributos controlam o comportamento de marshaling, como como organizar estruturas ou como representar strings. Os atributos mais importantes são DllImportAttribute, que se usam para definir métodos de invocação de plataforma para aceder a APIs não geridas, e MarshalAsAttribute, que se usam para especificar como os dados são organizados entre memória gerida e não gerida.