ComRegisterFunctionAttribute Classe

Définition

Spécifie la méthode à appeler quand vous inscrivez un assembly pour utilisation à partir de COM ; cela permet l'exécution de code écrit par l'utilisateur pendant le processus d'inscription.

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
Héritage
ComRegisterFunctionAttribute
Attributs

Exemples

L’exemple suivant montre comment appliquer ComRegisterFunctionAttribute et ComUnregisterFunctionAttribute à des méthodes avec la signature appropriée.

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

Remarques

Vous pouvez appliquer cet attribut aux méthodes.

ComRegisterFunctionAttribute vous permet d’ajouter du code d’inscription arbitraire pour répondre aux exigences des clients COM. Par exemple, vous pouvez mettre à jour le Registre à l’aide de fonctions d’inscription à partir de l’espace Microsoft.Win32 de noms. Si vous fournissez une méthode d’inscription, vous devez également appliquer System.Runtime.InteropServices.ComUnregisterFunctionAttribute une méthode d’annulation de l’inscription, ce qui inverse les opérations effectuées dans la méthode d’inscription.

.NET Framework : le Common Language Runtime appelle la méthode avec cet attribut lorsque son assembly conteneur est inscrit (directement ou indirectement) avec l’outilRegasm.exe (Inscription d’assembly) ou par le biais de la RegistrationServices.RegisterAssembly méthode.

.NET Core : Le Common Language Runtime appelle la méthode avec cet attribut lorsque son hôte COM d’assembly contenant est inscrit via l’outilRegSvr32.exe.

Cet attribut ne peut être appliqué qu’aux méthodes qui ont les caractéristiques suivantes :

  • Étendue : Tout (public, privé, etc.).

  • Entrez : static.

  • Paramètres : accepte un seul Type paramètre ou un String type de paramètre.

  • Type de retour : void.

Constructeurs

ComRegisterFunctionAttribute()

Initialise une nouvelle instance de la classe ComRegisterFunctionAttribute.

Propriétés

TypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.

(Hérité de Attribute)

Méthodes

Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de Attribute)
GetHashCode()

Retourne le code de hachage de cette instance.

(Hérité de Attribute)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IsDefaultAttribute()

En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée.

(Hérité de Attribute)
Match(Object)

En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

(Hérité de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface.

(Hérité de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

(Hérité de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à

Voir aussi