union在过代理存根的时候需要制定union的大小如
typedef [public] [switch_type(long)] union _uMicro
{
[case (1)] long*checkInInfo;
[case (2)] long *commonBlog;
}uMicro;
typedef [public] struct _MicroBlog {
long t;
[switch_is(t)] uMicro unionMicro;
}MicroBlog;
public属性是标记在生成tlb时是否显示该属性
我发现的情况是当进程A使用该union时如果MicroBlog.t不为定义的属性1或2时 进程A就会挂掉。所以最后把MicroBlog 中的t换成枚举来限制用户的操作。