다음을 통해 공유


Windows Vista 개발자를 위한 정보: DirectX 호환성

Microsoft Corporation

2007년 1월

적용   대상 : Microsoft Visual Studio 2005

요약 : Windows Vista 개발자를 위한 정보 (영문)에서는 Microsoft Windows Vista에 포함된 새롭고 확장된 기능에 대한 깊이 있는 내용에 관심이 있는 개발자, 기타 기술 전문가 및 관리자를 위한 내용을 다루고 있습니다. 이 정보는 Windows Vista 개발자 센터 (영문)에 간단한 기사 형식으로 약 2주에 한 번씩 게시됩니다. 이러한 기사는 여기에서 다운로드 가능한 Windows 도움말 파일(영문)을 요약한 것입니다.

참고 : 이 기사에 대한 의견은 Vistadev@microsoft.com으로 전자 메일을 보내 주십시오.소개

Microsoft Windows Vista 플랫폼에서 빠르고 원활하게 실행되는 응용 프로그램을 개발하려면 Microsoft DirectX 개발에 관련된 몇 가지 최상의 방법과 문제점들을 알아 두어야 합니다. 이러한 사항의 상당수는 Windows Vista 개발에 대한 일반적인 접근 방법을 나타내는데, 일관성 있는 Windows Vista 사용자 환경을 제공하기 위해 반드시 기억해야 할 중요한 사항입니다.

목차

Direct3D 사용 Direct3D 사용
응용 프로그램 검증 도구 사용 응용 프로그램 검증 도구 사용
게임 설정 인식 게임 설정 인식
64비트 호환성 제공 64비트 호환성 제공
긴 파일 이름 사용 긴 파일 이름 사용
동시 사용자 세션 지원 동시 사용자 세션 지원
설치 문제 방지 설치 문제 방지
올바른 버전 확인 올바른 버전 확인
Windows 오류 보고 활용 Windows 오류 보고 활용
Xbox 360 컨트롤러 및 주변 장치 지원 Xbox 360 컨트롤러 및 주변 장치 지원
게임 탐색기 통합 개발 게임 탐색기 통합 개발
기타 유용한 링크 기타 유용한 링크

Direct3D 사용

Windows Vista에서 강력한 3D 렌더링이 필요한 응용 프로그램은 Direct3D를 사용하여 개발해야 합니다. Windows Vista의 핵심 그래픽 아키텍처는 GPU(Graphics Processing Unit)에 직접 액세스하는 가장 빠르고 안정적인 방법인 Direct3D를 중심으로 설계되었습니다. Direct3D 10은 최신의 그래픽 혁신 기술과 성능 최적화를 제공합니다. 이전 버전을 사용하여 새 응용 프로그램을 개발하는 경우 최소 권장 버전은 Direct3D 9입니다. 레거시 인터페이스(Direct3D 9 이전)도 지원되지만 이 경우 최신 인터페이스가 제공하는 기능 및 성능 이점을 이용하지 못할 수 있습니다.

개발자는 Windows Server 2003 R2 Platform SDK의 Depends.exe 도구를 사용하여 응용 프로그램이 어떤 DirectX 버전을 사용하고 있는지 확인할 수 있습니다. Windows Server 2003 R2 Platform SDK는 여기 (영문)에서 다운로드할 수 있습니다.

응용 프로그램 검증 도구 사용

응용 프로그램 검증 도구를 사용하면 응용 프로그램에서 예외, 힙, 잠금, 메모리 오류, 로컬 스레드 저장 오류, 위험한 API 사용 및 손상된 스택과 같은 많은 일반적인 오류를 찾아낼 수 있습니다. 또한 올바른 파일 경로를 확인하고 서명이 필요한 드라이버 식별하며 버전을 유지 관리하는 데 도움이 됩니다.

응용 프로그램에서 모든 오류를 제거하여 응용 프로그램 검증 도구의 모든 테스트를 통과할 수 있다면 Windows Vista 호환성을 확보하기 위한 중요한 단계를 마친 것입니다.

응용 프로그램 검증 도구는 Microsoft 다운로드 센터에서 받을 수 있습니다.

