在使用一些新版本的API,或者控件的新特性(比如新版的ComCtl32.dll)的时候,你可能会得到“error C2065: undeclared identifier.“这个错误。原因是这些功能是依赖于你的操作系统的版本的。而你的头文件中的定义并不是最新的。(对于MFC,就是stdafx.h)下面详细列举了每个Windows版本对应的NTDDI_VERSION,_WIN32_WINNT,WINVER,_WIN32_IE这些宏。
The following table describes the preferred macros in use by the Windows header files.
Minimum system required Macros to define
Windows Server 2008 NTDDI_VERSION >= NTDDI_LONGHORN
Windows Vista NTDDI_VERSION >= NTDDI_VISTA
Windows Server 2003 SP1