Classe ComRegisterFunctionAttribute
Dica
The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.
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.
Namespace: System.Runtime.InteropServices
Assembly: mscorlib (em mscorlib.dll)
Hierarquia de Herança
System.Object
System.Attribute
System.Runtime.InteropServices.ComRegisterFunctionAttribute
Sintaxe
[AttributeUsageAttribute(AttributeTargets.Method, Inherited = false)]
[ComVisibleAttribute(true)]
public sealed class ComRegisterFunctionAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Method, Inherited = false)]
[ComVisibleAttribute(true)]
public ref class ComRegisterFunctionAttribute sealed : Attribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Method, Inherited = false)>]
[<ComVisibleAttribute(true)>]
type ComRegisterFunctionAttribute =
class
inherit Attribute
end
<AttributeUsageAttribute(AttributeTargets.Method, Inherited := False)>
<ComVisibleAttribute(True)>
Public NotInheritable Class ComRegisterFunctionAttribute
Inherits Attribute
Construtores
Nome | Descrição | |
---|---|---|
ComRegisterFunctionAttribute() | Inicializa uma nova instância da classe ComRegisterFunctionAttribute. |
Propriedades
Nome | Descrição | |
---|---|---|
TypeId | Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute.(Herdado de Attribute.) |
Métodos
Nome | Descrição | |
---|---|---|
Equals(Object) | Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Retorna um valor que indica se essa instância é igual a um objeto especificado.(Herdado de Attribute.) |
|
GetHashCode() | Retorna o código hash para essa instância.(Herdado de Attribute.) |
|
GetType() | ||
IsDefaultAttribute() | Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada.(Herdado de Attribute.) |
|
Match(Object) | Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado.(Herdado de Attribute.) |
|
ToString() | Retorna uma cadeia de caracteres que representa o objeto atual.(Herdado de Object.) |
Implementações Explícitas da Interface
Nome | Descrição | |
---|---|---|
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) | Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.(Herdado de Attribute.) |
|
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) | Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface.(Herdado de Attribute.) |
|
_Attribute.GetTypeInfoCount(UInt32) | Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).(Herdado de Attribute.) |
|
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) | Fornece acesso a propriedades e métodos expostos por um objeto.(Herdado de Attribute.) |
Comentários
Você pode aplicar esse atributo para métodos.
ComRegisterFunctionAttributepermite que você adicione código de registro arbitrário para acomodar os requisitos de clientes COM. Por exemplo, você pode atualizar o registro usando as funções de registro da Microsoft.Win32 namespace. Se você fornecer um método de registro, você também deve aplicar System.Runtime.InteropServices.ComUnregisterFunctionAttribute a um método de cancelamento de registro, que reverte as operações realizadas no método de registro.
O common language runtime chama o método com esse atributo quando seu assembly contendo é registrado (direta ou indiretamente) com o Regasm.exe (Ferramenta de Registro de Assembly)ou por meio de RegistrationServices.RegisterAssembly método.
Esse atributo pode ser aplicado apenas para os métodos que têm as seguintes características:
Escopo: Qualquer (público, privado e assim por diante).
Digite: static.
Parâmetros: Aceita um único Type parâmetro ou um String tipo de parâmetro.
Tipo de retorno: void.
Exemplos
O exemplo a seguir demonstra como aplicar ComRegisterFunctionAttribute e ComUnregisterFunctionAttribute para métodos com a assinatura apropriada.
using System;
using System.Runtime.InteropServices;
public class MyClassThatNeedsToRegister
{
[ComRegisterFunctionAttribute]
public static void RegisterFunction(Type t)
{
//Insert code here.
}
[ComUnregisterFunctionAttribute]
public static void UnregisterFunction(Type t)
{
//Insert code here.
}
}
Imports System
Imports System.Runtime.InteropServices
Public Class MyClassThatNeedsToRegister
<ComRegisterFunctionAttribute()> Public Shared Sub _
RegisterFunction(t As Type)
'Insert code here.
End Sub
<ComUnregisterFunctionAttribute()> Public Shared Sub _
UnregisterFunction(t As Type)
'Insert code here.
End Sub
End Class
using namespace System;
using namespace System::Runtime::InteropServices;
public ref class MyClassThatNeedsToRegister
{
public:
[ComRegisterFunctionAttribute]
static void RegisterFunction( Type^ t )
{
//Insert code here.
}
[ComUnregisterFunctionAttribute]
static void UnregisterFunction( Type^ t )
{
//Insert code here.
}
};
Informações de Versão
.NET Framework
Disponível desde 1.1
Acesso thread-safe
Quaisquer membros estáticos públicos ( Compartilhado no Visual Basic) desse tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.
Confira Também
ComUnregisterFunctionAttribute
RegisterAssembly
Namespace System.Runtime.InteropServices
Regasm.exe (Ferramenta de Registro de Assembly)
Retornar ao início