0

对于64 位 Windowsodbc 版本 > 3.0sqltypes.h将 SQLHANDLE 定义为

#if defined(WIN32) || defined(_WIN64)
typedef void*                   SQLHANDLE;
#else

如果您需要通过 COM 编组此变量

[id(1)] HRESULT SQLAllocHandle([in] SQLSMALLINT HandleType, [in] SQLHANDLE InputHandle, [out] SQLHANDLE* OutputHandle, [out,retval] SQLRETURN* rc);

你会收到一个编译错误

error MIDL2139: type of the parameter cannot derive from void or void *

我可以在这种情况下使用的 SQLHANDLE 的适当替换 typedef 是什么?

4

2 回答 2

0

通过 COM传递任何类型HANDLE的.HWNDlong

于 2013-05-22T11:34:07.860 回答
0

在这种特殊情况下,当我使用 ATL 时,我将 SQLHANDLE 重新定义为 OLE_HANDLE。这启用了客户端和服务器进程之间的透明同步。

于 2013-09-12T17:35:20.730 回答