public int Clone_(out IWbemClassObjectFreeThreaded ppCopy)
        {
            IntPtr ptr;

            if (this.pWbemClassObject == IntPtr.Zero)
            {
                throw new ObjectDisposedException(name);
            }
            int num = WmiNetUtilsHelper.Clone_f(12, this.pWbemClassObject, out ptr);

            if (num < 0)
            {
                ppCopy = null;
            }
            else
            {
                ppCopy = new IWbemClassObjectFreeThreaded(ptr);
            }
            GC.KeepAlive(this);
            return(num);
        }
        public int Clone_(out IWbemClassObjectFreeThreaded ppCopy)
        {
            IntPtr intPtr;

            if (this.pWbemClassObject != IntPtr.Zero)
            {
                int cloneF = WmiNetUtilsHelper.Clone_f(12, this.pWbemClassObject, out intPtr);
                if (cloneF >= 0)
                {
                    ppCopy = new IWbemClassObjectFreeThreaded(intPtr);
                }
                else
                {
                    ppCopy = null;
                }
                GC.KeepAlive(this);
                return(cloneF);
            }
            else
            {
                throw new ObjectDisposedException(IWbemClassObjectFreeThreaded.name);
            }
        }