cComClassFactory Ŭ·¡½º: °ø¿ë IClassFactory
°ø¿ë CComObjectRootExlt; CComGlobalsThreadModel & gt;
±¸Çö ÇÏ´Â CComClassFactory ´Â ¸Þ¼µå°¡ ƯÁ¤ CLSIDÀÇ °³Ã¼¸¦ ¸¸µé±â À§ÇÑ »õ·Î¿î °³Ã¼¸¦ º¸´Ù ºü¸£°Ô ¸¸µé ¼ö ÀÖµµ·Ï ¸Þ¸ð¸®¿¡ Ŭ·¡½º ÆÑÅ͸®¸¦ Àá±ÝÀ» Æ÷ÇÔ ÇÏ´Â IClassFactory ÀÎÅÍÆäÀ̽º¸¦ ÇÕ´Ï´Ù. IClassFactory ½Ã½ºÅÛ ·¹Áö½ºÆ®¸® ¹× CLSID ÇÒ´ç ÇÏ´Â µî·Ï ÇÏ´Â ¸ðµç Ŭ·¡½º¿¡ ´ë ÇÑ ±¸Çö ÇÕ´Ï´Ù.
ÀϹÝÀûÀ¸·Î ATL °³Ã¼´Â CComCoClass¿¡¼ ÆÄ»ý Ŭ·¡½º ÆÑÅ͸®¸¦ Ãëµæ ÇÕ´Ï´Ù. ÀÌ Å¬·¡½º´Â DECLARE_CLASSFACTORY, CComClassFactory ±âº» Ŭ·¡½º ÆÑÅ͸®·Î ¼±¾ð ÇÏ´Â ¸ÅÅ©·Î Æ÷ÇÔ ÇÕ´Ï´Ù. Ŭ·¡½º Á¤ÀÇ¿¡¼ DECLARE_CLASSFACTORYXXX ¸ÅÅ©·Î Áß Çϳª¸¦ ÁöÁ¤ ÇÏ °í,ÀÌ ±âº»°ªÀ» ÀçÁ¤ÀÇ ÇÕ´Ï´Ù. DECLARE_CLASSFACTORY_EX ¸ÅÅ©·Î Ŭ·¡½º °øÀå¿¡ ´ë ÇÑ ÁöÁ¤µÈ µÈ Ŭ·¡½º¸¦ »ç¿ë ÇÏ´Â ¿¹¸¦ µé¾î,:
Ŭ·¡½º CMyClass:..., °ø°ø CComCoClasslt; ... >
{
°ø°³:
? DECLARE_CLASSFACTORY_EX(CMyClassFactory)
...
}
À§ÀÇ Å¬·¡½º Á¤ÀÇ ÁöÁ¤ CMyClassFactory °³Ã¼ÀÇ ±âº» Ŭ·¡½º ÆÑÅ͸®·Î »ç¿ë µÉ °ÍÀÔ´Ï´Ù. CMyClassFactory ´Â CComClassFactory ¿¡¼ ÆÄ»ý ÇÏ °í CreateInstance ¸¦ ÀçÁ¤ÀÇ ÇØ¾ß ÇÕ´Ï´Ù.
ATL Ŭ·¡½º °øÀåÀ» ¼±¾ð ÇÏ´Â ¼¼ °¡Áö ´Ù¸¥ ¸ÅÅ©·Î Á¦°ø:
# include lt;atlcom.h>
Âü°í Ç׸ñnbsp;CComObjectRootEx, CComGlobalsThreadModel(&N)