CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

Ac64BitHelpers.h 和新的 64 位 Windows API

2022-12-31 05:45| 发布者: admin| 查看: 1264| 评论: 0|来自: AutoCAD

在 Win32 API 中,函数允许您将 32 位值附加到窗口和窗口类。在 64 位 Windows 中,Microsoft 保留了此行为。但是,由于应用程序经常将指针附加到窗口,因此Microsoft还添加了新的API函数,用于在Windows上设置和获取64位指针属性。下表显示了保留的 32 位函数及其新的 64 位对应项:SetWindowLong()SetClassLong()long

仅限 32 位 兼容 32 位和 64 位
DWORD GetClassLong(HWND, INT) ULONG_PTR GetClassLongPtr(HWND, INT)
LONG GetWindowLong(HWND, INT) LONG_PTR GetWindowLongPtr(HWND, INT)
DWORD SetClassLong(HWND, INT, LONG) ULONG_PTR SetClassLongPtr(HWND, INT, LONG_PTR)
LONG SetWindowLong(HWND, INT, LONG) LONG_PTR SetWindowLongPtr(HWND, INT, LONG_PTR)

有关这些 Windows API 函数的详细信息,请参阅 MSDN 库中的 Visual C++ 语言参考。

Autodesk 提供了一个新的头文件 Ac64BitHelpers.h,该文件重新定义了这些新的 Windows API 函数,以绕过某些 64 位兼容性编译器警告。如果要避免这些警告,可以将此头文件包含在调用这些函数的模块中。

Ac64BitHelpers.h文件还包含用于消除64位移植问题的通用实用程序。它包括另一个新的Autodesk头文件ac_tcslen.h。此文件重新定义 Windows函数,以确保它返回有效的无符号 32 位整数值。_tcslen()


路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 14:30

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部