開発環境 Microsoft Visual C++ 2010 Express (SP1)
実行環境 Microsoft Windows XP Home Edition (SP3)
プロジェクトの種類 Win32 コンソール アプリケーション
プロジェクト名 dxdriver
アプリケーションの種類 コンソール アプリケーション
追加のオプション 空のプロジェクト

参考

dxdriver.cpp
/*
プロジェクトのプロパティにDirectX SDKのディレクトリを追加する。
構成プロパティ/VC++ ディレクトリ 
インクルード ディレクトリ:C:\Program Files\Microsoft DirectX SDK (February 2010)\Include
ライブラリ ディレクトリ:C:\Program Files\Microsoft DirectX SDK (February 2010)\Lib\x86
*/
#pragma comment(lib, "ddraw.lib")
#pragma comment(lib, "dxguid.lib")
 
#include <stdio.h>
#include <ddraw.h>
 
int main()
{
	HRESULT hr;
 
	IDirectDraw7 *pDD = NULL;
	hr = DirectDrawCreateEx(NULL, (LPVOID *)&pDD, IID_IDirectDraw7, NULL);
	if (hr != DD_OK) {
		return 1;
	}
 
	DDDEVICEIDENTIFIER2 dddi = {0};
	hr = pDD->GetDeviceIdentifier(&dddi, 0);
	if (hr != DD_OK) {
		return 1;
	}
 
	printf("DriverName       : %s\n", dddi.szDriver);
	printf("DriverDescription: %s\n", dddi.szDescription);
 
	WORD wProduct		= HIWORD(dddi.liDriverVersion.HighPart);
	WORD wVersion		= LOWORD(dddi.liDriverVersion.HighPart);
	WORD wSubVersion	= HIWORD(dddi.liDriverVersion.LowPart);
	WORD wBuild		= LOWORD(dddi.liDriverVersion.LowPart);
	printf("ProductVer.: %u\n", wProduct);
	printf("Version    : %u\n", wVersion);
	printf("SubVer.    : %u\n", wSubVersion);
	printf("Build#     : %u\n", wBuild);
 
	printf("VendorId   : %u\n", dddi.dwVendorId);
	printf("DeviceId   : %u\n", dddi.dwDeviceId);
	printf("SubSysId   : %u\n", dddi.dwSubSysId);
	printf("Revision   : %u\n", dddi.dwRevision);
	printf("WHQLLevel  : %u\n", dddi.dwWHQLLevel);
 
	pDD->Release();
	return 0;
}
 

出力
DriverName       : nv4_disp.dll
DriverDescription: NVIDIA GeForce 9800 GT
ProductVer.: 0
Version    : 0
SubVer.    : 0
Build#     : 0
VendorId   : 4318
DeviceId   : 1556
SubSysId   : 0
Revision   : 162
WHQLLevel  : 1
最終更新:2012年09月19日 17:43