Exemple #1
0
        public static IStorage CreatePackageStorage(string name, byte[] filedata)
        {
            MemoryStream ms  = new MemoryStream(PackageBuilder.BuildPackage(@"C:\testme\" + name, filedata));
            IStorage     stg = CreateStorage("dump.stg");

            ComUtils.OLESTREAM stm = new ComUtils.OLESTREAM();
            stm.GetMethod = (a, b, c) =>
            {
                //Console.WriteLine("{0} {1} {2}", a, b, c);

                byte[] data = new byte[c];

                int len = ms.Read(data, 0, (int)c);

                Marshal.Copy(data, 0, b, len);

                return((uint)len);
            };

            OleConvertOLESTREAMToIStorage(ref stm, stg, IntPtr.Zero);
            // Console.WriteLine("Creating File...");
            Guid g = new Guid(CLSID_Package);

            stg.SetClass(ref g);

            return(stg);
        }
Exemple #2
0
        public static IStorage CreatePackageStorage(string name, byte[] filedata)
        {
            MemoryStream ms = new MemoryStream(PackageBuilder.BuildPackage(@"C:\testme\"+name, filedata));
            IStorage stg = CreateStorage("dump.stg");
            ComUtils.OLESTREAM stm = new ComUtils.OLESTREAM();
            stm.GetMethod = (a, b, c) =>
            {
                //Console.WriteLine("{0} {1} {2}", a, b, c);

                byte[] data = new byte[c];

                int len = ms.Read(data, 0, (int)c);

                Marshal.Copy(data, 0, b, len);

                return (uint)len;
            };

            OleConvertOLESTREAMToIStorage(ref stm, stg, IntPtr.Zero);
               // Console.WriteLine("Creating File...");
            Guid g = new Guid(CLSID_Package);
            stg.SetClass(ref g);

            return stg;
        }