为什么从OCX导出的32位值为64位?

时间:2013-10-07 13:25:16

标签: c++ 32bit-64bit ocx

我们有一个导出属性的32位C ++ OCX:

LPITEMIDLIST CMyClass::GetCurrentPIDL()

在32位二进制文​​件中,LPITEMIDLIST当然是32位指针。

32位C ++客户端应用程序。#import用于导入OCX。生成的.TLH文件包含:

__declspec(property(get=GetCurrentPIDL,put=PutCurrentPIDL))
__int64 CurrentPIDL;

客户端无法在没有类型转换的情况下访问该属性,因为编译器抱怨它无法将__int64转换为LPITEMIDLIST

一切正常,但我仍然想知道为什么OCX将该属性导出为__int64而不是LPITEMIDLIST。我似乎不应该施展它。

我在OCX代码中做错了什么,或者这就是它的方式?

TIA

0 个答案:

没有答案