int OleInterop.IDataObject.EnumDAdvise(out OleInterop.IEnumSTATDATA ppenumAdvise) { if (null != oleData) { return(oleData.EnumDAdvise(out ppenumAdvise)); } // Call the BCL version of the method BclComTypes.IEnumSTATDATA bclEnum; int hr = bclData.EnumDAdvise(out bclEnum); NativeMethods.ThrowOnFailure(hr); if (null == bclEnum) { ppenumAdvise = null; } else { ppenumAdvise = bclEnum as OleInterop.IEnumSTATDATA; if (null == ppenumAdvise) { ppenumAdvise = (OleInterop.IEnumSTATDATA)(new EnumSTATDATA(bclEnum)); } } return(hr); }