如何创建 POINT 的安全阵列?
How to create safearray of POINT?
自动化类型有VT_xxx种:
SAFEARRAYBOUND rgsabound[1];
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = m_cPoints;
psa = SafeArrayCreate(VT_VARIANT, 1, rgsabound);
对于自定义类型,有 IRecordInfo:
SafeArrayCreateEx(VT_RECORD, 1, &rgbounds, pRecInfo);
但是 windows' 系统类型(例如 POINT)的正确类型是什么?
POINT
不是 OLE 兼容类型。 VT_RECORD
仅适用于类型库中定义的自定义类型。您将必须:
创建一个复制 POINT
的类型库,然后从类型库
中检索 IRecordInfo
创建一个安全字节数组 (VT_UI1),然后将原始 POINT
字节复制到其中。然后接收方将必须根据
读取字节。
自动化类型有VT_xxx种:
SAFEARRAYBOUND rgsabound[1];
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = m_cPoints;
psa = SafeArrayCreate(VT_VARIANT, 1, rgsabound);
对于自定义类型,有 IRecordInfo:
SafeArrayCreateEx(VT_RECORD, 1, &rgbounds, pRecInfo);
但是 windows' 系统类型(例如 POINT)的正确类型是什么?
POINT
不是 OLE 兼容类型。 VT_RECORD
仅适用于类型库中定义的自定义类型。您将必须:
创建一个复制
POINT
的类型库,然后从类型库 中检索 创建一个安全字节数组 (VT_UI1),然后将原始
POINT
字节复制到其中。然后接收方将必须根据 读取字节。
IRecordInfo