COM_INTERFACE_ENTRY ¸ÅÅ©·Î

QueryInterface¿¡ ÀÇÇØ ¾×¼¼½ºÇÒ ¼ö ÀÖµµ·ÏÀÌ ¸ÅÅ©·Î COM Áöµµ·Î °³Ã¼ÀÇ ÀÎÅÍÆäÀ̽º¸¦ ÀÔ·Â ÇÕ´Ï´Ù. COM ¸Ê¿¡ Ç׸ñÀÇ ¼ø¼­´Â ÁÖ¹® ÀÎÅÍÆäÀ̽º´Â ÀÏÄ¡ ÇÏ´Â IID ¿¡ ´ë ÇÑ QueryInterface µ¿¾È °Ë»ç µË´Ï´Ù.

QueryInterface ¸¦ ÅëÇØ ÀÚ»çÀÇ ÀÎÅÍÆäÀ̽º¸¦ ³ëÃâ ÇÏ °í ½Í¾î ÇÏ´Â °¢ °³Ã¼¿¡´Â ÀÚü COM ¸ÊÀÌ ÀÖ¾î¾ß ÇÕ´Ï´Ù. COM ¸Ê BEGIN_COM_MAP¸ÅÅ©·Î ÇÔ²² ½ÃÀÛ µË´Ï´Ù. COM_INTERFACE_ENTRY ¸ÅÅ©·Î Çϳª ÀÌ»óÀÇ ÀÎÅÍÆäÀ̽º Ç׸ñ Ãß°¡ ÇÏ °í Áöµµ END_COM_MAP ¸ÅÅ©·Î ÇÔ²² ¿Ï·á µË´Ï´Ù. ¿¹¸¦ µé¾î:

BEGIN_COM_MAP(CMyObject)
 nbsp;? COM_INTERFACE_ENTRY(IDispatch)
 ?? COM_INTERFACE_ENTRY(IMyObject)
END_COM_MAP)(&N)

ATL ÂüÁ¶ COMMAP »ùÇà ¿¹Á¦ COMÀÇ ´Ù¸¥ Á¾·ù¸¦ »ç¿ë ÇÏ ¿© ¸ÅÇÎÇÒ Ç׸ñ ¸ÅÅ©·Î ´ë ÇÑ¡£

Âü°í COM Áöµµ¿¡¼­ ù ¹øÂ° Ç׸ñ COM ¸ÊÀ» Æ÷ÇÔ ÇÏ´Â °³Ã¼¿¡ ÀÎÅÍÆäÀ̽º À̾î¾ß ÇÕ´Ï´Ù. COM_INTERFACE_ENTRY_CHAIN,ÀÌ ½ÃÁ¡¿¡¼­ °Ë»öÇÒ ´Ù¸¥ °³Ã¼ÀÇ COM ¸ÊÀ» ÇÔ²² COM ¸Ê Ç׸ñÀ» ½ÃÀÛÇÒ ¼ö ¾ø½À´Ï´Ù µû¶ó¼­, ¾îµð COM_INTERFACE_ENTRY_CHAIN (COtherObject) °³Ã¼ÀÇ COM ¸ÊÀ»¿¡ ³ªÅ¸³³´Ï´Ù. ´Ù¸¥ °³Ã¼ÀÇ COM ¸ÊÀ» ¸ÕÀú °Ë»ö, ±ÍÇÏÀÇ COM ¸Ê¿¡ IUnknown ¿¡ ´ë ÇÑ ÀÎÅÍÆäÀ̽º Ç׸ñÀ» Ãß°¡ ÇÏ·Á´Â °æ¿ì ´ÙÀ½ ´Ù¸¥ °³Ã¼ÀÇ COM ¸ÊÀ» üÀÎ. ¿¹¸¦ µé¾î:

BEGIN_COM_MAP(CThisObject)
 nbsp; COM_INTERFACE_ENTRY(IUnknown)
 ? COM_INTERFACE_ENTRY_CHAIN(COtherObject)
