oleautomation タイプには、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);
しかし、POINT などの Windows のシステム タイプに適したタイプは何ですか?