8#define _ATL_NO_EXCEPTIONS
13#define IShellFolder_GetDisplayNameOf _disabled_IShellFolder_GetDisplayNameOf_
14#define IShellFolder_ParseDisplayName _disabled_IShellFolder_ParseDisplayName_
15#define IShellFolder_CompareIDs _disabled_IShellFolder_CompareIDs_
29#ifndef FAILED_UNEXPECTEDLY
30#define FAILED_UNEXPECTEDLY FAILED
55 CMINVOKECOMMANDINFOEX
info = {
sizeof(
info), fCMIC,
hWnd, pszVerb };
75 hr = pCM->QueryContextMenu(hMenu, 0, 1,
MAXSHORT, fCMF | CMF_DEFAULTONLY);
86 info.fMask |= CMF_OPTIMIZEFORINVOKE;
90 info.fMask |= CMIC_MASK_UNICODE;
91 info.lpVerbW = wideverb;
96 hr = pCM->QueryContextMenu(hMenu, 0, 1,
MAXSHORT, fCMF);
105 info.fMask |= CMIC_MASK_FLAG_NO_UI;
110 info.fMask |= CMIC_MASK_UNICODE;
111 info.lpDirectoryW = pwszDir;
116 hr = pCM->InvokeCommand((LPCMINVOKECOMMANDINFO)&
info);
177 hr = pShellFolder->GetUIObjectOf(
hWnd, 1, &pidl, IID_IContextMenu,
NULL, (
void**)&pCM);
180 fCMIC |= CMIC_MASK_FLAG_LOG_USAGE;
274 cb =
sizeof(szClient);
278 cb =
sizeof(szClient);
305 TRACE(
"(%s, 0x%lX, %p)\n",
debugstr_w(pszPath), dwWhich, pdwFileAttributes);
307 if (pdwFileAttributes)
318 if (pdwFileAttributes)
323 if (pdwFileAttributes)
368 TRACE(
"(%p)->(%p, 0x%lX, %p, 0x%lX)\n", psf, pidl,
uFlags,
lpName, dwRetryFlags);
376 if ((
uFlags & SHGDN_FORPARSING) == 0)
383 if (!(dwRetryFlags &
pData->dwRetryFlags))
390 hr = psf->GetDisplayNameOf(pidl, uNewFlags,
lpName);
416 ULONG dummy1, dummy2;
418 TRACE(
"(%p)->(%p, %p, %s, %p, %p, %p)\n", psf, hwndOwner, pbcReserved,
419 debugstr_w(lpszDisplayName), pchEaten, ppidl, pdwAttributes);
424 pdwAttributes = &dummy1;
436 return psf->ParseDisplayName(hwndOwner, pbcReserved, lpszDisplayName, pchEaten,
437 ppidl, pdwAttributes);
453 TRACE(
"(%p, %p, %p, %p)\n", psf,
lParam, pidl1, pidl2);
460 lParam &= SHCIDS_COLUMNMASK;
465 return psf->CompareIDs(
lParam, pidl1, pidl2);
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
void shell(int argc, const char *argv[])
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
static const WCHAR version[]
DWORD WINAPI GetFileAttributesW(LPCWSTR lpFileName)
HRESULT WINAPI IUnknown_SetSite(IUnknown *obj, IUnknown *site)
void WINAPI PathRemoveArgsW(LPWSTR lpszPath)
LPWSTR WINAPI PathFindExtensionW(LPCWSTR lpszPath)
VOID WINAPI PathUnquoteSpacesW(LPWSTR lpszPath)
BOOL WINAPI PathFileExistsAndAttributesW(LPCWSTR lpszPath, DWORD *dwAttr)
BOOL WINAPI PathFileExistsDefExtW(LPWSTR lpszPath, DWORD dwWhich)
LPWSTR WINAPI PathGetArgsW(LPCWSTR lpszPath)
DWORD WINAPI SHAnsiToUnicode(LPCSTR lpSrcStr, LPWSTR lpDstStr, int iLen)
INT WINAPI SHUnicodeToAnsi(LPCWSTR lpSrcStr, LPSTR lpDstStr, INT iLen)
EXTERN_C HRESULT WINAPI RunRegCommand(_In_opt_ HWND hWnd, _In_ HKEY hKey, _In_opt_ PCWSTR pszSubKey)
EXTERN_C HRESULT WINAPI SHInvokeCommandOnContextMenu(_In_opt_ HWND hWnd, _In_opt_ IUnknown *pUnk, _In_ IContextMenu *pCM, _In_ UINT fCMIC, _In_opt_ LPCSTR pszVerb)
EXTERN_C LSTATUS WINAPI RegGetValueW(HKEY, LPCWSTR, LPCWSTR, DWORD, LPDWORD, PVOID, LPDWORD)
EXTERN_C HRESULT WINAPI RunIndirectRegCommand(_In_opt_ HWND hWnd, _In_ HKEY hKey, _In_opt_ PCWSTR pszSubKey, _In_ PCWSTR pszVerb)
static HRESULT ShellExecuteCommand(_In_opt_ HWND hWnd, _In_ PCWSTR Command, _In_opt_ UINT Flags)
EXTERN_C HRESULT WINAPI SHInvokeCommandWithFlagsAndSite(_In_opt_ HWND hWnd, _In_opt_ IUnknown *pUnk, _In_ IShellFolder *pShellFolder, _In_ LPCITEMIDLIST pidl, _In_ UINT fCMIC, _In_opt_ LPCSTR pszVerb)
EXTERN_C HRESULT WINAPI SHInvokeCommandOnContextMenuEx(_In_opt_ HWND hWnd, _In_opt_ IUnknown *pUnk, _In_ IContextMenu *pCM, _In_ UINT fCMIC, _In_ UINT fCMF, _In_opt_ LPCSTR pszVerb, _In_opt_ LPCWSTR pwszDir)
EXTERN_C BOOL WINAPI IContextMenu_Invoke(_In_ IContextMenu *pContextMenu, _In_ HWND hwnd, _In_ LPCSTR lpVerb, _In_ UINT uFlags)
static const RETRY_DATA g_RetryData[]
static HRESULT SHInvokeCommandOnContextMenuInternal(_In_opt_ HWND hWnd, _In_opt_ IUnknown *pUnk, _In_ IContextMenu *pCM, _In_ UINT fCMIC, _In_ UINT fCMF, _In_opt_ LPCSTR pszVerb, _In_opt_ LPCWSTR pwszDir, _In_ bool ForceQCM)
#define FAILED_UNEXPECTEDLY
EXTERN_C HRESULT WINAPI SHRunIndirectRegClientCommand(_In_opt_ HWND hWnd, _In_ PCWSTR pszClientType)
#define IShellFolder_ParseDisplayName
#define IShellFolder_CompareIDs
static WORD GetVersionMajorMinor()
BOOL WINAPI PathFileExistsDefExtAndAttributesW(_Inout_ LPWSTR pszPath, _In_ DWORD dwWhich, _Out_opt_ LPDWORD pdwFileAttributes)
#define IShellFolder_GetDisplayNameOf
static BOOL SHLWAPI_IsBogusHRESULT(HRESULT hr)
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
#define SFGDNO_RETRYWITHFORPARSING
#define SFGDNO_RETRYALWAYS
static HMODULE MODULEINFO DWORD cb
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
interface IBindCtx * LPBC
DWORD WINAPI GetVersion()
#define _WIN32_WINNT_WIN7
#define SEE_MASK_FLAG_LOG_USAGE
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
#define PPCF_FORCEQUALIFY
LONG WINAPI PathProcessCommand(_In_ LPCWSTR, _Out_writes_(cchDest) LPWSTR, int cchDest, DWORD)
#define PPCF_ADDARGUMENTS
const ITEMIDLIST_RELATIVE UNALIGNED * PCUIDLIST_RELATIVE
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
#define INVALID_FILE_ATTRIBUTES
DWORD WINAPI GetLastError(void)
#define ERROR_BUFFER_OVERFLOW
#define HRESULT_FROM_WIN32(x)
#define HKEY_LOCAL_MACHINE
#define HKEY_CURRENT_USER
HMENU WINAPI CreatePopupMenu(void)
UINT WINAPI GetMenuDefaultItem(_In_ HMENU hMenu, _In_ UINT fByPos, _In_ UINT gmdiFlags)
#define IS_INTRESOURCE(i)
HCURSOR WINAPI SetCursor(_In_opt_ HCURSOR)
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
#define MAKEINTRESOURCEA(i)
BOOL WINAPI DestroyMenu(_In_ HMENU)
#define MAKEINTRESOURCEW(i)
_Must_inspect_result_ _In_ ULONG Flags