对于64 位 Windows和odbc 版本 > 3.0,sqltypes.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 是什么?