게임 설정 인식

개발자가 Windows Vista에서 게임 설정을 결정할 때 향상된 해상도를 지원하기 위해 따라야 할 몇 가지 최상의 방법이 있습니다.

PC 시장에서 와이드스크린 및 HDTV 사용이 점차 증가하고 있으므로 게임도 이러한 새 미디어에 맞는 가로 세로 비율과 해상도를 지원해야 합니다. 다음은 지원해야 할 가로 세로 비율 및 각 비율의 최저 화면 해상도입니다.

가로 세로 비율

최저 화면 해상도

4:3(일반 화면)

800 × 600

16:9(와이드스크린)

1280 × 720

16:10(와이드스크린)

1152 × 720

게임 응용 프로그램을 처음 시작할 때 사용자 디스플레이의 기본 가로 세로 비율 및 해상도를 감지해야 합니다.

다음 코드는 바탕 화면의 가로 세로 비율 및 화면 해상도를 검색하는 방법을 보여 줍니다. 이는 모니터의 가로 세로 비율 및 호환 해상도를 파악하는 가장 확실한 방법입니다.

C++

bool success = false;
//displayDevice는 장치 이름을 얻기 위해 사용됨
DISPLAY_DEVICE displayDevice;
displayDevice.cb = sizeof(DISPLAY_DEVICE);
WCHAR strDeviceName[256] = {0};
//장치 인덱스. 이 코드는 첫 번째 모니터만 찾음
DWORD devIndex = 0; 
success = EnumDisplayDevices(0,devIndex,&displayDevice,0);
//올바른 장치인지 확인
if (displayDevice.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP)
{
   StringCchCopy( strDeviceName, 256, displayDevice.DeviceName );
   //devMode는 모니터 설정을 가져옴
   DEVMODE devMode;
   devMode.dmSize = sizeof(DEVMODE);
   success = EnumDisplaySettings( strDeviceName, 
ENUM_REGISTRY_SETTINGS, &devMode );
   float fDesktopAspectRatio = devMode.dmPelsWidth / 
(float)devMode.dmPelsHeight;
}

DXUT를 사용하는 프로젝트는 DXUTGetDesktopResolution 함수를 사용하여 바탕 화면에 대한 정보를 검색할 수 있습니다.

사용자가 게임 설정을 변경할 때마다 Windows Vista에서 사용자에게 변경을 확인하는 메시지를 표시하고 이 메시지에 대한 응답이 없을 경우 게임 설정을 원래대로 되돌리도록 프로그래밍하는 것이 최선의 방법입니다.

64비트 호환성 제공

Windows Vista와 함께 64비트 프로세서의 사용도 폭발적으로 증가할 것으로 예상됩니다. AMD와 Intel 모두 64비트 다중 코어 CPU 개발에 집중하고 있으므로. 개발자도 응용 프로그램이 64비트 버전의 Windows Vista에서 실행되도록 해야 합니다.

DirectX 응용 프로그램 및 해당 설치 프로그램이 16비트 코드를 포함하거나 16비트 구성 요소를 사용하지 않도록 하십시오. 게임에서 미들웨어 또는 드라이버를 사용한다면 이러한 미들웨어나 드라이버가 64비트 프로세서와 호환되는지 확인하십시오. 또한 PC에 장착된 RAM이 2GB를 초과하는 경우에도 응용 프로그램이 문제 없이 작동하는지 확인해야 합니다.

Windows Vista 64비트와 호환되는 응용 프로그램 작성에 대한 자세한 내용은 "The Windows Vista Developer Story: Application Compatibility Cookbook (영문)" 기사의 "Windows Vista 64-Bit (영문)" 섹션을 참조하십시오.

긴 파일 이름 사용

사용자 정보 저장을 지원하는 Windows Vista용 게임을 개발하는 경우 긴 파일 이름을 지원하도록 해야 합니다. Windows Vista에서 게임을 즐기는 사용자는 이 기능에 익숙해져 파일 이름 필드에 긴 파일 이름을 입력하게 될 수 있습니다. 게임에서 공간이 너무 협소한 내부 변수를 할당할 우려가 있으며 이는 "버퍼 오버런" 버그의 원인이 될 수 있습니다.

