templatelt คลาส สิทธิ์การใช้งาน>
คลา CComClassFactory2: CComClassFactory2Base สาธารณะสิทธิ์การใช้งาน
พารามิเตอร์
สิทธิ์การใช้งาน
คลาสที่ใช้ฟังก์ชันแบบคงต่อไปนี้:
CComClassFactory2ใช้ IClassFactory2เฟส ซึ่งเป็นส่วนขยายของ IClassFactory IClassFactory2การควบคุมวัตถุสร้างผ่านสิทธิ์การใช้งาน ในคลาสโรงงานดำเนินบนเครื่องรับอนุญาตสามารถให้คีย์สิทธิ์การใช้งานของเวลาทำงาน คีย์สิทธิ์การใช้งานนี้ช่วยให้โปรแกรมประยุกต์เพื่อสร้างอินสแตนซ์ของวัตถุเมื่อไม่มีสิทธิ์การใช้งานเครื่องจักรเต็มรูปแบบ?
ATL วัตถุโดยปกติซื้อโรงงานคลาส โดยมาจากCComCoClass คลาสนี้มีแมโคDECLARE_CLASSFACTORYซึ่งประกาศCComClassFactoryเป็นโรงงานเริ่มต้นคลา การใช้CComClassFactory2ระบุแมโคDECLARE_CLASSFACTORY2ในข้อกำหนดของวัตถุของคลาส ตัวอย่างเช่น:
คลา CMyClass:..., CComCoClasslt สาธารณะ ... >
{
สาธารณะ:
DECLARE_CLASSFACTORY2(CMyLicense)
...
}
CMyLicenseพารามิเตอร์เป็นแม่CComClassFactory2ต้องใช้ฟังก์ชันแบบ static VerifyLicenseKey, GetLicenseKeyและIsLicenseValid ต่อไปนี้เป็นตัวอย่างของคลาวิสิทธิ์การใช้งาน:
คลาส CMyLicense
{
ได้รับการป้องกัน:
nbsp แบบ static BOOL VerifyLicenseKey(BSTR bstr)
{
USES_CONVERSION
กลับ! lstrcmp(OLE2T(bstr), _T ("My ขณะใช้งานคีย์ลิขสิทธิ์"));
}
แบบ static BOOL GetLicenseKey(DWORD dwReserved, BSTR* pBstr) {
USES_CONVERSION
* pBstr = SysAllocString (T2OLE (_T ("My ขณะใช้งานคีย์ลิขสิทธิ์")));
ส่งกลับ TRUE
}
แบบ static BOOL IsLicenseValid() {คืน TRUE; }
}(&N)
CComClassFactory2มาจากทั้งCComClassFactory2Baseและสิทธิ์การใช้งาน CComClassFactory2Baseตามลำดับ มาจากIClassFactory2และCComObjectRootExlt CComGlobalsThreadModel >?
#รวม lt;atlcom.h>
ดูเพิ่มเติมnbspCComClassFactoryAutoThread, CComClassFactorySingleton, CComObjectRootEx, CComGlobalsThreadModel(&N)