我正在将旧的 32 位 COM 服务器移植到 64 位架构。
许多函数将缓冲区地址和偏移量作为参数,如 __int3264 和 __int3264 指针。问题是这种类型在 x64 中不会自动生成为 __int64,因为接口是 IDispatch 继承的,并且自动化接口不支持 __int3264!
对于需要地址的函数,我将 __int3264* 替换为 void*。
偏移参数被放置为 __int3264 和 LONG(在自动化 + x64 中均为 32 位)。我不能使用 hyper(映射为 __int64),因为它会在 32 位系统中中断。
我应该对所有偏移量/地址参数使用 void* 还是有另一种方法将它们移植到 x64 COM 服务器?