แม่แบบ lt คลาส มีอยู่>
คลาCComCachedTearOffObject :สาธารณะIUnknownสาธารณะCComObjectRootEx < อยู่:: _ThreadModel::ThreadModelNoCS >
พารามิเตอร์
มีอยู่
ของคุณฉีกออกคลาส มาจากCComTearOffObjectBaseและอินเทอร์เฟซคุณต้องการให้วัตถุฉีกออกเพื่อสนับสนุน?
ใช้CComCachedTearOffObject IUnknownสำหรับอินเทอร์เฟซแบบฉีกออก คลาสนี้แตกต่างจากCComTearOffObjectที่CComCachedTearOffObjectมีของตัวเองIUnknownแยกต่างหากจากเจ้าของวัตถุของIUnknown (เจ้าของคือ วัตถุที่ฉีกออกกำลังสร้าง) CComCachedTearOffObjectรักษาตนเองจำนวนการอ้างอิงบนของIUnknownและลบตัวเองเมื่อจำนวนของการอ้างอิงเป็น 0 หมายเหตุ อย่างไรก็ตาม ว่า สอบสำหรับอินเทอร์เฟซของฉีกออกเพิ่มจำนวนการอ้างอิงของเจ้าของวัตถุของIUnknown?
ถ้าวัตถุCComCachedTearOffObjectนำฉีกออกแล้วสร้างอินสแตนซ์ และอินเทอร์เฟซฉีกออกเป็นการสอบถามอีกครั้งสำหรับ คือนำวัตถุCComCachedTearOffObjectเดียวกัน ในทางกลับกัน ถ้าอินเทอร์เฟซการฉีกออกสำหรับการใช้งานโดยCComTearOffObjectคืออีกถูกสอบถามสำหรับผ่านเจ้าของวัตถุ อีกCComTearOffObjectจะถูกสร้างอินสแตนซ์?
เรียนเจ้าของต้องใช้FinalReleaseและโทรออกบนเก็บเป็นแคชไว้IUnknownสำหรับการCComCachedTearOffObjectซึ่งจะลดจำนวนของการอ้างอิง นี้จะทำให้CComCachedTearOffObjectของFinalReleaseการเรียก และลบฉีกออก?
#รวม lt;atlcom.h>
ดูเพิ่มเติมnbspCComTearOffObject, CComObjectRootEx(&N)