DirectX 9.0 ÀÇ ¼Ò°³ DirectX SDK ÀÇ »ç¿ë¹ý C ¶Ç´Â C++ ¿¡ ÀÇÇÑ DirectX ÇÁ·Î±×·¡¹Ö COM ÀÇ »ç¿ë¹ý ¸ÅÅ©·Î¿¡ ÀÇÇÑ DirectX COM ¸Þ¼µåÀÇ È£Ãâ [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
Microsoft® DirectX® ±¸¼º ¿ä¼Ò °³Ã¼ ¸ðµ¨ (COM) ÀÎÅÍÆäÀ̽º°¡ ¸¹°Ô´Â, ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î º¸´Ù °£´ÜÇÏ°Ô ¸Þ¼µå¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï(µíÀÌ), °¢ ¸Þ¼µå¿ëÀ¸·Î Á¤ÀÇµÈ ¸ÅÅ©·Î°¡ ÁغñµÇ¾î ÀÖ´Ù. ÀÌ·¯ÇÑ ¸ÅÅ©·Î´Â, ÀÎÅÍÆäÀ̽ºÀÇ ¼±¾ð°ú °°Àº Çì´õ ÆÄÀÏ·Î Á¤Àǵǰí ÀÖ´Ù. ¸ÅÅ©·Î´Â, C ¿Í C++ ÀÇ ¾çÂÊ ¸ðµÎÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖµµ·Ï(µíÀÌ) ¼³°èµÇ°í ÀÖ´Ù. C++ ¸ÅÅ©·Î¸¦ »ç¿ëÇÏ·Á¸é , _cplusplus ¸¦ Á¤ÀÇÇÒ Çʿ䰡 ÀÖ´Ù. À̰ÍÀ» Á¤ÀÇÇÏÁö ¾Ê´Â °æ¿ì´Â, C ¸ÅÅ©·Î°¡ »ç¿ëµÈ´Ù. ¸ÅÅ©·ÎÀÇ ±¸¹®Àº ¾î´À ÂÊÀÇ ¾ð¾î¿¡¼µµ °°Áö¸¸, Çì´õ ÆÄÀÏ¿¡ Æ÷ÇԵǴ ÀÏ·ÃÀÇ ¸ÅÅ©·Î Á¤ÀÇ´Â ´Þ¶ó, °¢°¢ÀÇ ÀûÀýÇÑ È£Ãâ Ç¥±â¿¡ ¸ÂÃß¾î È®ÀåµÇ°í ÀÖ´Ù.
¿¹¸¦ µé¾î, d3d.h Çì´õ ÆÄÀϳ»ÀÇ ´ÙÀ½ Äڵ忡¼´Â,IDirect3D9::GetAdapterIdentifier ¸Þ¼µå¿¡ ´ëÇÑ C ¿Í C++ ¾çÂÊ ¸ðµÎÀÇ ¸ÅÅ©·Î°¡ Á¤Àǵǰí ÀÖ´Ù.
... #define IDirect3D9_GetAdapterIdentifier(p, a, b, c) (p) ->lpVtbl->GetAdapterIdentifier(p, a, b, c) ... #else ... #define IDirect3D9_GetAdapterIdentifier(p, a, b, c) (p) ->GetAdapterIdentifier(a, b, c) ... #endif
ÀÌ·¯ÇÑ ¸ÅÅ©·ÎÀÇ ¾î´ÀÂÊÀ̵çÀ» »ç¿ëÇÏ·Á¸é , ¿ì¼±, °ü·ÃÁöÀ» ¼ö ÀÖ´Â ÀÎÅÍÆäÀ̽ºÀÇ Æ÷ÀÎÅ͸¦ ¾ò¾î¿Ã Çʿ䰡 ÀÖ´Ù. ¸ÅÅ©·ÎÀÇ ÃÖÃÊÀÇ ÆÄ¶ó¹ÌÅÍ¿¡, ÀÌ Æ÷ÀÎÅ͸¦ ¼³Á¤ÇÑ´Ù. ±× ¿ÜÀÇ ÆÄ¶ó¹ÌÅÍ´Â, ¸Þ¼µåÀÇ ÆÄ¶ó¹ÌÅÍ¿¡ ¸Ê µÈ´Ù. ¸ÅÅ©·ÎÀÇ ¹Ýȯ°ªÀº, ¸Þ¼µå°¡ µ¹·ÁÁÖ´Â HRESULT °ªÀÌ´Ù. ´ÙÀ½ ÄÚµå´Â, ¸ÅÅ©·Î¸¦ »ç¿ëÇØ IDirect3D9::GetAdapterIdentifier ¸Þ¼µå¸¦ È£ÃâÇϰí ÀÖ´Ù. ¿©±â¼,pD3D ´Â,IDirect3D9 ÀÎÅÍÆäÀ̽ºÀÇ Æ÷ÀÎÅ͸¦ ³ªÅ¸³½´Ù.
hr = IDirect3D9_GetAdapterIdentifier(pD3D,
Adapter,
dwFlags,
pIdentifier);