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'
}
}
}
}
}