private static CollumnInfo[] GetCollumnInfo(ShellFolder2 sf2) { List <CollumnInfo> retVal = new List <CollumnInfo>(); uint i = 1; while (i < 500) { ShellDll.SHCOLSTATEF state; int hr = sf2.GetDefaultColumnState(i, out state); if (hr == -2147316575) //COMException, Out of Bounds { break; } PropertyKey propKey; hr = sf2.MapColumnToSCID(i, out propKey); if (hr == -2147316575) //COMException, Out of Bounds { break; } retVal.Add(new CollumnInfo() { ColumnIndex = i, Flags = state, PropertyKey = propKey }); i++; } return(retVal.ToArray()); }
private static CollumnInfo[] GetCollumnInfo(ShellFolder2 sf2) { List<CollumnInfo> retVal = new List<CollumnInfo>(); uint i = 1; while (i < 500) { ShellDll.SHCOLSTATEF state; int hr = sf2.GetDefaultColumnState(i, out state); if (hr == -2147316575) //COMException, Out of Bounds break; PropertyKey propKey; hr = sf2.MapColumnToSCID(i, out propKey); if (hr == -2147316575) //COMException, Out of Bounds break; retVal.Add(new CollumnInfo() { ColumnIndex = i, Flags = state, PropertyKey = propKey }); i++; } return retVal.ToArray(); }