public CabinetInfo GetCabinetInfo(out bool isCabinet) { if (_disposed) { throw new ObjectDisposedException("CabExtract"); } MemoryStream ms = new MemoryStream(_inputData); GCHandle gch = GCHandle.Alloc(ms); try { CabinetInfo info = new CabinetInfo(); isCabinet = FdiIsCabinet(FdiContext, (IntPtr)gch, info); return(info); } finally { gch.Free(); ms.Close(); } }
private static extern bool FdiIsCabinet( IntPtr hfdi, IntPtr hf, [MarshalAs(UnmanagedType.LPStruct)] CabinetInfo cabInfo);