Example #1
0
        public static int CreateComObject <IOut>(
            Func <IOut> callback,
            out IOut obj
            ) where IOut : class, IUnknown
        {
            try
            {
                obj = callback.Invoke();
                return(0);
            }
            catch (Exception e)
            {
#if DEBUG
                DirectX.PrintDebugMessage(e.Message);
                DirectX.PrintDebugMessage(e.StackTrace);
#endif

                obj = null;
                return(e.HResult);
            }
        }