또한 사용자 이름을 길게 입력하는 경우에도 게임이 올바르게 작동하도록 해야 합니다. Windows Vista에서는 사용자 이름 및 경로를 최대 260자까지 입력할 수 있습니다.

또한 사용자가 게임 데이터를 입력할 때 특수 기호나 유니코드 텍스트를 사용하는 경우에도 게임이 올바르게 작동하는지 확인해야 합니다.

동시 사용자 세션 지원

Windows Vista에서는 동시 사용자 세션, 빠른 사용자 전환과 같은 기능을 통해 공유 PC 환경을 활성화시키고 있습니다. 사용자들은 오류, 충돌 또는 장애 없이 동시 세션을 실행할 수 있습니다. Windows Vista의 DirectX 응용 프로그램은 아키텍처 문제로 인해 불가능한 경우가 아니라면 여러 세션을 허용해야 합니다. 응용 프로그램을 동시에 실행할 수 없는 경우에는 최소한 오류가 발생하기 전이나 사용자가 다른 세션을 시작하려고 시도하기 전에 이러한 사실을 알려야 합니다. 여러 세션을 지원하는 응용 프로그램은 빠른 사용자 전환도 지원해야 합니다.

동시 사용자 세션의 충돌 문제를 방지하려면 응용 프로그램에 전역적으로 명명된 OS 또는 커널 개체를 사용하지 않아야 합니다. 예를 들어 명명된 Mutex 또는 공유 파이프의 생성 및 유지 관리 기능을 사용하는 게임은 다른 사용자가 다른 사용자 세션에서 동일한 프로그램을 시작하면 오류를 일으킬 수 있습니다. 전역적으로 명명된 개체 사용을 피하는 것이 중요한 또 한 가지 이유는 표준 사용자 컨텍스트에서 실행 중인 응용 프로그램은 전역적으로 명명된 개체를 만들 수 없다는 점입니다. 이러한 개체가 필요한 응용 프로그램은 더 높은 사용 권한이 필요하므로 표준 사용자에서 상위 사용자로 변경하도록 요구하게 됩니다.

실행하는 동안 음악 또는 음향 효과를 계속하여 재생하는 응용 프로그램이나 게임에서 중요하게 고려해야 할 또 다른 사항은 다른 사용자가 활성 상태인 경우 소리를 꺼야 한다는 점입니다.

개발자는 응용 프로그램을 시작할 때 **GetSystemMetrics(SM_REMOTESESSION)**를 호출하여 해당 응용 프로그램이 원격 세션에서 시작되었는지 테스트할 수 있습니다. 0이 아닌 값은 세션이 원격임을 나타냅니다.

자세한 내용은 Platform SDK: Application Compatibility Guide의 "Test Your Application with Fast User Switching (영문)" 기사를 참조하십시오.

설치 문제 방지

Windows Vista는 소프트웨어를 더 쉽고 빠르게 설치할 수 있도록 설계되었습니다. 개발자는 여러 가지 최상의 방법을 구현하여 새 DirectX 응용 프로그램을 설치하는 Windows Vista 사용자에게 더 나은 환경을 제공할 수 있습니다.

가장 먼저 고려해야 할 사항은 설치 과정의 일부로 항상 자동 실행을 지원해야 한다는 점입니다. DirectX 응용 프로그램이 포함된 미디어를 컴퓨터에 처음으로 삽입하면 자동 실행 스크립트가 실행되어 설치 과정을 시작해야 합니다. 응용 프로그램 설치가 여러 장의 디스크를 사용하여 진행되는 경우 다음 디스크 삽입 메시지를 자동으로 표시하고 드라이브에 게임 플레이 디스크가 삽입되어 있는 상태에서 설치 과정을 종료하도록 합니다. 일반적으로 사용자가 디스크를 바꾸어 넣는 횟수를 최소화해야 합니다.

