windows.h中的WINVER和_WIN32_WINNT警卫怎么了?
发布时间:2020-12-14 04:06:41 所属栏目:Windows 来源:网络整理
导读:在 Using the Windows Headers,Microsoft声称_WIN32_WINNT和NTDDI_VERSION可用于防止为较新版本的Windows定义API函数.但是,这似乎并不普遍. 例如,CancelSynchronousIo需要Vista或更高版本,但在我拥有的两个版本的Windows SDK(v6.0和v7.1)中根本没有防范. WIN
在
Using the Windows Headers,Microsoft声称_WIN32_WINNT和NTDDI_VERSION可用于防止为较新版本的Windows定义API函数.但是,这似乎并不普遍.
例如,CancelSynchronousIo需要Vista或更高版本,但在我拥有的两个版本的Windows SDK(v6.0和v7.1)中根本没有防范. WINBASEAPI BOOL WINAPI CancelIoEx( __in HANDLE hFile,__in_opt LPOVERLAPPED lpOverlapped ); 与此同时,GetVolumeInformationByHandleW,也需要Vista,正如您所期望的那样受到保护: #if(_WIN32_WINNT >= 0x0600) WINBASEAPI BOOL WINAPI GetVolumeInformationByHandleW( __in HANDLE hFile,__out_ecount_opt(nVolumeNameSize) LPWSTR lpVolumeNameBuffer,__in DWORD nVolumeNameSize,__out_opt LPDWORD lpVolumeSerialNumber,__out_opt LPDWORD lpMaximumComponentLength,__out_opt LPDWORD lpFileSystemFlags,__out_ecount_opt(nFileSystemNameSize) LPWSTR lpFileSystemNameBuffer,__in DWORD nFileSystemNameSize ); #endif /* _WIN32_WINNT >= 0x0600 */ 这种事情只是一个错误吗? _WIN32_WINT卫兵没用吗?任何人都可以推荐一种可靠的方法来确定哪个版本的Windows引入了哪些API功能? 编辑添加: 这是一个测试. foo.h包含: #include <windows.h> 然后运行: cl /E /D_WIN32_WINNT=0x0501 /DNTDDI_VERSION=0x05010000 foo.h | grep CancelSynchronousIo 我的期望是我没有输出,而是定义了CancelSynchronousIo.
这是一个错误.参考例子
are here和
here.一些次要证据表明Longhorn项目确实是一个非常困难的项目. Windows团队不像DevDiv那样接受反馈,很难修复错误.您可以在MSDN Library页面的底部留下注释.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows – 如何使用PowerShell设置安全组的电子邮件地址?
- windows – 当不访问域的网络时,域中的计算机启动速度很慢
- windows-phone-7 – 如何同时为两个轴(X,Y)翻译动画?
- windows-server-2008 – 为RDP创建锁定策略
- 如何在桌面应用程序中检测Windows 8.1
- 奇怪的人物:R和Windows语言环境的互动?
- Windows – Qt4自定义窗口框架,如Office 2007?
- windows – 如何用数百万个文件可视化硬盘空间?
- windows-8 – Expression Blend中的“星形”测量是什么?
- windows – 调试可怕的’应用程序无法初始化’错误
推荐文章
站长推荐
- windows – 任何人都可以为开发人员推荐一个好的
- windows – 如何在实时服务器上执行升级
- windows-server-2012 – 启动IIS管理器具有Web平
- 如何在Windows上安装和使用gpg-agent?
- 从命令行列出,添加,编辑,删除Windows计划任务
- winapi – Windows 7 Ribbon UI Win32 API代码
- 是否有用于Windows(或Linux)的iPhone模拟器来安装
- windows – 用于并行工作的CMD实例的信号量
- dll – 使用C API的“Hello TensorFlow!”
- Windows“netstat -b”如何确定拥有每个套接字的
热点阅读