[StructLayout(LayoutKind.Sequential)]
struct MULTI_QI
{
[MarshalAs(UnmanagedType.LPStruct)] public Guid pIID;
[MarshalAs(UnmanagedType.Interface)] public object pItf;
public int hr;
}
None.
Marshal.SizeOf() refuses to deal the pIID member as it is specified, perhaps because it cannot manage the pointer.