public int Next(uint celt, IVsWindowFrame[] rgelt, out uint pceltFetched) { if(_index >= _frames.Count) { pceltFetched = 0; return VSConstants.S_FALSE; } rgelt[0] = _frames[_index++]; pceltFetched = 1; return VSConstants.S_OK; }