ReactOS 0.4.15-dev-7788-g1ad9096
Todo List
Member _tWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd)

save previous shell application in config file

save previous shell application in config file

Member abort (void)
unimplemented
File asn1_dec.c
not optimised (yet), favor correctness over speed, favor speed over size
File asn1_enc.c
not optimised (yet), favor correctness over speed, favor speed over size
Member BackgroundWindow::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
Changing the PaintDesktopVersion-Flag needs a restart of the shell -> display a message box
Member BookmarkList::import_IE_favorites (struct ShellDirectory &dir, HWND hwnd)
read shell links
Member BrowserNavigator::navigated (LPCTSTR url)
move this into DocumentComplete() ?
Member ChildWindow::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
Member DC_vCopyState (PDC pdcSrc, PDC pdcDst, BOOL To)
should aways be != NULL
Member DesktopBar::ControlResize (WPARAM wparam, LPARAM lparam)

Taskbar is at the right of the screen

Taskbar is at the left of the screen

Taskbar is at the top of the screen

write code for taskbar being at sides or top.

Member DesktopBar::ProcessHotKey (int id_hotkey)
implement all common hotkeys
Member DesktopBar::RegisterHotkeys ()
register all common hotkeys
Member DesktopBar::Resize (int cx, int cy)
general children resizing algorithm
Member DesktopBar::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
read desktop bar settings
Member DesktopDropTarget::OnDrop (FORMATETC *pFmtEtc, STGMEDIUM &medium, DWORD *pdwEffect)

Add the code to handle Move

Add the code to handle Copy

Member DesktopShellView::PositionIcons (int dir=1)
Member DesktopShellView::refresh ()
Member DesktopWindow::Init (LPCREATESTRUCT pcs)
use IShellBrowser::GetViewStateStream() to restore previous view state -> see SHOpenRegStream()
Member DesktopWindow::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
use IShellBrowser::GetViewStateStream() and _pShellView->SaveViewState() to store view state
Member Dialog::DoModal (UINT nid, CREATORFUNC_INFO creator, const void *info, HWND hwndParent=0)
call Window::pretranslate_msg()
Member Dialog::DoModal (UINT nid, CREATORFUNC creator, HWND hwndParent=0)
call Window::pretranslate_msg()
Member Entry::read_directory_base (SORT_ORDER sortOrder=SORT_NAME, int scan_flags=0)
_prescan_nodes should not be used for reading the start menu.
Member Entry::smart_scan (SORT_ORDER sortOrder=SORT_NAME, int scan_flags=0)
We could use IShellFolder2::GetDefaultColumn to determine sort order.
Member ExecuteDialog::cmd [MAX_PATH]
use class Dialog
Member FileChildWindow::activate_entry (Pane *pane)
enable using RETURN key accelerator
Member FileChildWindow::FileChildWindow (HWND hwnd, const FileChildWndInfo &info)

Is not-explore-mode for FileChildWindow completely implemented?

use OWM_ROOTED flag

