คลา CComClassFactory: IClassFactory สาธารณะ
สาธารณะ CComObjectRootExlt CComGlobalsThreadModel & gt;
CComClassFactoryใช้ IClassFactoryเฟส ซึ่งประกอบด้วยวิธีการสร้างวัตถุของ CLSID เฉพาะ ตลอดจนการล็อกโรงงานคลาสในหน่วยความจำเพื่อให้วัตถุใหม่จะถูกสร้างขึ้นอย่างรวดเร็ว IClassFactoryต้องนำมาใช้สำหรับทุกคลาสที่คุณลงทะเบียน ในรีจิสทรีของระบบ และ ไปที่คุณกำหนดให้กับ CLSID?
ATL วัตถุโดยปกติซื้อโรงงานคลาส โดยมาจากCComCoClass คลาสนี้มีแมโคDECLARE_CLASSFACTORYซึ่งประกาศCComClassFactoryเป็นโรงงานเริ่มต้นคลา การ แทนที่ค่าเริ่มต้นนี้ ระบุแมโคXXX DECLARE_CLASSFACTORYหนึ่งในคำจำกัดความของคลาส ตัวอย่างเช่น แมโคDECLARE_CLASSFACTORY_EXใช้คลาสที่ระบุสำหรับโรงงานคลาส:
คลา CMyClass:..., CComCoClasslt สาธารณะ ... >
{
สาธารณะ:
DECLARE_CLASSFACTORY_EX(CMyClassFactory)
...
}
คลาสนิยามข้างต้นระบุว่าCMyClassFactoryจะถูกใช้เป็นโรงงานคลาสเริ่มต้นของวัตถุนั้น ต้องการสืบทอดมาจากCComClassFactoryและแทนที่CreateInstance CMyClassFactory?
ATL ให้สามรอื่น ๆ ที่ประกาศโรงงานคลาส:
#รวม lt;atlcom.h>
ดูเพิ่มเติมnbspCComObjectRootEx, CComGlobalsThreadModel(&N)