Hi Jay,
+HRESULT TRASH_RestoreItem(LPCITEMIDLIST pidl){
Nit: the brace should be on its own line.
+HRESULT TRASH_RestoreItem(LPCITEMIDLIST pidl) DECLSPEC_HIDDEN; +HRESULT TRASH_EraseItem(LPCITEMIDLIST pidl) DECLSPEC_HIDDEN;
These two functions are never called in this patch, so you're introducing dead code. That's not allowed. Introduce the functions in the patch that uses them, please. If the resulting patch is too large, you must split it another way. --Juan