Member FileChildWindow::jump_to_int (LPCTSTR url)
use fname
Member FileChildWindow::scan_entry (Entry *entry)
use modifyable sort order instead of fixed file system default
Member FileChildWindow::set_curdir (Entry *entry)
make configurable (This call takes really very long compared to all other processing!)
Member FindProgramDlg::CheckEntries ()
check all entries for existing targets, display a list of not working entries and ask the user for permission to delete them
Member GDI_InternalBezier (POINT *Points, POINT **PtsOut, INT *dwOut, INT *nPtsOut, INT level)
FIXME!
Member IconCache::extract (LPCTSTR path, ICONCACHE_FLAGS flags=ICF_NORMAL)
limit cache size
Member IconCache::extract (LPCITEMIDLIST pidl, ICONCACHE_FLAGS flags=ICF_NORMAL)
limit cache size
Member IconCache::extract (LPCTSTR path, ICONCACHE_FLAGS flags=ICF_NORMAL)
limit cache size
Member IconCache::extract (LPCTSTR path, int icon_idx, ICONCACHE_FLAGS flags=ICF_HICON)
retreive "http://.../favicon.ico" format icons
Member IconCache::extract (LPCITEMIDLIST pidl, ICONCACHE_FLAGS flags=ICF_NORMAL)
limit cache size
Member IntCreateNewRegistryPath (PVIDEO_PORT_DEVICE_EXTENSION DeviceExtension)
HACK
Member IntGdiFillRgn (_In_ PDC pdc, _In_ PREGION prgn, _In_opt_ PBRUSH pbrFill)
Check parameters
Member IShellBrowserImpl::Exec (const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
implement IOleCommandTarget
Member IShellBrowserImpl::QueryService (REFGUID guidService, REFIID riid, void **ppvObject)
use guidService
Member IShellBrowserImpl::QueryStatus (const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText)
implement IOleCommandTarget
Member KiGetFeatureBits (VOID)
  • KF_VIRT_FIRMWARE_ENABLED 0x08000000 (see notes from Geoff Chappell)
  • KF_FPU_LEAKAGE 0x0000020000000000ULL
  • KF_CAT 0x0000100000000000ULL
  • KF_CET_SS 0x0000400000000000ULL
Member LWIP_NETIF_TX_SINGLE_PBUF
: TCP and IP-frag do not work with this, yet:
Member MainFrameBase::go_to (LPCTSTR url, bool new_window)
SDI implementation
Member MDIMainFrame::Command (int id, int code)

There are even more menu items!

prompt for image file

store last directory per drive

Member MDIMainFrame::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
read paths and window placements from registry
Member MDIShellBrowserChild::jump_to_int (LPCTSTR url)
use fname
Member MDIShellBrowserChild::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
refresh shell child
Member MI_IS_MAPPED_PTE (PMMPTE PointerPte)
Make this reasonable code, this is UGLY!
Member NotifyArea::ProcessTrayNotification (int notify_code, NOTIFYICONDATA *pnid)

call only if really changes occurred

This is a fix for Windows Task Manager.

Member NotifyArea::read_config ()

read default setting from registry

read default setting from registry

Member NotifyInfo::modify (NOTIFYICONDATA *pnid)
compare icon
Member NtAllocateVirtualMemory (IN HANDLE ProcessHandle, IN OUT PVOID *UBaseAddress, IN ULONG_PTR ZeroBits, IN OUT PSIZE_T URegionSize, IN ULONG AllocationType, IN ULONG Protect)
HACK: pretend success
Member NtGdiGetRandomRgn (HDC hdc, HRGN hrgnDest, INT iCode)
FIXME This is not really correct, since we already modified the region
Member NtUserCreateWindowEx (DWORD dwExStyle, PLARGE_STRING plstrClassName, PLARGE_STRING plstrClsVersion, PLARGE_STRING plstrWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam, DWORD dwFlags, PVOID acbiBuffer)
Allow passing plstrClassName as ANSI.
Member NtUserSelectPalette (HDC hDC, HPALETTE hpal, BOOL ForceBackground)
implement ForceBackground == TRUE
Member Pane::draw_item (LPDRAWITEMSTRUCT dis, Entry *entry, int calcWidthCol=-1)
not in every case time enough
Member PiUpdateDeviceState (_In_ PDEVICE_NODE DeviceNode)
Do not return STATUS_SUCCESS if nothing is changed.
Member QuickLaunchBar::AddShortcuts ()
perhaps also look into CSIDL_COMMON_APPDATA ?
Member RecentStartMenu::AddEntries ()
read max. count of entries from registry
Member RegDirectory::read_directory (int scan_flags=0)
This can also be done in the RegEnumValue() call if we dynamically adjust the return buffer size.
Member RtlLookupFunctionEntry (IN DWORD64 ControlPc, OUT PDWORD64 ImageBase, OUT PUNWIND_HISTORY_TABLE HistoryTable)
Implement HistoryTable
Member RtlpTryToUnwindEpilog (_Inout_ PCONTEXT Context, _In_ ULONG64 ControlPc, _Inout_opt_ PKNONVOLATILE_CONTEXT_POINTERS ContextPointers, _In_ ULONG64 ImageBase, _In_ PRUNTIME_FUNCTION FunctionEntry)
  • Test and compare with Windows behaviour
Member SdbMakeIndexKeyFromString (LPCWSTR str)
: Fix this for unicode strings.
Member SDIMainFrame::_split_pos
focus handling for TAB switching int _focus_pane; // 0: left 1: right
Member SDIMainFrame::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)

read paths and window placements from registry

content of 'path' not used any more

Member ShellBrowser::MessageSFVCB (UINT uMsg, WPARAM wParam, LPARAM lParam)
never reached
Member ShellBrowser::OnDefaultCommand (LPIDA pida)
look for hidden or new subfolders and refresh/add new entry instead of opening a new window
Member ShellBrowser::refresh ()
File snmp_structs.h
namespace prefixes
Member StartMenu::ActivateEntry (int id, const ShellEntrySet &entries)

launch in the background; specify correct HWND for error message box titles

If the user explicitly clicked on a submenu, display this folder as floating start menu.

Member StartMenu::AddEntry (const String &title, ICON_ID icon_id, Entry *entry)
speed up by using a map indexed by name
Member StartMenu::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)

use TrackMouseEvent() and WM_MOUSEHOVER to wait a bit before opening submenus

do something similar to StartMenuRoot::TrackStartmenu() in order to automatically close submenus when clicking on the desktop background

Member StartMenuHandler::Command (int id, int code)

use printer start menu folder per default and allow opening "printers" cabinet window using the context menu

to be removed when network browsing will be implemented in shell namespace

exclude removable drives

Member StartMenuHandler::ShowSearchComputer ()
to be removed when SHFindComputer() will be implemented in shell32.dll
Member StartMenuHandler::ShowSearchDialog ()
to be removed when SHFindFiles() will be implemented in shell32.dll
Namespace This
  • missing conversion functions
  • multiplication functions
  • signed add, sub and multiply functions
Member ToolTip::add (HWND hparent, HWND htool, LPCTSTR txt=LPSTR_TEXTCALLBACK, LPARAM lparam=0)
Why is it neccesary to try both TTM_ADDTOOLW and TTM_ADDTOOLW ?!
Member TrayNotifyDlg::Refresh ()
refresh incrementally
Member TrayNotifyDlg::SetIconMode (NOTIFYICONMODE mode)
select treeview item at new position in tree view -> refresh HTREEITEM in _selectedItem
Member TreeDropTarget::OnDrop (FORMATETC *pFmtEtc, STGMEDIUM &medium, DWORD *pdwEffect)

Add the code to handle Move

Add the code to handle Copy

Member WebChildWindow::WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)