생성 된 파일에 대 한 옵션의 효과

MYSNAPIN입니다.H 및 MYSNAPIN입니다.RGS 파일은 두 번째 페이지에 있는 옵션에 의해 영향을 받는 유일한 파일。

MYSNAPIN입니다.H

각 인터페이스에 있는 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 ), 그리고 표준 메서드 선언。

MYSNAPIN입니다.RGS

스냅인은 스냅인 확장 하는 경우는.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'
                    }
                }
            }

        }
    }

Index