ComRegisterFunctionAttribute クラス

定義

アセンブリを COM から使用できるように登録するときに呼び出すメソッドを指定します。これにより、登録処理中にユーザー記述のコードを実行できるようになります。Specifies the method to call when you register an assembly for use from COM; this enables the execution of user-written code during the registration process.

public ref class ComRegisterFunctionAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ComRegisterFunctionAttribute : Attribute
type ComRegisterFunctionAttribute = class
    inherit Attribute
Public NotInheritable Class ComRegisterFunctionAttribute
Inherits Attribute
継承
ComRegisterFunctionAttribute
属性

次の例は、適切なシグネチャを持つメソッドに ComRegisterFunctionAttributeComUnregisterFunctionAttribute を適用する方法を示しています。The following example demonstrates how to apply ComRegisterFunctionAttribute and ComUnregisterFunctionAttribute to methods with the appropriate signature.

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

注釈

この属性をメソッドに適用できます。You can apply this attribute to methods.

ComRegisterFunctionAttribute を使用すると、COM クライアントの要件に合わせて任意の登録コードを追加できます。ComRegisterFunctionAttribute enables you to add arbitrary registration code to accommodate the requirements of COM clients. たとえば、Microsoft.Win32 名前空間の登録機能を使用してレジストリを更新できます。For example, you can update the registry using registration functions from the Microsoft.Win32 namespace. 登録メソッドを指定する場合は、登録解除メソッドに System.Runtime.InteropServices.ComUnregisterFunctionAttribute も適用する必要があります。これにより、登録メソッドで実行された操作が元に戻されます。If you provide a registration method, you should also apply System.Runtime.InteropServices.ComUnregisterFunctionAttribute to an unregistration method, which reverses the operations done in the registration method.

.NET Framework: 共通言語ランタイムは、この属性を含むアセンブリがregasm.exe (アセンブリ登録) ツールを使用して (直接または間接的に) 登録されている場合、または RegistrationServices.RegisterAssembly メソッドを使用してメソッドを呼び出します。.NET Framework: The common language runtime calls the method with this attribute when its containing assembly is registered (directly or indirectly) with the Regasm.exe (Assembly Registration) tool) or through the RegistrationServices.RegisterAssembly method.

.Net Core: 共通言語ランタイムは、含まれているアセンブリの COM ホストがRegSvr32 ツールを介して登録されるときに、この属性を使用してメソッドを呼び出します。.NET Core: The common language runtime calls the method with this attribute when its containing assembly's COM host is registered via the RegSvr32.exe tool.

この属性は、次の特性を持つメソッドにのみ適用できます。This attribute can be applied only to methods that have the following characteristics:

  • スコープ: 任意 (パブリック、プライベートなど)。Scope: Any (public, private, and so on).

  • 型: staticType: static.

  • Parameters: 1 つの Type パラメーターまたは String パラメーターの型を受け取ります。Parameters: Accepts a single Type parameter or a String parameter type.

  • 戻り値の型: voidReturn type: void.

コンストラクター

ComRegisterFunctionAttribute()

ComRegisterFunctionAttribute クラスの新しいインスタンスを初期化します。Initializes a new instance of the ComRegisterFunctionAttribute class.

プロパティ

TypeId

派生クラスで実装されると、この Attribute の一意の識別子を取得します。When implemented in a derived class, gets a unique identifier for this Attribute.

(継承元 Attribute)

メソッド

Equals(Object)

このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。Returns a value that indicates whether this instance is equal to a specified object.

(継承元 Attribute)
GetHashCode()

このインスタンスのハッシュ コードを返します。Returns the hash code for this instance.

(継承元 Attribute)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
IsDefaultAttribute()

派生クラスでオーバーライドされるとき、このインスタンスの値が派生クラスの既定値であるかどうかを示します。When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(継承元 Attribute)
Match(Object)

派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(継承元 Attribute)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

明示的なインターフェイスの実装

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

一連の名前を対応する一連のディスパッチ識別子に割り当てます。Maps a set of names to a corresponding set of dispatch identifiers.

(継承元 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この情報はインターフェイスの型情報の取得に使用できます。Retrieves the type information for an object, which can be used to get the type information for an interface.

(継承元 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(継承元 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。Provides access to properties and methods exposed by an object.

(継承元 Attribute)

適用対象

こちらもご覧ください