public readonly DIDOI dwFlags; // DWORD public DIOBJECTDATAFORMAT(Guid guid, int offset, int type, DIDOI flags) { pguid = guid == Guid.Empty ? IntPtr.Zero : GCHandle.Alloc(guid, GCHandleType.Pinned).AddrOfPinnedObject(); dwOfs = offset; dwType = type; dwFlags = flags; }
public void Set(Guid* pguid, IntPtr dib, DIDFT didft, DIDOI flags) { this.dwOfs = (int)dib; this.dwType = (int)didft; this.dwFlags = (int)flags; if (null == pguid) { FreeGuid(); } else { AllocGuid(); *(this.pguid) = *pguid; } }
public void Set(ref Guid guid, IntPtr dib, DIDFT didft, DIDOI flags) { fixed (Guid* pguid = &guid) { Set(pguid, dib, didft, flags); } }