ComRegisterFunctionAttribute 클래스
COM에서 사용할 어셈블리를 등록할 때 호출할 메서드를 지정합니다. 이렇게 하면 등록 중에 사용자가 작성한 코드를 실행할 수 있습니다.
네임스페이스: System.Runtime.InteropServices
어셈블리: mscorlib(mscorlib.dll)
구문
‘선언
<ComVisibleAttribute(True)> _
<AttributeUsageAttribute(AttributeTargets.Method, Inherited:=False)> _
Public NotInheritable Class ComRegisterFunctionAttribute
Inherits Attribute
‘사용 방법
Dim instance As ComRegisterFunctionAttribute
[ComVisibleAttribute(true)]
[AttributeUsageAttribute(AttributeTargets.Method, Inherited=false)]
public sealed class ComRegisterFunctionAttribute : Attribute
[ComVisibleAttribute(true)]
[AttributeUsageAttribute(AttributeTargets::Method, Inherited=false)]
public ref class ComRegisterFunctionAttribute sealed : public Attribute
/** @attribute ComVisibleAttribute(true) */
/** @attribute AttributeUsageAttribute(AttributeTargets.Method, Inherited=false) */
public final class ComRegisterFunctionAttribute extends Attribute
ComVisibleAttribute(true)
AttributeUsageAttribute(AttributeTargets.Method, Inherited=false)
public final class ComRegisterFunctionAttribute extends Attribute
설명
이 특성을 메서드에 적용할 수 있습니다.
ComRegisterFunctionAttribute를 사용하면 임의의 등록 코드를 추가하여 COM 클라이언트의 요구 사항을 충족할 수 있습니다. 예를 들어, Microsoft.Win32 네임스페이스의 등록 함수를 사용하여 레지스트리를 업데이트할 수 있습니다. 등록 메서드를 제공할 경우 등록 취소 메서드에도 System.Runtime.InteropServices.ComUnregisterFunctionAttribute를 적용하여 등록 메서드에 이루어진 작업을 취소해야 합니다.
공용 언어 런타임은 직간접적으로 포함하는 어셈블리가 어셈블리 등록 도구(Regasm.exe) 또는 RegistrationServices.RegisterAssembly API 메서드를 통해 등록될 때 이 특성을 갖는 메서드를 호출합니다. 이 특성을 갖는 메서드의 표시 유형은 public, private 등 어떤 것이어도 되지만 static이어야 하고 등록할 형식에 대해 한 개의 Type 매개 변수를 사용해야 합니다.
예제
다음 예제에서는 해당 시그니처가 있는 메서드에 ComRegisterFunctionAttribute 및 ComUnregisterFunctionAttribute를 적용하는 방법을 보여 줍니다.
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 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.
}
}
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.
}
};
import System.*;
import System.Runtime.InteropServices.*;
public class MyClassThatNeedsToRegister
{
/** @attribute ComRegisterFunctionAttribute()
*/
public static void RegisterFunction(Type t)
{
//Insert code here.
} //RegisterFunction
/** @attribute ComUnregisterFunctionAttribute()
*/
public static void UnregisterFunction(Type t)
{
//Insert code here.
} //UnregisterFunction
} //MyClassThatNeedsToRegister
import System;
import System.Runtime.InteropServices;
public class MyClassThatNeedsToRegister
{
ComRegisterFunctionAttribute public static function RegisterFunction(t : Type) : void
{
//Insert code here.
}
ComUnregisterFunctionAttribute public static function UnregisterFunction(t : Type) : void
{
//Insert code here.
}
}
상속 계층 구조
System.Object
System.Attribute
System.Runtime.InteropServices.ComRegisterFunctionAttribute
스레드로부터의 안전성
이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.
플랫폼
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
2.0, 1.1, 1.0에서 지원
참고 항목
참조
ComRegisterFunctionAttribute 멤버
System.Runtime.InteropServices 네임스페이스
ComUnregisterFunctionAttribute
RegisterAssembly