Exemple #1
0
        int BclComTypes.IEnumSTATDATA.Next(int celt, BclComTypes.STATDATA[] rgelt, int[] pceltFetched)
        {
            if (null != bclEnum)
            {
                return(bclEnum.Next(celt, rgelt, pceltFetched));
            }

            OleInterop.STATDATA[] oleStat = new OleInterop.STATDATA[celt];
            uint fetched;
            int  hr = oleEnum.Next((uint)celt, oleStat, out fetched);

            if (NativeMethods.Failed(hr))
            {
                return(hr);
            }
            if (null != pceltFetched)
            {
                pceltFetched[0] = (int)fetched;
            }
            for (int i = 0; i < fetched; i++)
            {
                rgelt[i] = StructConverter.OleSTATDATA2Bcl(ref oleStat[i]);
            }
            return(hr);
        }
Exemple #2
0
 static internal BclComTypes.STATDATA OleSTATDATA2Bcl(ref OleInterop.STATDATA oleData)
 {
     BclComTypes.STATDATA bclData;
     if (null == oleData.pAdvSink)
     {
         bclData.advSink = null;
     }
     else
     {
         bclData.advSink = oleData.pAdvSink as BclComTypes.IAdviseSink;
         if (null == bclData.advSink)
         {
             bclData.advSink = (BclComTypes.IAdviseSink)(new AdviseSink(oleData.pAdvSink));
         }
     }
     bclData.advf       = (BclComTypes.ADVF)oleData.ADVF;
     bclData.connection = (int)oleData.dwConnection;
     bclData.formatetc  = OleFormatETC2Bcl(ref oleData.FORMATETC);
     return(bclData);
 }
Exemple #3
0
        int BclComTypes.IEnumSTATDATA.Next(int celt, BclComTypes.STATDATA[] rgelt, int[] pceltFetched)
        {
            if (null != bclEnum)
            {
                return bclEnum.Next(celt, rgelt, pceltFetched);
            }

            OleInterop.STATDATA[] oleStat = new OleInterop.STATDATA[celt];
            uint fetched;
            int hr = oleEnum.Next((uint)celt, oleStat, out fetched);
            if (NativeMethods.Failed(hr))
                return hr;
            if (null != pceltFetched)
                pceltFetched[0] = (int)fetched;
            for (int i = 0; i < fetched; i++)
            {
                rgelt[i] = StructConverter.OleSTATDATA2Bcl(ref oleStat[i]);
            }
            return hr;
        }