如何将字符串数组转换为 SAFEARRAY 或 VARIANT 或 COleVariant?

How to convert string array to SAFEARRAY or VARIANT or COleVariant?

我正在研究 OLE(COM),因此我想将字符串数组转换为 SAFEARRAY 或 CComSafeArray 或 COleSafeArray 或 VARIANT 或 COleVariant。

  1. CString[100] -> SAFEARRAY
  2. CString[100] -> CComSafeArray
  3. CString[100] -> COleSafeArray
  4. CString[100] -> VARIANT
  5. CString[100] -> COleVariant

将字符串数组转换为 SAFEARRAY 或 CComSafeArray 或 COleSafeArray 或 VARIANT 或 COleVariant 发送 OLEMethod 以执行 COM。

请帮帮我

CString strings[100];

CComSafeArray<BSTR> myArray(100);
for (int i = 0; i < 100; ++i) {
  myArray.SetAt(i, strings[i].AllocSysString(), /*copy=*/ false);
}