public int NextMethod_(int lFlags, out string pstrName, out IWbemClassObjectFreeThreaded ppInSignature, out IWbemClassObjectFreeThreaded ppOutSignature) { IntPtr intPtr; IntPtr intPtr1; if (this.pWbemClassObject != IntPtr.Zero) { int num = WmiNetUtilsHelper.NextMethod_f(23, this.pWbemClassObject, lFlags, out pstrName, out intPtr, out intPtr1); ppInSignature = null; ppOutSignature = null; if (num >= 0) { if (intPtr != IntPtr.Zero) { ppInSignature = new IWbemClassObjectFreeThreaded(intPtr); } if (intPtr1 != IntPtr.Zero) { ppOutSignature = new IWbemClassObjectFreeThreaded(intPtr1); } } GC.KeepAlive(this); return(num); } else { throw new ObjectDisposedException(IWbemClassObjectFreeThreaded.name); } }