DirectX 9.0 ÀÇ ¼Ò°³ DirectX SDK ÀÇ »ç¿ë¹ý C ¶Ç´Â C++ ¿¡ ÀÇÇÑ DirectX ÇÁ·Î±×·¡¹Ö COM ÀÇ »ç¿ë¹ý C ¿¡ ÀÇÇÑ COM °³Ã¼¿¡ÀÇ ¾×¼¼½º   [¸ñÂ÷¿­¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
C ¿¡ ÀÇÇÑ COM °³Ã¼¿¡ÀÇ ¾×¼¼½º
 
Microsoft DirectX 9.0

C ¿¡ ÀÇÇÑ COM °³Ã¼¿¡ÀÇ ¾×¼¼½º


±¸¼º ¿ä¼Ò °³Ã¼ ¸ðµ¨ (COM) ÇÁ·Î±×·¡¹ÖÀ¸·Î °¡Àå ÀϹÝÀûÀ¸·Î »ç¿ëµÇ°í ÀÖ´Â ¾ð¾î´Â C++ ÀÌÁö¸¸, C ¸¦ »ç¿ëÇØµµ COM °³Ã¼¿¡ ¾×¼¼½º ÇÒ ¼ö ÀÖ´Ù. COM ¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀº, Á¶ÀÛÀº ºñ±³Àû ¾Ë±â ½±Áö¸¸, º¹ÀâÇÑ ±¸¹®ÀÌ ÇÊ¿äÇÏ°Ô µÈ´Ù.

¸ðµç COM °³Ã¼¿¡´Â °¢°¢ vtable °¡ ÀÖ¾î, ÀÌ ¾È¿¡´Â, ±× °³Ã¼°¡ °ø°³ÇÏ´Â ¸Þ¼­µåÀÇ Æ÷ÀÎÅÍ ¸®½ºÆ®°¡ Æ÷ÇԵǾî ÀÖ´Ù. ÀÎÅÍÆäÀ̽º Æ÷ÀÎÅÍ´Â vtable ³»ÀÇ Àå¼Ò¸¦ ³ªÅ¸³»°í ÀÖ´Ù. °Å±â¿¡´Â, ºÒ·Á °£ ¸Þ¼­µåÀÇ Æ÷ÀÎÅͰ¡ ÀúÀå µÇ°í ÀÖ´Ù. ÀÌ ¹®¼­ÀÇ ´Ù¸¥ Àå¼Ò¿¡¼­´Â, vtable ¿¡ ´ëÇØ¼­´Â ¼³¸íµÇÁö ¾Ê´Ù. À̰ÍÀº, C++ ¿¡¼­´Â, vtable ´Â ±âº»ÀûÀ¸·Î ºÒ°¡½ÃÀ̱⠶§¹®¿¡ ÀÖ´Ù. ´Ù¸¸, C ·Î COM ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â °æ¿ì´Â, °£Á¢ È£ÃâÀÇ ·¹º§À» 1 °³ Ãß°¡ÇØ, vtable ¸¦ ¸í½ÃÀûÀ¸·Î ÂüÁ¶ÇÒ Çʿ䰡 ÀÖ´Ù.

´ÙÀ½ ÄÚµå´Â, C++ ¿¡¼­ÀÇ È£ÃâÇØ ±ÔÄ¢À» »ç¿ëÇØ IDirectPlay8Peer::Initialize ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â ¹æ¹ýÀ» ³ªÅ¸³»°í ÀÖ´Ù.

g_pDP->Initialize( NULL, DirectPlayMessageHandler, 0 );

C ·Î °°Àº ¸Þ¼­µå¸¦ È£ÃâÇÏ·Á¸é , ´ÙÀ½ÀÇ ±¸¹®À» »ç¿ëÇÑ´Ù. vtable Æ÷ÀÎÅÍÀÇ À̸§Àº lpVtbl ¿Í Ç¥±âµÈ´Ù.

g_pDP->lpVtbl->Initialize(g_pDP, NULL, DirectPlayMessageHandler, 0);

±¸¼º ¿ä¼Ò¿¡ µû¶ó¼­´Â, Çì´õ ÆÄÀÏ¿¡, È£Ãâ¿ëÀÇ ¿Ã¹Ù¸¥ Ç¥±â·Î º¯È¯ÇÏ´Â ¸ÅÅ©·Î°¡ Á¤Àǵǰí ÀÖ´Â °æ¿ìµµ ÀÖ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸¸ÅÅ©·Î¿¡ ÀÇÇÑ DirectX COM ¸Þ¼­µåÀÇ È£Ã⡹À» ÂüÁ¶ÇÒ°Í.



© 2002 Microsoft Corporation. All rights reserved.
¡èTOP