사용자 시스템의 DirectX를 업데이트하려면 DirectX 재배포 가능 파일 및 DirectSetup 파일을 미디어에 추가하십시오.

설치 후에 미디어를 삽입하면 자동 실행을 통해 게임 또는 구성 설정이 시작되어야 합니다. 설치 프로그램에서 게임을 시작하는 경우 표준 사용자로 이 과정을 테스트하여 권한을 높이지 않아도 되는지 확인하십시오. 게임은 항상 권한이 높은 사용자(관리자)가 아닌 표준 사용자 컨텍스트에서 시작되어야 합니다.

설치 과정 자체는 가능한 한 쉽게 만드십시오. 상식적인 선에서 판단하면 됩니다. 불필요하거나 중복되는 질문은 넣지 말고 사용자가 세 번 이하의 클릭으로 진행할 수 있는 자동화된 기본 설치 옵션을 제공하십시오. 고급 설치를 위한 사용자 지정 설치 옵션을 제공하고 하드 드라이브에 데이터를 복사하느라 시간이 지연되지 않게 해야 합니다. 시간이 오래 걸리는 데이터 복사를 옵션으로 둘 수 있는 부분을 고려하십시오. 게임 진행 중 나오는 동영상은 미디어를 사용하여 스트리밍할 수 있습니다. 게임 유휴 시간 동안 백그라운드로 데이터 복사를 수행하는 방법도 있습니다.

설치 과정에서 불필요한 재부팅은 피하십시오. 잦은 재부팅은 아무 도움이 되지 않으므로 구성 요소 설치 후 재부팅을 당연한 일로 여기지 마십시오. 설치 과정에서 재부팅이 요구되는 경우에는 반드시 필요한지 확인하십시오. 설치 도중 시스템을 다시 시작하는 주요 이유는 실행 중인 응용 프로그램 또는 서비스에서 업데이트해야 할 일부 파일을 사용하고 있기 때문입니다. Windows Vista에서는 다시 시작 관리자라는 새로운 기능을 제공합니다. 다시 시작 관리자는 중요 시스템 서비스를 제외한 모든 항목을 종료하고 다시 시작하여 사용 중인 파일을 해제할 수 있습니다. 이렇게 하면 설치 과정에서 시스템 전체를 다시 시작하지 않아도 사용 중인 파일에 액세스할 수 있습니다. 설치 프로그램은 사용 중인 파일, PID(프로세스 ID) 또는 Windows 서비스의 짧은 이름을 기반으로 다시 시작 관리자에게 지시하여 응용 프로그램이나 서비스를 종료하고 다시 시작할 수 있습니다.

다시 시작 관리자에 대한 자세한 내용은 Windows SDK 설명서의 "Restart Manager" 섹션을 참조하십시오.

게임을 설치할 때 상승된 권한 또는 관리자 권한이 필요하여 사용자 권한을 변경해야 할 경우가 많으므로 DirectX 응용 프로그램은 설치와는 별도로 사용자별 작업을 먼저 수행해야 합니다.

게임 파일은 기본적으로 Program Files의 적절한 디렉터리에 설치되어야 합니다. 일반적으로 ‘회사 이름’ 폴더 안에 ‘게임 이름’ 폴더를 생성합니다. 모든 프로그램 파일은 ‘게임 이름’ 폴더 안에 있어야 합니다. Program Files 디렉터리의 위치가 C:\Program Files가 아닐 수도 있습니다.

저장된 게임, 사용자 프로필과 같은 사용자 파일은 적절한 사용자 디렉터리에 저장되어야 합니다.

설치된 모든 EXE 및 DLL 파일은 Authenticode 인증서로 서명되어야 하며 설치된 모든 드라이버에는 WHQL 또는 DRS 서명이 있어야 합니다. 이러한 요구 사항은 보안 위험의 원인이 되는 변조를 방지하고 게임 탐색기, 자녀 보호 및 Windows 오류 보고에 필요합니다. 서명되지 않은 드라이버는 Windows Vista에서 로드되지 않을 수 있습니다. 파일 속성에서 인증서 정보를 확인하거나 Signtool.exe를 "verify /a /v" 옵션과 함께 사용하여 올바른 인증서인지 확인하십시오.

