例如
typedef struct
{
int a;
bool b;
}myStruct;
myStruct aa; //or, myStruct* aavariant myVariant;那么myVariant.vt是什么?
typedef struct
{
int a;
bool b;
}myStruct;
myStruct aa; //or, myStruct* aavariant myVariant;那么myVariant.vt是什么?
sizeof(aa) 数组长
SAFEARRAY* psa;
int ilen=sizeof(CtrlKey);
psa = ::SafeArrayCreateVector(VT_UI1, 0, ilen);
long ind[1];
for(int i=0;i<ilen;i++)
{
ind[0]=i;
::SafeArrayPutElement(psa, ind, (void*)((BYTE*)in+i));
}
//////////////////////
var.vt=VT_ARRAY|VT_UI1;
// ::SafeArrayCopy(psa,&(var.parray));
var.parray=psa;
//////////////////
m_Macro->ReCordData(var); // Record Data
SafeArrayDestroy(psa);
VariantClear(&var);
{
int a;
bool b;
}myStruct;
myStruct myStruct* aavariant myVariant;myVariant.byref=aa; // byref是一般指针
--------------------
.... funtion(VARIANT varPara)
{
myStruct *bb;
bb=(myStruct*)varPara.byref;