MYSNAPIN。H と MYSNAPIN。RGS 2 番目のページのオプションの影響を受ける唯一のファイルです。
各インターフェイス チェック、 IExtend ※ラジオ ボタン グループから、追加した特定のインターフェイスを宣言、 CMySnapInComponent クラス。たとえば、 IExtendControlbarインターフェイスを選択する次の行をクラスの member-wise の初期化を追加します。:
公共の IExtendControlbarImpllt;CMySnapInComponent & gt
次の行に CMySnapInComponent の COM マップ:
COM_INTERFACE_ENTRY(IExtendControlbar)
似ている変更に CMySnapInComponent の選択の永続化の種類。
上記の変更のほかには、選択、永続性インターフェイスのすべてのメソッド MYSNAPIN で宣言されます。, 次のコードの追加例えば、 IPersistStorage永続化の種類として選択した場合:
STDMETHOD(GetClassID)(CLSID *pClassID){特価;ATLTRACENOTIMPL(_T("CMySnapInComponent::GetClassID"));}//additional IPersistStorage メソッド...仮想 HRESULT STDMETHODCALLTYPE HandsOffStorage(){ATLTRACENOTIMPL(_T("CMySnapInComponent::HandsOffStorage"));}(&N)
変更が似ている、 CMySnapIn クラス。
ISnapInAboutインターフェイスが選択されている場合は、別のクラスが宣言されている ( CMySnapInAbout )、標準のメソッド宣言。
場合は、スナップイン、スナップイン拡張機能は。ウィザードによって生成された RGS ファイルは、デフォルトから若干異なります。具体的には、2 つの部分で、 NoRemove MMC セクションを変更して、拡張スナップイン オブジェクトのスナップイン拡張オブジェクトを関連付けるには。
たとえば、次のセクションのサンプルは既定スナップイン オブジェクトからのです。RGS ファイル:
NoRemove MMC特価;{NoRemove スナップイン{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'
}
}
}
}
}