Authenticode 서명에 대한 자세한 내용은 Windows SDK의 "Authenticode Signing for Game Developers"를 참조하십시오.

Windows Vista에서는 제어판의 프로그램 항목을 통해서만 프로그램을 제거할 수 있습니다. 프로그램을 제거하는 경우 설치된 파일 및 설정이 모두 제거되는지 확인하십시오. 설정에는 레지스트리 설정 및 방화벽 설정이 포함됩니다. 또한 저장된 게임과 같이 사용자가 만든 파일을 삭제하기 전에 확인 메시지를 표시해야 합니다.

Windows Vista에서 DirectX 게임을 위한 설치 과정 개발의 목표는 사용자에게 콘솔 게임과 최대한 근접한 환경을 제공하는 것입니다. 즉, 사용자가 불필요한 시간 낭비 없이 게임을 즐길 수 있도록 설치 과정을 가능한 한 간결하고 쉽게 만들어야 합니다.

올바른 버전 확인

Windows Vista용 DirectX 응용 프로그램을 개발하는 경우 몇 가지 버전 확인 문제가 발생할 수 있으므로 프로그래머가 이에 대해 파악하고 있어야 합니다. 이러한 문제는 운영 체제, DirectX, 파일 버전 확인이라는 세 가지 기본 범주로 분류됩니다.

예전에는 레지스트리 키를 읽어 운영 체제 버전을 확인하는 게임도 있었지만 지금은 응용 프로그램에서 운영 체제의 현재 버전을 확인하려면 GetVersionEx와 같은 버전 확인 API를 사용해야 합니다.

또한 운영 체제의 버전을 확인하는 게임 내 코드는 이후 OS 버전이 높아질 수 있는 가능성을 감안해야 합니다. 즉, OS 버전이 높아져도 사용자는 게임을 계속 즐길 수 있어야 합니다.

다음은 GetVersionEx를 사용하여 운영 체제의 버전이 Windows Vista 이상인지 확인하는 코드입니다.

C++

OSVERSIONINFO OSVer;
OSVer.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
BOOL bIsWindowsVistaOrLater;
if(GetVersionEx(&OSVer))
{
   bIsWindowsVistaOrLater = (OSVer.dwMayorVersion >=6);
}

DirectX로 개발된 응용 프로그램은 어떤 버전의 DirectX에서 실행될지 명시적으로 확인하지 말아야 합니다. 예전에는 DirectX 버전을 가정하는 게임 코드로 인해 설치가 실패하기도 했습니다. Windows Vista에서는 일부 응용 프로그램이 설치 시 읽었던 DirectX 버전 번호가 이전 Windows 운영 체제 릴리스와 다르게 변경되었습니다.

DirectX 설치를 사용하여 사용자 컴퓨터에 DirectX를 구성하십시오. 이렇게 하면 Microsoft에서 제공한 코드가 필요한 버전 업데이트를 수행하고 기타 필요한 DirectX SDK 구성 요소를 검색하거나 설치할 수 있습니다. 버전 확인을 잘못할 경우 원래 호환되는 게임이 실행되지 않을 수 있습니다. DirectX 설치는 사용자가 DirectX 파일을 업데이트해야 하는지 여부를 확인하므로 설치 시에 항상 DirectX 설치를 실행하십시오(/silent 모드 사용 권장). DirectX 설치 구성에 대한 자세한 내용은 DirectX 9 설명서의 "Installing DirectX with DirectSetup (영문)"을 참조하십시오.

Windows Vista에서 설치 시에는 모든 파일의 최신 버전이 설치되는지 확인해야 합니다. 설치 중에 공유 파일 및 시스템 파일이 이전 버전으로 돌아가면 안 됩니다. 공유 및 시스템 구성 요소의 버전 번호는 기능을 확장하거나 보안 문제를 수정한 버전이 릴리스되면서 업데이트되는 경우가 많습니다. 이러한 파일을 덮어쓸 경우 해당 기능이 손상되고 수정된 보안 취약점이 다시 발생하게 됩니다.

