С # COM DLL интерфейс:
public interface IShowDialog
{
void showMessage(byte[] array);
}
и вызовите его в неуправляемом приложении C ++:
SAFEARRAY *array;
array = SafeArrayCreateVector(VT_BSTR, 0, 1);
long lidx = 0;
SafeArrayPutElement( array, &lidx, SysAllocString(L"test") );
hr = dlg->showMessage(array);
Результат: 0x80131533 - COR_E_SAFEARRAYTYPEMISMATCH