ATL 2.1, IObjectSafetyImpl Ŭ·¡½º ÄÁÆ®·ÑÀ» ½ºÅ©¸³Æ® »ç¿ë¿¡ ¾ÈÀüÇÑ °ÍÀ¸·Î Ç¥½Ã ÇÕ´Ï´Ù. º¸¾È»óÀÇ ÀÌÀ¯·ÎÀÌ ±âº»°ªÀÌ Á¦°Å µÇ¾ú½À´Ï´Ù, ±×·¡¼ µÎ ¹ø° ÅÛÇø´ ¸Å°³ º¯¼ö¸¦ »ç¿ë ÇÏ ¿© ¾ÈÀü ¿É¼ÇÀ» ¸í½ÃÀûÀ¸·Î ÁöÁ¤ ÇØ¾ß ÇÕ´Ï´Ù. ÀÌÁ¦ COM_INTERFACE_ENTRY_IMPL º¸´Ù´Â ¿ÀÈ÷·Á COM_INTERFACE_ENTRY ¸¦ »ç¿ë ÇÏ ¿©ÀÌ Å¬·¡½º¸¦ ³ëÃâ ÇØ¾ß ÇÕ´Ï´Ù.
ATL 3.0 ÄÄÆÄÀÏ·¯ Å°¿öµå¸¦ »ç¿ë ÇÏ ¿© __uuidof ( Ŭ·¡½º ) ÁÖ¾îÁøµÈ Ŭ·¡½º¿¡ ´ë ÇÑ ÇØ´ç IID¸¦ °¡Á®¿É´Ï´Ù. COM_INTERFACE_ENTRY ¸ÅÅ©·ÎÀÇ º¯°æÀ¸·Î ÀÎÇØ ÀÌÁ¦ ´Ü¼øÈ÷ Æ÷ÇÔ ¶ÇÇÑ ÇØ´ç ÀÎÅÍÆäÀ̽º¿¡ ´ë ÇÑ ÀÏÄ¡ ÇÏ´Â Iid¸¦ Á¤ÀÇ ÇÏ´Â ¶óÀ̺귯¸®¿¡ ¿¬°á ÇÏ´Â ´ë½Å »ç¿ë ÇÏ ¿© ÀÎÅÍÆäÀ̽º¿¡ ´ë ÇÑ Çì´õ. ÀÌ º¯°æ Çì´õ´Â MIDLÀÇ ¿À·¡ µÈ ¹öÀü¿¡ ÀÇÇØ ÀÌÀü¿¡ »ý¼º µÈ ¶Ç´Â ¼ÕÀ¸·Î ÄÚµù µÇ¾ú°í ÀûÀý ÇÏ °Ô Ç¥½Ã µÇÁö ¾ÊÀº °æ¿ì ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
Çì´õÀÇ ÀÎÅÍÆäÀ̽º¿¡ ´ë ÇÑ ¼±¾ðÀº °ü·ÃµÈ __declspec(uuid)À¸·Î Ç¥½Ã ÇÏÁö ¾ÊÀº, __uuidof Å°¿öµå¸¦ »ç¿ë ÇÏ ¿© ÇØ´ç ÀÎÅÍÆäÀ̽º¿¡ ´ë ÇÑ ¸ðµç ½Ãµµ°¡ ½ÇÆÐ ÇÕ´Ï´Ù. ÀÌ »õ·Î¿î µ¿ÀÛÀº ¸ðµç ¹®Á¦¸¦ ÇØ°á ÇÏ·Á¸é ºôµå ¼³Á¤¿¡¼ _ATL_NO_UUIDOF À» Á¤ÀÇ ÇÏ ¿© ÀÌÀü ½ºÅ¸ÀÏ (ATL 2.x) COM_INTERFACE_ENTRY ¸ÅÅ©·Î µÇµ¹¸± ¼ö ÀÖ½À´Ï´Ù.
_ATL_DEBUG_QI ¹× _ATL_DEBUG_REFCOUNT, ATL 2.x¿¡ ¿Ü¿¡ °Å±â¿¡´Â »õ _ATL_DEBUG_INTERFACES, µð¹ö±× ÄܼÖÀº ¸ðµç ÀÎÅÍÆäÀ̽º ´©¼ö ÃßÀû °ÍÀÔ´Ï´Ù ÇÏ´Â ¶§¸¦ °¨Áö _Module.Term
(ÇØ´ç µÇ´Â ¶§ ¼¹ö°¡ Á¾·á) ¶ó°í¡£
Âü°í Ç׸ñ
¸ÅÅ©·Î | ´ñ±Û |
COM_INTERFACE_ENTRY_IMPL | »ç¿ë µÇÁö ¾ÊÀ½. COM_INTERFACE_ENTRY ¹Ù²ß´Ï´Ù¡£ |
COM_INTERFACE_ENTRY_IMPL_IID | »ç¿ë µÇÁö ¾ÊÀ½. COM_INTERFACE_ENTRY_IID ¹Ù²ß´Ï´Ù¡£ |
CHAIN_MSG_MAP_ALT_DYNAMIC | ¿À·¡ µÈ ¹× »èÁ¦¡£ |
BEGIN_PROPERTY_MAP | »ç¿ë µÇÁö ¾ÊÀ½. »õ ¸ÅÅ©·Î ¿¡ ¼³¸í µÈ ´ë·Î »õ ¼Ó¼º ¸Ê ¸ÅÅ©·Î BEGIN_PROP_MAP¸¦ »ç¿ë ÇÏ ¿©¡£ |
END_PROPERTY_MAP | »ç¿ë µÇÁö ¾ÊÀ½. »õ ¸ÅÅ©·Î ¿¡ ¼³¸í µÈ ´ë·Î »õ ¼Ó¼º ¸Ê ¸ÅÅ©·Î END_PROP_MAP¸¦ »ç¿ë ÇÏ ¿©¡£ |