MYSNAPIN입니다.H 및 MYSNAPIN입니다.RGS 파일은 두 번째 페이지에 있는 옵션에 의해 영향을 받는 유일한 파일。
각 인터페이스에 있는 IExtend * 라디오 단추 그룹에서 선택 하는 그 특정 인터페이스를 선언을 추가 합니다 CMySnapInComponent 클래스. 예를 들어, 클래스의 member-wise 초기화에 다음 줄을 추가 IExtendControlbar 인터페이스 선택:
공용 IExtendControlbarImpllt;CMySnapInComponent & gt
그리고 다음 라인을 CMySnapInComponent 의 COM 지도:
COM_INTERFACE_ENTRY(IExtendControlbar)
비슷한 수정 CMySnapInComponent 선택 지 속성 형식에 대 한。
위의 수정 외에 선택한 지 인터페이스의 모든 메서드는 MYSNAPIN에 선언 됩니다.H. 다음 코드를 추가 하는 예를 들어, IPersistStorage 지 속성 형식으로 선택 하는 경우:
STDMETHOD(GetClassID)(CLSID *pClassID)
{
nbsp;? ATLTRACENOTIMPL(_T("CMySnapInComponent::GetClassID"));
}
//additional IPersistStorage 메서드
...
가상 HRESULT STDMETHODCALLTYPE HandsOffStorage()
{
?? ATLTRACENOTIMPL(_T("CMySnapInComponent::HandsOffStorage"));
}(&N)
수정에 대 한 비슷합니다를 CMySnapIn 클래스。
별도 클래스 선언 ISnapInAbout 인터페이스를 선택 하는 경우 ( CMySnapInAbout ), 그리고 표준 메서드 선언。
스냅인은 스냅인 확장 하는 경우는.RGS 파일 마법사에 의해 생성 된 기본값과에서 약간 다릅니다. 특히, 두 부분에 NoRemove MMC 섹션 확장된 스냅인 개체 스냅인 확장 개체가 연관 수정。
예를 들어, 다음 섹션 샘플 기본 스냅인 개체의입니다.RGS 파일:
NoRemove MMC
nbsp;? {
?????? NoRemove Snapins
?????? {
?????????? ForceRemove {ACC4CCCD-8C61-11D1-B017-00C04FB99436} =
?????????? s 'MySnapIn' {
?????????????? 발 NameString = s 'MySnapIn'
?????????????? 발에 대 한 s '{ACC4CCCE-8C61-11D1-B017-00C04FB99436}' =
?????????????? NodeTypes
?????????????? {
?????????????????? {ACC4CCCF-8C61-11D1-B017-00C04FB99436}
?????????????? }
?????????????? 독립 실행형
?????????? }
?????? }
?????? NoRemove NodeTypes
?????? {
?????????? ForceRemove {ACC4CCCF-8C61-11D1-B017-00C04FB99436}
?????????? {
?????????? }
}
?? }(&N)
그러나, 스냅인 확장을 위한 여 NoRemove MMC 섹션 다릅니다:
NoRemove MMC
{
NoRemove Snapins
{
ForceRemove {ACC4CCD5-8C61-11D1-B017-00C04FB99436} =
s 'MySnapInDataExt1'
{
val NameString = s 'MySnapInDataExt1'
val About = s '{ACC4CCD6-8C61-11D1-B017-00C04FB99436}'
}
}
NoRemove NodeTypes
{
NoRemove {}
{
NoRemove Extensions
{
NoRemove PropertySheet
{
val {ACC4CCD5-8C61-11D1-B017-00C04FB99436} =
s 'MySnapInDataExt1'
}
NoRemove ToolBar
{
val {ACC4CCD5-8C61-11D1-B017-00C04FB99436} =
s 'MySnapInDataExt1'
}
}
}
}
}