// STGMEDIUM /////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////// // STATDATA static internal OleInterop.STATDATA BclSTATDATA2Ole(ref BclComTypes.STATDATA bclData) { OleInterop.STATDATA oleData; if (null == bclData.advSink) { oleData.pAdvSink = null; } else { oleData.pAdvSink = bclData.advSink as OleInterop.IAdviseSink; if (null == oleData.pAdvSink) { oleData.pAdvSink = (new AdviseSink(bclData.advSink)); } } oleData.ADVF = (uint)bclData.advf; oleData.dwConnection = (uint)bclData.connection; oleData.FORMATETC = BclFormatETC2Ole(ref bclData.formatetc); return(oleData); }
// ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// // Next int OleInterop.IEnumSTATDATA.Next(uint celt, OleInterop.STATDATA[] rgelt, out uint pceltFetched) { pceltFetched = 0; if (null != oleEnum) { return(oleEnum.Next(celt, rgelt, out pceltFetched)); } BclComTypes.STATDATA[] bclStat = new BclComTypes.STATDATA[celt]; int[] fetched = { (int)pceltFetched }; int hr = bclEnum.Next((int)celt, bclStat, fetched); if (NativeMethods.Failed(hr)) { return(hr); } pceltFetched = (uint)fetched[0]; for (int i = 0; i < pceltFetched; i++) { rgelt[i] = StructConverter.BclSTATDATA2Ole(ref bclStat[i]); } return(hr); }
// ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// // Next int OleInterop.IEnumSTATDATA.Next(uint celt, OleInterop.STATDATA[] rgelt, out uint pceltFetched) { pceltFetched = 0; if (null != oleEnum) { return oleEnum.Next(celt, rgelt, out pceltFetched); } BclComTypes.STATDATA[] bclStat = new BclComTypes.STATDATA[celt]; int[] fetched = { (int)pceltFetched }; int hr = bclEnum.Next((int)celt, bclStat, fetched); if (NativeMethods.Failed(hr)) return hr; pceltFetched = (uint)fetched[0]; for (int i = 0; i < pceltFetched; i++) { rgelt[i] = StructConverter.BclSTATDATA2Ole(ref bclStat[i]); } return hr; }