[SHELL32] Handle multiple files in recycle bin delete/restore operations (#7568)

CORE-19895 CORE-19231
This commit is contained in:
Whindmar Saksit 2025-02-22 13:03:11 +01:00 committed by GitHub
parent 924592dc47
commit e5fc4de8c9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 264 additions and 119 deletions

View file

@ -14,6 +14,14 @@ SHStrDupW(LPCWSTR Src)
LPWSTR Dup;
return SUCCEEDED(SHStrDupW(Src, &Dup)) ? Dup : NULL;
}
static inline UINT
SHELL_ErrorBox(CMINVOKECOMMANDINFO &cmi, UINT Error)
{
if (cmi.fMask & CMIC_MASK_FLAG_NO_UI)
return Error ? Error : ERROR_INTERNAL_ERROR;
return SHELL_ErrorBox(cmi.hwnd, Error);
}
#endif
static inline BOOL
@ -46,7 +54,8 @@ RegSetString(HKEY hKey, LPCWSTR Name, LPCWSTR Str, DWORD Type = REG_SZ)
return RegSetValueExW(hKey, Name, 0, Type, LPBYTE(Str), (lstrlenW(Str) + 1) * sizeof(WCHAR));
}
typedef struct {
typedef struct
{
LPCSTR Verb;
WORD CmdId;
} CMVERBMAP;