ลักษณะพิเศษของตัวเลือกในแฟ้มสร้างขึ้น

MYSNAPINH และ MYSNAPINRGS ได้รับผลกระทบจากตัวเลือกบนหน้าสองแฟ้มเท่านั้น?

MYSNAPINH

แต่ละเฟส จากIExtend *วิทยุกลุ่มปุ่ม ที่มีการตรวจสอบเพิ่มการประกาศของอินเทอร์เฟซที่เฉพาะเจาะจงไป CMySnapInComponent คลา ตัวอย่าง การเลือกอินเทอร์เฟซสำหรับIExtendControlbarเพิ่มบรรทัดต่อไปนี้เพื่อเริ่มต้นคลา member-wise:

สาธารณะ IExtendControlbarImplltCMySnapInComponent & gt

และบรรทัดต่อไปนี้เพื่อ CMySnapInComponent ของ แผนที่ COM:

COM_INTERFACE_ENTRY(IExtendControlbar)

การปรับเปลี่ยนที่คล้ายคลึงกัน CMySnapInComponent สำหรับชนิดของการเก็บรักษาที่เลือก?

นอกจากการแก้ไขข้างต้น วิธีการทั้งหมดของอินเทอร์เฟซการเก็บรักษาที่เลือกที่จะประกาศใน MYSNAPINH.ตัวอย่าง เพิ่มรหัสต่อไปนี้หากคุณเลือกIPersistStorageเป็นชนิดของการเก็บรักษา:

STDMETHOD(GetClassID)(CLSID *pClassID)
{
 nbsp  ATLTRACENOTIMPL(_T("CMySnapInComponent::GetClassID"))
}

วิธี IPersistStorage //additional
...

เสมือน hresult ใน STDMETHODCALLTYPE HandsOffStorage()
{
    ATLTRACENOTIMPL(_T("CMySnapInComponent::HandsOffStorage"))
}(&N)

การปรับเปลี่ยนของคุณจะเหมือนกันสำหรับการ CMySnapIn คลาส?

ถ้ามีเลือกอินเทอร์เฟซสำหรับISnapInAboutถูกประกาศคลาสแยกต่างหาก ( CMySnapInAbout ), และมีประกาศวิธีการมาตรฐาน?

MYSNAPINRGS

ถ้า snap-in ใน รูปนาม snap-in ในสกุล อยู่RGS แฟ้มที่สร้างขึ้น โดยตัวช่วยสร้างจะแตกต่างจากค่าเริ่มต้นเล็กน้อย โดยเฉพาะ สอง portions ใน NoRemove MMC ส่วนจะถูกปรับเปลี่ยนการเชื่อมโยงวัตถุสแนปอินส่วนขยาย ด้วยการขยาย snap-in ในวัตถุ?

ตัวอย่าง ตัวอย่างส่วนต่อไปนี้ได้จากการเริ่มต้นสแน็ปอินของวัตถุแฟ้ม RGS:

NoRemove MMC
 nbsp  {
        NoRemove Snapins
        {
            ForceRemove {ACC4CCCD-8C61-11D1-B017-00C04FB99436 } =
            'MySnapIn' s {
                val NameString = 'MySnapIn' s
                val เกี่ยวกับ = '{ACC4CCCE-8C61-11D1-B017-00C04FB99436 }' s
                NodeTypes
                {
                    {ACC4CCCF-8C61-11D1-B017-00C04FB99436 }
                }
                StandAlone
            }
        }
        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