98 TRACE(
"(%lu, %p)\n", dwNumber, pszBuffer);
119 TRACE(
"%p\n", hToken);
163 sizeof(PrevPriv), &PrevPriv, &dwReturnSize);
225 for (iPriv = 0; !
ret && iPriv < cPrivs; ++iPriv)
234 if (hToken == hNewToken)
266 TRACE(
"SHGetShellStyleHInstance called\n");
277 strShellStyle +=
L"\\Shell\\";
279 strShellStyle +=
L"\\ShellStyle.dll";
290 ERR(
"Expand failed\n");
367 TRACE(
"%p %p\n", pidlRoot, pidlSavedSearch);
371 IID_IContextMenu, (
void **)&pCM);
378 CMINVOKECOMMANDINFO InvokeInfo = {
sizeof(InvokeInfo) };
379 InvokeInfo.lpParameters =
"{996E1EB1-B524-11D1-9120-00A0C98BA67D}";
394 UINT ich = 0, ichValue;
395#if (WINVER >= _WIN32_WINNT_VISTA)
396 BOOL bMinus = (llValue < 0);
407 szBuff[ich++] = (
WCHAR)(
L'0' + (llValue % 10));
409 }
while (llValue != 0 && ich <
_countof(szBuff) - 1);
411#if (WINVER >= _WIN32_WINNT_VISTA)
412 if (bMinus && ich <
_countof(szBuff))
416 for (ichValue = 0; ich > 0 && ichValue < cchValue; ++ichValue)
419 pszValue[ichValue] = szBuff[ich];
422 if (ichValue >= cchValue)
470 pDest->lpDecimalSep = pszDecimal;
476 pDest->lpThousandSep = pszThousand;
482 pDest->NegativeOrder =
StrToIntW(szBuff);
503 WCHAR szValue[80], szDecimalSep[6], szThousandSep[6];
510 szDecimalSep,
_countof(szDecimalSep),
511 szThousandSep,
_countof(szThousandSep));
539 return Int64ToString(pLargeInt->QuadPart, pszOut, cchOut, bUseFormat,
540 pNumberFormat, dwNumberFlags);
557 DWORD cbBuff, cbRead, dwSizeToWrite;
564 TRACE(
"(%p, %p, %p, %I64u)\n", pSrc, pDst, pProgress, dwlSize);
570 if (
FAILED(pSrc->Stat(&
Stat, STATFLAG_NONAME)))
573 dwlSize =
Stat.cbSize.QuadPart;
585 return pSrc->CopyTo(pDst, uliSize,
NULL,
NULL);
589 if (dwlSize > 0 && dwlSize <=
sizeof(abBuff))
591 cbBuff =
sizeof(abBuff);
596#define COPY_STREAM_DEFAULT_BUFFER_SIZE 0x4000
604 cbBuff =
sizeof(abBuff);
607#undef COPY_STREAM_DEFAULT_BUFFER_SIZE
616 pProgress->SetProgress64(cbDone, dwlSize);
621 hr = pSrc->Read(pBuff, cbBuff, &cbRead);
629 dwSizeToWrite = cbRead;
631 if (dwSizeToWrite == 0)
637 hr = pDst->Write(pBuff, dwSizeToWrite,
NULL);
641 cbDone += dwSizeToWrite;
643 if (pProgress->HasUserCancelled())
648 pProgress->SetProgress64(cbDone, dwlSize);
650 if (dwlSize > 0 && cbDone >= dwlSize)
676 CStringW strStartPageW, strCaptionW;
679 TRACE(
"(%s, %p, %u, %p, %p, %p, %s)",
debugstr_a(pszCaption), ahKeys, cKeys, pclsidDefault,
680 pDataObject, pShellBrowser,
debugstr_a(pszStartPage));
684 strStartPageW = pszCaption;
685 pszCaptionW = strCaptionW;
690 strStartPageW = pszStartPage;
691 pszStartPageW = strStartPageW;
695 pDataObject, pShellBrowser, pszStartPageW);
744 strRemoteNameW = pszRemoteName;
745 pszRemoteNameW = strRemoteNameW;
763 LPWSTR lpszPath = strPath.GetBuffer((
INT)
max(cchPath1, cchPath2) + 16);
765 strPath.ReleaseBuffer();
781 LPWSTR lpszPath = strPath.GetBuffer(cchPath);
786 strPath.ReleaseBuffer();
791 if (cchPath >= MAXUINT / 2)
833 strPath = strPath.Left(
nLength - 1);
856 strPath1 = pszPath1OrCSIDL;
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
void shell(int argc, const char *argv[])
int CompareNoCase(_In_z_ PCXSTR psz) const
bool AllocateBytes(_In_ size_t nBytes)
BOOL WINAPI LookupPrivilegeValueW(LPCWSTR lpSystemName, LPCWSTR lpPrivilegeName, PLUID lpLuid)
BOOL WINAPI AdjustTokenPrivileges(HANDLE TokenHandle, BOOL DisableAllPrivileges, PTOKEN_PRIVILEGES NewState, DWORD BufferLength, PTOKEN_PRIVILEGES PreviousState, PDWORD ReturnLength)
BOOL WINAPI GetTokenInformation(HANDLE TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, LPVOID TokenInformation, DWORD TokenInformationLength, PDWORD ReturnLength)
BOOL WINAPI OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle)
BOOL WINAPI OpenThreadToken(HANDLE ThreadHandle, DWORD DesiredAccess, BOOL OpenAsSelf, HANDLE *TokenHandle)
INT WINAPI StrToIntW(LPCWSTR lpString)
#define ERROR_INVALID_PARAMETER
#define GetCurrentProcess()
static DWORD DWORD * dwLength
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
BOOL WINAPI CreateDirectoryW(IN LPCWSTR lpPathName, IN LPSECURITY_ATTRIBUTES lpSecurityAttributes)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryExW(LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
EXTERN_C WORD WINAPI ExtractIconResInfoW(_In_ HANDLE hHandle, _In_ LPCWSTR lpFileName, _In_ WORD wIndex, _Out_ LPWORD lpSize, _Out_ LPHANDLE lpIcon)
EXTERN_C HRESULT WINAPI SHSetFolderPathW(_In_ INT csidl, _In_ HANDLE hToken, _In_ DWORD dwFlags, _In_ LPCWSTR pszPath)
EXTERN_C HRESULT WINAPI SHStartNetConnectionDialogW(_In_ HWND hwnd, _In_ LPCWSTR pszRemoteName, _In_ DWORD dwType)
BOOL WINAPI SHOpenPropSheetW(_In_opt_ LPCWSTR pszCaption, _In_opt_ HKEY *ahKeys, _In_ UINT cKeys, _In_ const CLSID *pclsidDefault, _In_ IDataObject *pDataObject, _In_opt_ IShellBrowser *pShellBrowser, _In_opt_ LPCWSTR pszStartPage)
EXTERN_C BOOL WINAPI PathIsSlowW(_In_ LPCWSTR pszFile, _In_ DWORD dwAttr)
EXTERN_C BOOL WINAPI SHOpenPropSheetA(_In_opt_ LPCSTR pszCaption, _In_opt_ HKEY *ahKeys, _In_ UINT cKeys, _In_ const CLSID *pclsidDefault, _In_ IDataObject *pDataObject, _In_opt_ IShellBrowser *pShellBrowser, _In_opt_ LPCSTR pszStartPage)
BOOL WINAPI IsSuspendAllowed(VOID)
EXTERN_C HRESULT WINAPI SHGetPathCchFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath, SIZE_T cchPathMax)
static VOID DynamicPathRemoveBackslashW(_Out_ CStringW &strPath)
EXTERN_C WORD WINAPI ExtractIconResInfoA(_In_ HANDLE hHandle, _In_ LPCSTR lpFileName, _In_ WORD wIndex, _Out_ LPWORD lpSize, _Out_ LPHANDLE lpIcon)
EXTERN_C BOOL WINAPI PathIsEqualOrSubFolder(_In_ LPCWSTR pszPath1OrCSIDL, _In_ LPCWSTR pszPath2)
EXTERN_C DWORD WINAPI SHGetUserSessionId(_In_opt_ HANDLE hToken)
#define COPY_STREAM_DEFAULT_BUFFER_SIZE
static VOID Int64GetNumFormat(_Out_ NUMBERFMTW *pDest, _In_opt_ const NUMBERFMTW *pSrc, _In_ DWORD dwNumberFlags, _Out_writes_(cchDecimal) LPWSTR pszDecimal, _In_ INT cchDecimal, _Out_writes_(cchThousand) LPWSTR pszThousand, _In_ INT cchThousand)
EXTERN_C BOOL WINAPI SHTestTokenPrivilegeW(_In_opt_ HANDLE hToken, _In_ LPCWSTR lpName)
EXTERN_C HRESULT WINAPI SHInvokePrivilegedFunctionW(_In_ LPCWSTR pszName, _In_ PRIVILEGED_FUNCTION fn, _In_opt_ LPARAM lParam)
EXTERN_C LPWSTR WINAPI ShortSizeFormatW(_In_ DWORD dwNumber, _Out_writes_(0x8FFF) LPWSTR pszBuffer)
EXTERN_C LPSTR WINAPI SheRemoveQuotesA(LPSTR psz)
static INT DynamicPathCommonPrefixW(_In_ LPCWSTR lpszPath1, _In_ LPCWSTR lpszPath2, _Out_ CStringW &strPath)
static HRESULT DynamicSHGetPathFromIDListW(_In_ LPCITEMIDLIST pidl, _Out_ CStringW &strPath)
EXTERN_C INT WINAPI Int64ToString(_In_ LONGLONG llValue, _Out_writes_(cchOut) LPWSTR pszOut, _In_ UINT cchOut, _In_ BOOL bUseFormat, _In_opt_ const NUMBERFMTW *pNumberFormat, _In_ DWORD dwNumberFlags)
EXTERN_C BOOL WINAPI Activate_RunDLL(_In_ HWND hwnd, _In_ HINSTANCE hinst, _In_ LPCWSTR cmdline, _In_ INT cmdshow)
EXTERN_C BOOL WINAPI PathIsSlowA(_In_ LPCSTR pszFile, _In_ DWORD dwAttr)
EXTERN_C INT WINAPI LargeIntegerToString(_In_ const LARGE_INTEGER *pLargeInt, _Out_writes_(cchOut) LPWSTR pszOut, _In_ UINT cchOut, _In_ BOOL bUseFormat, _In_opt_ const NUMBERFMTW *pNumberFormat, _In_ DWORD dwNumberFlags)
EXTERN_C HINSTANCE WINAPI SHGetShellStyleHInstance(VOID)
EXTERN_C HRESULT WINAPI CopyStreamUI(_In_ IStream *pSrc, _Out_ IStream *pDst, _Inout_opt_ IProgressDialog *pProgress, _In_opt_ DWORDLONG dwlSize)
static BOOL OpenEffectiveToken(_In_ DWORD DesiredAccess, _Out_ HANDLE *phToken)
EXTERN_C BOOL WINAPI SHFindComputer(LPCITEMIDLIST pidlRoot, LPCITEMIDLIST pidlSavedSearch)
static HRESULT Int64ToStr(_In_ LONGLONG llValue, _Out_writes_(cchValue) LPWSTR pszValue, _In_ UINT cchValue)
EXTERN_C LPWSTR WINAPI SheRemoveQuotesW(LPWSTR psz)
EXTERN_C HRESULT WINAPI SHCreatePropertyBag(_In_ REFIID riid, _Out_ void **ppvObj)
EXTERN_C HRESULT WINAPI SHSetFolderPathA(_In_ INT csidl, _In_ HANDLE hToken, _In_ DWORD dwFlags, _In_ LPCSTR pszPath)
BOOL IsShutdownAllowed(VOID)
EXTERN_C HRESULT WINAPI SHStartNetConnectionDialogA(_In_ HWND hwnd, _In_ LPCSTR pszRemoteName, _In_ DWORD dwType)
EXTERN_C BOOL WINAPI SHOpenEffectiveToken(_Out_ LPHANDLE phToken)
static HRESULT DynamicSHGetSpecialFolderPathW(_In_ HWND hwndOwner, _Out_ CStringW &strPath, _In_ INT nCSIDL, _In_ BOOL bCreate)
HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, INT nFolder, LPITEMIDLIST *ppidl)
int WINAPI PathCommonPrefixW(LPCWSTR lpszFile1, LPCWSTR lpszFile2, LPWSTR achPath)
BOOL WINAPI PathRemoveFileSpecW(LPWSTR lpszPath)
LPWSTR WINAPI StrFormatByteSizeW(LONGLONG llBytes, LPWSTR lpszDest, UINT cchMax)
HRESULT WINAPI GetCurrentThemeName(LPWSTR pszThemeFileName, int dwMaxNameChars, LPWSTR pszColorBuff, int cchMaxColorChars, LPWSTR pszSizeBuff, int cchMaxSizeChars)
static const WCHAR szColorName[]
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
HLOCAL NTAPI LocalFree(HLOCAL hMem)
VOID WINAPI CoTaskMemFree(LPVOID ptr)
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
unsigned long long DWORDLONG
INT WINAPI GetLocaleInfoW(LCID lcid, LCTYPE lctype, LPWSTR buffer, INT len)
#define _Out_writes_(size)
#define LOCALE_USER_DEFAULT
#define UNREFERENCED_PARAMETER(P)
BOOLEAN WINAPI IsPwrSuspendAllowed(VOID)
EXTERN_C HRESULT WINAPI SHCreatePropertyBagOnMemory(_In_ DWORD dwMode, _In_ REFIID riid, _Out_ void **ppvObj)
_In_ int _In_ BOOL bCreate
#define CSIDL_FLAG_DONT_VERIFY
ITEMIDLIST UNALIGNED * LPITEMIDLIST
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]
#define FMT_USE_NUMDIGITS
#define FMT_USE_NEGNUMBER
HRESULT(CALLBACK * PRIVILEGED_FUNCTION)(LPARAM lParam)
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
static GLenum _GLUfuncptr fn
HWND WINAPI GetShellWindow(VOID)
BOOL WINAPI AllowSetForegroundWindow(DWORD dwProcessId)
_In_opt_ LPSTR _In_opt_ LPSTR _In_ DWORD _In_ DWORD _Out_opt_ PHANDLE phToken
DWORD WINAPI GetLastError(void)
HANDLE WINAPI GetCurrentThread(void)
#define LOAD_LIBRARY_AS_DATAFILE
DWORD WINAPI GetWindowThreadProcessId(HWND hWnd, PDWORD lpdwProcessId)
#define INVALID_FILE_SIZE
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
#define E_NOT_SUFFICIENT_BUFFER
#define HRESULT_FROM_WIN32(x)
#define LOCALE_INEGNUMBER
#define IS_INTRESOURCE(i)
#define RtlEqualLuid(Luid1, Luid2)
#define TOKEN_ADJUST_PRIVILEGES
struct _TOKEN_PRIVILEGES * PTOKEN_PRIVILEGES
#define SE_PRIVILEGE_ENABLED