END_COM_MAP)(&N)

ÁÖÀÇ nbsp; ATL ¹öÀü 3.0À¸·ÎÀÇ ÄÄÆÄÀÏ·¯ Ű¿öµå¸¦ »ç¿ë __uuidof ( Ŭ·¡½º ) ÁÖ¾îÁøµÈ Ŭ·¡½º¿¡ ´ë ÇÑ ÇØ´ç IID¸¦ °¡Á®¿É´Ï´Ù. ¹öÀü 3.0¿¡¼­¿¡¼­ È¿°úÀûÀÎ COM_INTERFACE_ENTRY ¸ÅÅ©·ÎÀÇ º¯°æÀ¸·Î ÀÎÇØ ÀÌÁ¦ ´Ü¼øÈ÷ Æ÷ÇÔ ¶ÇÇÑ ÇØ´ç ÀÎÅÍÆäÀ̽º¿¡ ´ë ÇÑ ÀÏÄ¡ ÇÏ´Â Iid¸¦ Á¤ÀÇ ÇÏ´Â ¶óÀ̺귯¸®¿¡ ¿¬°á ÇÏ´Â ´ë½Å »ç¿ë ÇÏ ¿© ÀÎÅÍÆäÀ̽º¿¡ ´ë ÇÑ Çì´õ. ÀÌ º¯°æ Çì´õ´Â MIDLÀÇ ÀÌÀü ¹öÀü¿¡¼­ ÀÌÀü¿¡ »ý¼º µÈ ¶Ç´Â ¼ÕÀ¸·Î ÄÚµù µÇ¾ú°í ÀûÀý ÇÏ °Ô Ç¥½Ã µÇÁö ¾ÊÀº °æ¿ì ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. Çì´õÀÇ ÀÎÅÍÆäÀ̽º¿¡ ´ë ÇÑ ¼±¾ðÀ» Ç¥½Ã ÇÏÁö ¾ÊÀº °æ¿ì´Â °ü·Ã µÈ __declspec ( uuid )´ÙÀ½ ÇØ´ç ÀÎÅÍÆäÀ̽º ½ÇÆÐ¿¡ ´ë ÇÑ __uuidof Ű¿öµå¸¦ »ç¿ë ÇÏ·Á°í ÇÕ´Ï´Ù. ÀÌ »õ·Î¿î µ¿ÀÛÀº ¸ðµç ¹®Á¦¸¦ ÇØ°á ÇÏ·Á¸é ºôµå ¼³Á¤¿¡¼­ _ATL_NO_UUIDOF À» Á¤ÀÇ ÇÏ ¿© ÀÌÀü (ATL 2.x) COM_INTERFACE_ENTRY ¸ÅÅ©·Î µÇµ¹¸± ¼ö ÀÖ½À´Ï´Ù(&N).

´ÙÀ½Àº »ç¿ë °¡´ÉÇÑ Ç׸ñ ¸ÅÅ©·Î:

COM ¸Ê ¿£Æ®¸® ¸ÅÅ©·Î

COM_INTERFACE_ENTRY
COM_INTERFACE_ENTRY_IID
COM_INTERFACE_ENTRY2
COM_INTERFACE_ENTRY2_IID
COM_INTERFACE_ENTRY_FUNC
COM_INTERFACE_ENTRY_FUNC_BLIND
COM_INTERFACE_ENTRY_TEAR_OFF
COM_INTERFACE_ENTRY_CACHED_TEAR_OFF
COM_INTERFACE_ENTRY_AGGREGATE
COM_INTERFACE_ENTRY_AGGREGATE_BLIND
COM_INTERFACE_ENTRY_AUTOAGGREGATE
COM_INTERFACE_ENTRY_AUTOAGGREGATE_BLIND
COM_INTERFACE_ENTRY_CHAIN
COM_INTERFACE_ENTRY_BREAK
COM_INTERFACE_ENTRY_NOINTERFACE

ATL ¸ÅÅ©·Î ¹× Àü¿ª ÇÔ¼ö

Index