C++のバリアントから文字配列にコピーする方法。これまでのところ、以下のスニペットを思いつくことができました。しかし、それを機能させるには助けが必要です。
_variant_t vt_Data(parent->CharData);
if(vt_Data.vt != VT_NULL)
{
long ubound;
long lbound;
long length;
TSTHR(SafeArrayGetLBound(vt_Data.parray, 1, &lbound));
TSTHR(SafeArrayGetUBound(vt_Data.parray, 1, &ubound));
if(length = ubound - lbound +1)
{
char *char_data = new char[length];
TSTHR(SafeArrayAccessData(vt_Data.parray, (void **) &char_data))
memcpy(char_data, vt_Data.parray, length);
TSTHR(SafeArrayUnaccessData(vt_Data.parray));
}
}