天天看点

HMONITOR

error C2061: syntax error : identifier 'HMONITOR'
 
     在使用播放库SDK时,尝试获取显卡和监视器的信息时,需要用到函数PLAYM4_API BOOL __stdcall PlayM4_GetDDrawDeviceInfo(DWORD nDeviceNum,LPSTR  lpDriverDescription,DWORD nDespLen,LPSTR lpDriverName ,DWORD nNameLen,HMONITOR *hhMonitor);
     我在编译时遇到了以下错误:
     error C2061: syntax error : identifier 'HMONITOR'
     google了一下,发现问题在WINVER上。
#if (WINVER > 0x0400) 
//注意: 
// 支持多显卡的这些函数,建议在Win2000及以后版本使用; 
// WINVER定义在"Windows.h"里,标志windows版本号。 
// 在VC6.0自带的"windows.h"中,WINVER 被定义为 0x0400(表示NT4.0)。 
// 而Windows2000及以后版本实际版本号应该大于0x0400,如果要保持定义 
// 和实际版本相同,请下载安装Microsoft 最新的Platform sdk 
// (http://www.microsoft.com/msdownload/platformsdk/sdkupdate/)并设置 
// 并设置新安装的sdk为最先包含的路径; 
// 
// 当WINVER>0x0400 时HMONITOR 定义在"Windef.h"里.否则定义在"MULTIMON.H"; 
// 而实际上如果包含了"MULTIMON.H",可能会出现Link错误。如果要使用HMONITOR这个 
// 数据类型,应该保证WINVER>0x0400(如果不想安装最新SDK,作为一个不提倡的办法, 
// 可以自定义WINVER 在你的STDAFX.H头文件中)。 /// 
//初始化显示设备 HIK_PLAYM4_API BOOL __stdcall Hik_PlayM4_InitDDrawDevice(); 
//释放显示设备 HIK_PLAYM4_API void __stdcall Hik_PlayM4_ReleaseDDrawDevice(); 
//获得系统中总的显示设备数目; HIK_PLAYM4_API DWORD __stdcall Hik_PlayM4_GetDDrawDeviceTotalNums(); 
//设置使用的显卡 HIK_PLAYM4_API BOOL __stdcall Hik_PlayM4_SetDDrawDevice(LONG nPort,DWORD nDeviceNum); 
//得到显卡和显示器信息; HIK_PLAYM4_API BOOL __stdcall Hik_PlayM4_GetDDrawDeviceInfo(DWORD nDeviceNum,LPSTR lpDriverDescription,DWORD nDespLen,LPSTR lpDriverName ,DWORD nNameLen,HMONITOR *hhMonitor); 
 
一种不提倡的办法是在stdafx.h中
#define WINVER 0x0510