Windows 오류 보고 활용

Windows Vista의 WER(Windows 오류 보고)은 표준화된 오류 보고를 생성하기 위한 메커니즘입니다. 응용 프로그램에서 오류가 발생하면 WER이 하드웨어, 소프트웨어 및 오류 상황에 대한 정보를 수집한 후 Windows 오류 보고 서비스로 보고서를 보냅니다. 개발자는 이후에 Windows Quality Online Services(Winqual) 사이트 (영문)를 통해 이 정보에 액세스할 수 있습니다. 또한 개발자는 오류가 발생한 시점에 일반적인 오류에 대한 해결책을 사용자에게 제공할 수도 있습니다.

WER을 활용하려면 DirectX 개발자는 다음과 같은 몇 가지 팁을 기억해 두어야 합니다.

  • 응용 프로그램에서 오류가 발생하면 이를 숨기지 마십시오. 처리되지 않은 예외는 Windows Vista에서 자동으로 보고됩니다. 응용 프로그램에서 예외가 폭넓게 처리되는 경우 예기치 못한 오류 조건으로 인해 발생하는 예외는 운영 체제 수준에 이르지 못하게 되고, 따라서 사용자가 이 문제를 처리하지 못할 수 있습니다. 몰론 응용 프로그램에 처리되지 않은 예외에 대한 사용자 지정 예외 처리기를 추가하여 사용자 지정 지원 및 복구를 수행할 수 있지만 이 경우 오류 정보를 ReportFault API에 전달해야 합니다.

  • 응용 프로그램에 포함된 제품 이름, 회사 이름 및 파일 버전은 정확해야 합니다. 이렇게 해야 WER 보고서가 정확하게 일치합니다.

  • 정상적인 상태에서 게임을 종료하면 알 수 없는 예외 오류가 발생하지 않아야 합니다.

    Windows 오류 보고는 기본적으로 전체 사용자층을 테스터로 활용하여 소프트웨어의 품질을 높이고 지원 비용을 줄일 수 있는 강력한 도구입니다.

자세한 내용 및 구현 세부 사항은 Windows SDK 설명서의 Windows Error Reporting 항목을 참조하십시오. 또한 DirectX 9 설명서에서 DirectX SDK 기사 "Crash Dump Analysis (영문)"를 참조하십시오.

Xbox 360 컨트롤러 및 주변 장치 지원

Windows Vista 응용 프로그램은 XInput API를 통해 Xbox 360 컨트롤러를 손쉽게 지원할 수 있습니다. XInput은 Windows Vista와 Xbox에서 동일한 API이며, Xbox로 게임을 이식하거나 Xbox 게임을 Windows Vista로 이식할 때 컨트롤러 코딩이 효율적으로 처리되므로 개발 시간이 단축됩니다. 또한 XInput의 표준화된 특성 덕분에 Xbox 360 컨트롤러를 지원하는 응용 프로그램은 향후 다른 컨트롤러 주변 장치도 지원할 수 있습니다. 여러분의 DirectX 응용 프로그램이 컨트롤러를 지원한다면 Xbox 360 컨트롤러에 대한 지원을 추가하는 방안도 고려해 보십시오.

이러한 이점을 최대한 활용하려면 개발자는 다음과 같은 부분을 유념해야 합니다.

  • 사용자가 컨트롤러를 사용하여 응용 프로그램의 모든 기능에 액세스할 수 있어야 합니다. 여기에는 게임 내 메뉴를 이동하면서 항목을 선택하고 캐릭터 및 저장된 게임에 대한 이름을 선택하고 설정에 액세스하는 기능이 포함됩니다.

  • 응용 프로그램이 실행되고 있는 상태에서 사용자가 컨트롤러를 추가 또는 제거하는 경우 프로그램에서 이를 적절히 처리해야 합니다.

  • 널리 사용되는 표준 단추 구성을 사용하십시오.

  • 컨트롤러의 진동 기능이 사용되는 경우 게임이 일시 중지되면 진동 기능도 해제되도록 하십시오.

  • 단추 또는 눌러야 할 키에 대해 설명하는 텍스트 자습서나 화면 힌트가 게임에서 제공된다면 이러한 텍스트 문자열이나 이미지는 현재 사용 중인 컨트롤러 또는 입력 장치를 올바르게 표시해야 합니다.

  • 자세한 내용은 DirectX SDK 설명서의 XInput 섹션을 참조하십시오.

