DirectX 9.0 ÀÇ ¼Ò°³ DirectX SDK ÀÇ »ç¿ë¹ý C ¶Ç´Â C++ ¿¡ ÀÇÇÑ DirectX ÇÁ·Î±×·¡¹Ö ¹öÁ¯ üũ [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
¾ÖÇø®ÄÉÀ̼ǿ¡¼´Â, ½Ã½ºÅÛÀ¸·Î ÇöÀç ÀÌ¿ë °¡´ÉÇÑ Microsoft® DirectX® ÀÇ ¹öÀü Á¤º¸°¡ ÇÊ¿äÇÏ°Ô µÇ´Â °æ¿ì°¡ ÀÖ´Ù. ¿¹¸¦ µé¾î, ½Ã½ºÅÛ¿¡ ³°Àº ¹öÀüÀÇ DirectX °¡ Á¸ÀçÇÏ´Â °æ¿ì, ¾ÖÇø®ÄÉÀ̼ÇÀº ±× ¹öÀü¿¡ ±â´ÉÀÇ ¹üÀ§¸¦ ¸ÂÃß´ÂÁö, ÃÖ½ÅÀÇ ¹öÀüÀ» ÀνºÅç ÇÒ Çʿ䰡 »ý±â´Â ÀÏÀÌ ÀÖ´Ù.
DirectX 9.0 ¿¡¼´Â, ´ÙÀ½ÀÇ ¿ÀÆÛ·¹ÀÌÆÃ(operating)¡¤½Ã½ºÅÛÀ» Áö¿ø Çϰí ÀÖ´Ù. Ç¥´Â, °¢ ¿ÀÆÛ·¹ÀÌÆÃ(operating)¡¤½Ã½ºÅÛ¿¡ ºÎ¼ÓµÇ´Â DirectX ÀÇ ¹öÀüÀ» ³ªÅ¸³»°í ÀÖ´Ù.
| operating system | DirectX ÀÇ ¹öÀü |
|---|---|
| Microsoft Windows® 98 Gold | DirectX 5.2 |
| Windows 98 SE | DirectX 6.1a |
| Windows 2000 | DirectX 7.0 |
| Windows Millennium Edition (Windows Me) | DirectX 7.1 |
| Windows XP | DirectX 8.1 |
DirectX ÀÇ ¹öÀü ¹øÈ£¸¦ Á÷Á¢ ¾ò¾î¿À´Â ¹æ¹ýÀº ¾ø´Ù. ´Ù¸¸, °¢ ¹öÀüÀº, °íÀ¯ÀÇ °³Ã¼ ¹× ÀÎÅÍÆäÀ̽º¸¦ Æ÷ÇÔÇϰí ÀÖ´Ù. DirectX ÀÇ ¸ðµç ¹öÀüÀº, ÀÌÀüÀÇ ¸ðµç ¹öÀüÀ» Áö¿ø Çϰí ÀÖ´Ù. ÀÌ ¶§¹®¿¡, ƯÁ¤ÀÇ ¹öÀü °íÀ¯ÀÇ ÀÎÅÍÆäÀ̽º ¹× °³Ã¼´Â, ±×°ÍµéÀ» µµÀÔÇÑ ¹öÀü°ú ¸ðµç ÈÄ¼Ó ¹öÀüÀ¸·Î Áö¿ø µÈ´Ù. µû¶ó¼, ÇÊ¿äÇÑ ¹öÀüÀÌ ÀÌ¿ë °¡´ÉÇѰ¡ ¾î¶²°¡¸¦ Á¶»çÇÏ·Á¸é , ±× ¹öÀü °íÀ¯ÀÇ °³Ã¼ ¶Ç´Â ÀÎÅÍÆäÀ̽º°¡ Á¸ÀçÇÒÁö ¾î¶³Áö¸¦ Å×½ºÆ® ÇÑ´Ù. ±×·¯ÇÑ °³Ã¼ ¶Ç´Â ÀÎÅÍÆäÀ̽º°¡ Á¸ÀçÇÏ´Â ÇÑ, ±×°Íº¸´Ù »õ·Î¿î ¹öÀüÀÇ DirectX ¸¦ »ç¿ëÇϰí À־, ¾ÖÇø®ÄÉÀ̼ÇÀº Á¤»óÀûÀ¸·Î ±â´ÉÇÑ´Ù.
¿¹¸¦ µé¾î, DirectX 6.1 ÀÇ Áö¿øÀÌ ÇÊ¿äÇÏ´Ù¶ó°í ÇÑ´Ù. Microsoft DirectMusic® °³Ã¼ (CLSID_DirectMusic)´Â, DirectX 6.1 À¸·ÎºÎÅÍ µµÀÔµÈ °³Ã¼ÀÌ´Ù. DirectMusic °³Ã¼ÀÇ Á¸Àç´Â,CoCreateInstance ¸¦ »ç¿ëÇØ ÀÌ °³Ã¼ÀÇ »ý¼ºÀ» ½ÃµµÇÏ´Â °ÍÀ¸·Î Å×½ºÆ®ÇÒ ¼ö ÀÖ´Ù. ¼º°øÇßÀ» °æ¿ì´Â, ¹öÀü 6.1 ÀÌÈİ¡ ÀνºÅç µÇ°í ÀÖÀ¸¹Ç·Î, DirectX 6.1 ÀÇ ¸ðµç ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
¿©±â¿¡¼´Â, °¢ ¹öÀü °íÀ¯ÀÇ ÀÎÅÍÆäÀ̽º ¹× °³Ã¼ÀÇ »ó¼¼ÇÑ ¸®½ºÆ®´Â °¡¸®Å°Áö ¾Ê±â ¶§¹®¿¡, DirectX ¼ÒÇÁÆ®¿þ¾î °³¹ß Ŷ (SDK)ÀÇ »ùÇÃÀÇ ¼½¼ÇÀ» ÂüÁ¶ÇÒ°Í. »ùÇÃÀÇ 1 °³ÀÇ GetDXVersion ¶ó°í ÇÏ´Â ÇÔ¼ö¿¡´Â, DirectX ÀÇ ¸ðµç ¹öÀü¿¡ °üÇÑ Å×½ºÆ®°¡ Æ÷ÇԵǾî ÀÖ´Ù. GetDXVersion ´Â, ±× ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏ´Â DirectX ÀÇ ¹öÀü¿¡ ´ëÀÀÇÏ´Â Á¤¼ö¸¦ µ¹·ÁÁØ´Ù. ÀÌ Á¤¼ö°¡ ÇÊ¿äÇÑ ¹öÀüÀÇ ¹øÈ£¿Í °°Àº°¡, ±×°Íº¸´Ù Å©¸é, ¾ÖÇø®ÄÉÀ̼ÇÀº Á¤»óÀûÀ¸·Î µ¿ÀÛÇÑ´Ù. »ùÇà ÄÚµå´Â, SDK ÀÇ ·çÆ® Æú´õÀÇ \Samples\Multimedia\DXMisc\GetDXVer ¿¡ ÀÖ´Ù.
¾ÖÇø®ÄÉÀ̼ǿ¡¼´Â, DirectX ÀÇ ¹öÀü »Ó¸¸ÀÌ ¾Æ´Ï¶ó, ±×°ÍÀÌ ½ÇÇàµÇ°í ÀÖ´Â operating system³ª ÀνºÅç µÇ°í ÀÖ´Â ¼ºñ½º ÆÑÀÇ Á¤º¸°¡ ÇÊ¿äÇÏ°Ô µÇ´Â °æ¿ì°¡ ÀÖ´Ù. operating systemÀÇ ¹öÀüÀ» Á¶»çÇÏ·Á¸é , Windows ÇÔ¼öÀÇ GetVersionEx ¸¦ »ç¿ëÇϸé ÁÁ´Ù. ÀÌ ÇÔ¼ö´Â, ´ÙÀ½ÀÇ °¢Á¾ Á¤º¸¸¦ Æ÷ÇÔÇÑ OSVERSIONINFO ±¸Á¶Ã¼¸¦ µ¹·ÁÁØ´Ù.
¾ÖÇø®ÄÉÀ̼ÇÀÌ ´ëÀÀÇϰí ÀÖ´Â °¡Àå ³°Àº operating system¿¡ ´ëÇØ Á¶»çÇÏ´Â °ÍÀÌ ÀϹÝÀûÀÌ´Ù. ±× ¹öÀü ÀÌÈİ¡ ÀνºÅç µÇ°í ÀÖÀ¸¸é, ÀνºÅç ÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀº Á¤»óÀûÀ¸·Î ½ÇÇàµÈ´Ù.
´ÙÀ½ »ùÇà ÇÔ¼ö´Â,GetVersionEx ¸¦ »ç¿ëÇØ operating systemÀÇ ¹öÀüÀ» Å×½ºÆ®ÇÏ´Â ¹æ¹ýÀ» ³ªÅ¸³»°í ÀÖ´Ù. ÀνºÅç µÇ°í ÀÖ´Â ¹öÀüÀÌ ÆÄ¶ó¹ÌÅÍ ¸®½ºÆ®·Î ÁöÁ¤µÇ°í ÀÖ´Â ¹öÀü ÀÌÈÄÀ̸é, ÇÔ¼ö´Â TRUE ¸¦ µ¹·ÁÁØ´Ù. ÀÌ °æ¿ì, ÀνºÅç ÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀº Á¤»óÀûÀ¸·Î ½ÇÇàµÈ´Ù. ±× ÀÌ¿ÜÀÇ °æ¿ì, ÇÔ¼ö´Â FALSE ¸¦ µ¹·ÁÁØ´Ù. À̰ÍÀº, ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀνºÅç ÇØµµ ¿Ã¹Ù¸£°Ô ½ÇÇàµÇÁö ¾Ê´Â °ÍÀ» ÀǹÌÇÑ´Ù.
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
BOOL bIsWindowsVersionOK(DWORD dwWin9xMajor,
DWORD dwWin9xMinor,
DWORD dwWinNTMajor,
DWORD dwWinNTMinor,
WORD wWinNTSPMajor )
{
OSVERSIONINFO osvi;
// Initialize the OSVERSIONINFO structure.
ZeroMemory( &osvi, sizeof( osvi ) );
osvi.dwOSVersionInfoSize = sizeof( osvi );
GetVersionEx( &osvi ); // Assume this function succeeds.
// Split code paths for NT and Windows 9x
if( osvi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS )
{
// Check the major version.
if( osvi.dwMajorVersion > dwWin9xMajor )
return TRUE;
else if( osvi.dwMajorVersion == dwWin9xMajor )
{
// Check the minor version.
if( osvi.dwMinorVersion >= dwWin9xMinor )
return TRUE;
}
}
else if( osvi.dwPlatformId == VER_PLATFORM_WIN32_NT )
{
// Check the major version.
if( osvi.dwMajorVersion > dwWinNTMajor )
return TRUE;
else if( osvi.dwMajorVersion == dwWinNTMajor )
{
// Check the minor version.
if( osvi.dwMinorVersion > dwWinNTMinor )
return TRUE;
else if( osvi.dwMinorVersion == dwWinNTMinor )
{
// Check the service pack.
DWORD dwServicePack = 0;
if( osvi.szCSDVersion )
{
_stscanf(osvi.szCSDVersion,
_T("Service Pack %d"),
&dwServicePack );
}
return ( dwServicePack >= wWinNTSPMajor );
}
}
}
return FALSE;
}