ComRegisterFunctionAttribute Classe

Definição

Especifica o método a ser chamado quando você registra um assembly para uso do COM; isso permite a execução de código escrito pelo usuário durante o processo de registro.

public ref class ComRegisterFunctionAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)]
public sealed class ComRegisterFunctionAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ComRegisterFunctionAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)>]
type ComRegisterFunctionAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ComRegisterFunctionAttribute = class
    inherit Attribute
Public NotInheritable Class ComRegisterFunctionAttribute
Inherits Attribute
Herança
ComRegisterFunctionAttribute
Atributos

Exemplos

O exemplo a seguir demonstra como aplicar ComRegisterFunctionAttribute e ComUnregisterFunctionAttribute aos métodos com a assinatura apropriada.

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.
   }

};
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.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

Comentários

Você pode aplicar esse atributo a métodos.

ComRegisterFunctionAttribute permite adicionar código de registro arbitrário para acomodar os requisitos dos clientes COM. Por exemplo, você pode atualizar o registro usando funções de registro do namespace Microsoft.Win32. Se você fornecer um método de registro, também deverá aplicar System.Runtime.InteropServices.ComUnregisterFunctionAttribute a um método de cancelamento de registro, o que inverte as operações feitas no método de registro.

.NET Framework: O common language runtime chama o método com esse atributo quando seu assembly independente é registrado (direta ou indiretamente) com a ferramenta Regasm.exe (Registro de Assembly) ou por meio do método RegistrationServices.RegisterAssembly.

.NET Core: O common language runtime chama o método com esse atributo quando o host COM do assembly está registrado por meio da ferramenta RegSvr32.exe.

Esse atributo só pode ser aplicado a métodos que têm as seguintes características:

  • Escopo: Qualquer (público, privado e assim por diante).

  • Tipo: static.

  • Parâmetros: aceita um único Type parâmetro ou um tipo de String parâmetro.

  • Tipo de retorno: void.

Construtores

Nome Description
ComRegisterFunctionAttribute()

Inicializa uma nova instância da classe ComRegisterFunctionAttribute.

Propriedades

Nome Description
TypeId

Quando implementado em uma classe derivada, obtém um identificador exclusivo para esse Attribute.

(Herdado de Attribute)

Métodos

Nome Description
Equals(Object)

Retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Devolve o código hash para esta instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
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)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
_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 de um objeto, que podem ser usadas para obter as informações de tipo de 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)

Aplica-se a

Confira também