게임 탐색기 통합 개발

게임 탐색기는 Windows Vista의 새로운 게임 관련 기능입니다. 내 문서 또는 내 그림 폴더와 비슷한 게임 탐색기는 컴퓨터에 설치된 모든 게임 콘텐츠와 활동을 중앙화 및 표준화하므로 구성이 간편합니다. 모든 게임 정보를 한곳에 저장하므로 강력한 검색, 게임 구성, 게임 문서 정리, 게임 저장, 패치 등 상황에 맞는 작업을 수행할 수 있습니다. 게이머는 게임 탐색기를 사용하여 중앙화된 한 지점에서 설치된 모든 게임을 보고 구성하고 수정하고 조작할 수 있습니다.

게임은 EXE 또는 DLL 이진 파일 내에 미리 보기 이미지와 함께 GDF(Game Definition File)를 리소스로 내장하여 게임 탐색기에 넣을 정보를 추가할 수 있습니다. GDF 파일은 DirectX SDK에 제공되는 GDFMaker 도구를 사용하여 만든 다음 게임 탐색기에 등록할 수 있습니다.

게임은 Windows Vista에 설치될 때 바탕 화면, 시작 메뉴를 포함하여 다른 위치에는 바로 가기를 만들면 안 됩니다. 하지만 Windows XP 및 그 이전 Windows 운영 체제 릴리스에서는 계속 바로 가기를 만듭니다.

제거 프로그램은 제어판의 프로그램 항목을 통해서만 사용할 수 있어야 합니다.

자세한 내용은 DirectX SDK 설명서의 "Windows Game Explorer Integration (영문)" 또는 Windows SDK의 "Windows Vista Game Explorer (영문)"를 참조하십시오.

자녀 보호 기능 지원

개발자가 활용할 수 있는 게임 탐색기의 또 다른 기능은 자녀 보호 기능입니다. 게임은 자체 GDF(Game Definition File)에 ESRB, PEGI 또는 기타 등급 체계에 따른 등급 및 설명자를 포함해야 합니다. 자녀 보호 기능에서는 모든 주요 등급 체계를 지원합니다. 사용자 설정이 게임의 등급 또는 설명자를 충족하지 않을 경우 해당 게임을 실행할 수 없어야 합니다. 게임의 기본 시작 설정이 표준 사용자 모드로 실행하도록 지정되어 있지 않으면 사용자가 자녀 보호 기능을 다시 정의할 수 있으므로 게임이 정상 상황에서 표준 사용자로 실행 가능한지 확인해야 합니다.

사용자가 자녀 보호 기준을 충족하지 않을 경우 시작을 방지하기 위해 Windows Vista에서 게임 실행 시 VerifyAccess를 호출해야 합니다. VerifyAccess가 false를 반환하면 게임을 종료하거나 설치를 중단한 후 이에 대한 이유를 설명하는 적절한 메시지를 사용자에게 제공하십시오.

부모는 자녀 보호 기능을 사용하여 자녀의 게임 활동을 통제할 수 있습니다.

추가 정보

GDF(Game Definition File)에 대한 자세한 내용은 "Integrating with Windows Game Explorer (영문)" 기사를 참조하십시오. 표준 사용자로 시작하는 경우에 게임이 호환되도록 만드는 방법에 대한 자세한 내용은 "Gaming with Least-Privileged User Accounts (영문)"를 참조하십시오.

기타 유용한 링크

Windows 관련 유용한 정보 문서 (영문)

Windows Vista SDK 기술 문서

사용자 계정 제어를 위한 지침 (영문)

Windows Installer 정보 (영문)

Windows Quality Online Services (Winqual) Developer Portal (영문)