Пример #1
0
        private static IntPtr CreateHString(String source)
        {
            IntPtr hstring;

            ComBase.WindowsCreateString(source, (UInt32)source.Length, out hstring);
            return(hstring);
        }
Пример #2
0
        public static IntPtr GetActivationFactory(String activatableClassId, Guid iid)
        {
            IntPtr hstring = CreateHString(activatableClassId);
            IntPtr factory;
            UInt32 hr = ComBase.RoGetActivationFactory(hstring, ref iid, out factory);

            if (0 != hr)
            {
                String message = String.Format("RoGetActivationFactory({0}, {1}) failed with 0x{2:X}", activatableClassId, iid, hr);
                throw new Exception(message);
            }

            ComBase.WindowsDeleteString(hstring);

            return(factory);
        }