28 if (pszPath[0] !=
L'.')
30 return !pszPath[1] || (pszPath[1] ==
L'.' && !pszPath[2]);
33#define PATH_VALID_ELEMENT ( \
34 PATH_CHAR_CLASS_DOT | PATH_CHAR_CLASS_SEMICOLON | PATH_CHAR_CLASS_COMMA | \
35 PATH_CHAR_CLASS_SPACE | PATH_CHAR_CLASS_OTHER_VALID \
82 HRESULT hr = SHILCombine(*ppidl, pidl, ppidl);
123 if (!pBindCtx ||
FAILED(pBindCtx->GetObjectParam(
const_cast<LPWSTR>(pszName), &punk)))
133 BIND_OPTS BindOpts = {
sizeof(BindOpts) };
134 HRESULT hr = pbc->GetBindOptions(&BindOpts);
138 return BindOpts.grfMode;
146 BIND_OPTS BindOps = {
sizeof(BindOps) };
147 if (
SUCCEEDED(pbc->GetBindOptions(&BindOps)) && BindOps.grfFlags == OLECONTF_LINKS)
158 if (!pBindCtx ||
FAILED(pBindCtx->GetObjectParam((
LPWSTR)STR_FILE_SYS_BIND_DATA, &punk)))
165 pBindData->GetFindData(pFindData);
204 pShellFolder = psfDesktop;
211 hr = pShellFolder->BindToObject(pidl, pBindCtx,
riid, ppvObj);
268 (oldAttrs & SFGAO_STORAGEANCESTOR) &&
271 dwAttributes &= ~(SFGAO_STREAM | SFGAO_STORAGEANCESTOR);
312 *pdwAttributes =
SHGetAttributes(psfFolder, ppidlLast, *pdwAttributes);
328 if (pBindCtx &&
SUCCEEDED(pBindCtx->GetObjectParam((
LPWSTR)
L"UI During Binding", &punk)))
347 static const QITAB c_tab[] =
352 return ::QISearch(
this, c_tab,
riid, ppvObj);
408 hr = (*ppbc)->RegisterObjectParam(pszKey, punk);
486 TRACE(
"(%lu, %p)\n", dwNumber, pszBuffer);
507 TRACE(
"%p\n", hToken);
551 sizeof(PrevPriv), &PrevPriv, &dwReturnSize);
613 for (iPriv = 0; !
ret && iPriv < cPrivs; ++iPriv)
622 if (hToken == hNewToken)
654 TRACE(
"SHGetShellStyleHInstance called\n");
665 strShellStyle +=
L"\\Shell\\";
667 strShellStyle +=
L"\\ShellStyle.dll";
678 ERR(
"Expand failed\n");
755 TRACE(
"%p %p\n", pidlRoot, pidlSavedSearch);
759 IID_IContextMenu, (
void **)&pCM);
766 CMINVOKECOMMANDINFO InvokeInfo = {
sizeof(InvokeInfo) };
767 InvokeInfo.lpParameters =
"{996E1EB1-B524-11D1-9120-00A0C98BA67D}";
782 UINT ich = 0, ichValue;
783#if (WINVER >= _WIN32_WINNT_VISTA)
784 BOOL bMinus = (llValue < 0);
795 szBuff[ich++] = (
WCHAR)(
L'0' + (llValue % 10));
797 }
while (llValue != 0 && ich <
_countof(szBuff) - 1);
799#if (WINVER >= _WIN32_WINNT_VISTA)
800 if (bMinus && ich <
_countof(szBuff))
804 for (ichValue = 0; ich > 0 && ichValue < cchValue; ++ichValue)
807 pszValue[ichValue] = szBuff[ich];
810 if (ichValue >= cchValue)
858 pDest->lpDecimalSep = pszDecimal;
864 pDest->lpThousandSep = pszThousand;
870 pDest->NegativeOrder =
StrToIntW(szBuff);
891 WCHAR szValue[80], szDecimalSep[6], szThousandSep[6];
898 szDecimalSep,
_countof(szDecimalSep),
899 szThousandSep,
_countof(szThousandSep));
927 return Int64ToString(pLargeInt->QuadPart, pszOut, cchOut, bUseFormat,
928 pNumberFormat, dwNumberFlags);
945 DWORD cbBuff, cbRead, dwSizeToWrite;
952 TRACE(
"(%p, %p, %p, %I64u)\n", pSrc, pDst, pProgress, dwlSize);
958 if (
FAILED(pSrc->Stat(&
Stat, STATFLAG_NONAME)))
961 dwlSize =
Stat.cbSize.QuadPart;
973 return pSrc->CopyTo(pDst, uliSize,
NULL,
NULL);
977 if (dwlSize > 0 && dwlSize <=
sizeof(abBuff))
979 cbBuff =
sizeof(abBuff);
984#define COPY_STREAM_DEFAULT_BUFFER_SIZE 0x4000
992 cbBuff =
sizeof(abBuff);
995#undef COPY_STREAM_DEFAULT_BUFFER_SIZE
1004 pProgress->SetProgress64(cbDone, dwlSize);
1009 hr = pSrc->Read(pBuff, cbBuff, &cbRead);
1017 dwSizeToWrite = cbRead;
1019 if (dwSizeToWrite == 0)
1025 hr = pDst->Write(pBuff, dwSizeToWrite,
NULL);
1029 cbDone += dwSizeToWrite;
1031 if (pProgress->HasUserCancelled())
1036 pProgress->SetProgress64(cbDone, dwlSize);
1038 if (dwlSize > 0 && cbDone >= dwlSize)
1064 CStringW strStartPageW, strCaptionW;
1067 TRACE(
"(%s, %p, %u, %p, %p, %p, %s)",
debugstr_a(pszCaption), ahKeys, cKeys, pclsidDefault,
1068 pDataObject, pShellBrowser,
debugstr_a(pszStartPage));
1072 strStartPageW = pszCaption;
1073 pszCaptionW = strCaptionW;
1078 strStartPageW = pszStartPage;
1079 pszStartPageW = strStartPageW;
1083 pDataObject, pShellBrowser, pszStartPageW);
1132 strRemoteNameW = pszRemoteName;
1133 pszRemoteNameW = strRemoteNameW;
1151 LPWSTR lpszPath = strPath.GetBuffer((
INT)
max(cchPath1, cchPath2) + 16);
1153 strPath.ReleaseBuffer();
1169 LPWSTR lpszPath = strPath.GetBuffer(cchPath);
1174 strPath.ReleaseBuffer();
1179 if (cchPath >= MAXUINT / 2)
1221 strPath = strPath.Left(
nLength - 1);
1244 strPath1 = pszPath1OrCSIDL;
1281 attrs = SFGAO_FILESYSTEM;
1282 hr = psf->GetAttributesOf(1, &pidlSimple, &attrs);
1284 return SHILClone(pidlSimple, ppidlReal);
1288 return SHILClone(pidlSimple, ppidlReal);
1302 hr = pIC->Initialize(pszCommandName, pPB);
1308 _In_ IExecuteCommand *pEC,
1312 _In_opt_ LPCMINVOKECOMMANDINFOEX pICI,
1324 pOWS->SetSelection(pSIA);
1326 DWORD dwKeyState = 0, fMask = pICI ? pICI->fMask : 0;
1327 pEC->SetNoShowUI((fMask & CMIC_MASK_FLAG_NO_UI) != 0);
1328 pEC->SetShowWindow(pICI ? pICI->nShow :
SW_SHOW);
1329 if (fMask & CMIC_MASK_SHIFT_DOWN)
1331 if (fMask & CMIC_MASK_CONTROL_DOWN)
1333 pEC->SetKeyState(dwKeyState);
1334 if ((fMask & CMIC_MASK_UNICODE) && pICI->lpDirectoryW)
1335 pEC->SetDirectory(pICI->lpDirectoryW);
1336 if ((fMask & CMIC_MASK_UNICODE) && pICI->lpParametersW)
1337 pEC->SetParameters(pICI->lpParametersW);
1338 if (fMask & CMIC_MASK_PTINVOKE)
1339 pEC->SetPosition(pICI->ptInvoke);
1349 _In_ IExecuteCommand *pEC,
1353 _In_opt_ LPCMINVOKECOMMANDINFOEX pICI,
BOOL _ILIsDesktop(LPCITEMIDLIST pidl)
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
EXTERN_C HRESULT WINAPI SHCreateShellItemArrayFromDataObject(_In_ IDataObject *pdo, _In_ REFIID riid, _Out_ void **ppv)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
void shell(int argc, const char *argv[])
int CompareNoCase(_In_z_ PCXSTR psz) const
STDMETHODIMP QueryInterface(REFIID riid, LPVOID *ppvObj) override
STDMETHODIMP GetWindow(HWND *phWnd) override
STDMETHODIMP_(ULONG) Release() override
STDMETHODIMP ContextSensitiveHelp(BOOL fEnterMode) override
STDMETHODIMP_(ULONG) AddRef() override
virtual ~CDummyOleWindow()
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
#define FAILED_UNEXPECTEDLY(hr)
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)
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
INT WINAPI GetLocaleInfoW(LCID lcid, LCTYPE lctype, LPWSTR buffer, INT len)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI DECLSPEC_HOTPATCH CoInitializeEx(LPVOID lpReserved, DWORD dwCoInit)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
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)
#define PATH_VALID_ELEMENT
HRESULT Shell_DisplayNameOf(_In_ IShellFolder *psf, _In_ LPCITEMIDLIST pidl, _In_ DWORD dwFlags, _Out_ LPWSTR pszBuf, _In_ UINT cchBuf)
DWORD SHGetAttributes(_In_ IShellFolder *psf, _In_ LPCITEMIDLIST pidl, _In_ DWORD dwAttributes)
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)
HRESULT SHGetNameAndFlagsW(_In_ LPCITEMIDLIST pidl, _In_ DWORD dwFlags, _Out_opt_ LPWSTR pszText, _In_ UINT cchBuf, _Inout_opt_ DWORD *pdwAttributes)
HRESULT SHILClone(_In_opt_ LPCITEMIDLIST pidl, _Outptr_ LPITEMIDLIST *ppidl)
static HRESULT GetCommandStringA(_In_ IContextMenu *pCM, _In_ UINT_PTR Id, _In_ UINT GCS, _Out_writes_(cchMax) LPSTR Buf, _In_ UINT cchMax)
EXTERN_C BOOL WINAPI PathIsEqualOrSubFolder(_In_ LPCWSTR pszPath1OrCSIDL, _In_ LPCWSTR pszPath2)
EXTERN_C HRESULT WINAPI SHGetRealIDL(_In_ IShellFolder *psf, _In_ PCUITEMID_CHILD pidlSimple, _Outptr_ PITEMID_CHILD *ppidlReal)
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)
DWORD BindCtx_GetMode(_In_ IBindCtx *pbc, _In_ DWORD dwDefault)
EXTERN_C HRESULT WINAPI SHInvokePrivilegedFunctionW(_In_ LPCWSTR pszName, _In_ PRIVILEGED_FUNCTION fn, _In_opt_ LPARAM lParam)
BOOL BindCtx_ContainsObject(_In_ IBindCtx *pBindCtx, _In_ LPCWSTR pszName)
HRESULT SHIsFileSysBindCtx(_In_ IBindCtx *pBindCtx, _Out_opt_ WIN32_FIND_DATAW *pFindData)
BOOL PathIsValidElement(_In_ LPCWSTR pszPath)
EXTERN_C HRESULT InvokeIExecuteCommand(_In_ IExecuteCommand *pEC, _In_ PCWSTR pszCommandName, _In_opt_ IPropertyBag *pPB, _In_opt_ IShellItemArray *pSIA, _In_opt_ LPCMINVOKECOMMANDINFOEX pICI, _In_opt_ IUnknown *pSite)
EXTERN_C LPWSTR WINAPI ShortSizeFormatW(_In_ DWORD dwNumber, _Out_writes_(0x8FFF) LPWSTR pszBuffer)
EXTERN_C LPSTR WINAPI SheRemoveQuotesA(LPSTR psz)
BOOL Shell_FailForceReturn(_In_ HRESULT hr)
EXTERN_C HRESULT SHBindToObject(_In_opt_ IShellFolder *psf, _In_ LPCITEMIDLIST pidl, _In_ REFIID riid, _Out_ void **ppvObj)
static INT DynamicPathCommonPrefixW(_In_ LPCWSTR lpszPath1, _In_ LPCWSTR lpszPath2, _Out_ CStringW &strPath)
EXTERN_C HRESULT IUnknown_InitializeCommand(_In_ IUnknown *pUnk, _In_ PCWSTR pszCommandName, _In_opt_ IPropertyBag *pPB)
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)
UINT GetDfmCmd(_In_ IContextMenu *pCM, _In_ LPCSTR verba)
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 BindCtx_RegisterObjectParam(_In_ IBindCtx *pBindCtx, _In_ LPOLESTR pszKey, _In_opt_ IUnknown *punk, _Out_ LPBC *ppbc)
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 InvokeIExecuteCommandWithDataObject(_In_ IExecuteCommand *pEC, _In_ PCWSTR pszCommandName, _In_opt_ IPropertyBag *pPB, _In_ IDataObject *pDO, _In_opt_ LPCMINVOKECOMMANDINFOEX pICI, _In_opt_ IUnknown *pSite)
EXTERN_C HWND BindCtx_GetUIWindow(_In_ IBindCtx *pBindCtx)
HRESULT SHBindToObjectEx(_In_opt_ IShellFolder *pShellFolder, _In_ LPCITEMIDLIST pidl, _In_opt_ IBindCtx *pBindCtx, _In_ REFIID riid, _Out_ void **ppvObj)
EXTERN_C HRESULT WINAPI SHSetFolderPathA(_In_ INT csidl, _In_ HANDLE hToken, _In_ DWORD dwFlags, _In_ LPCSTR pszPath)
HRESULT Shell_TranslateIDListAlias(_In_ LPCITEMIDLIST pidl, _In_ HANDLE hToken, _Out_ LPITEMIDLIST *ppidlAlias, _In_ DWORD dwFlags)
BOOL IsShutdownAllowed(VOID)
BOOL SHSkipJunctionBinding(_In_ IBindCtx *pbc, _In_ CLSID *pclsid)
BOOL PathIsDotOrDotDotW(_In_ LPCWSTR pszPath)
EXTERN_C HRESULT WINAPI SHStartNetConnectionDialogA(_In_ HWND hwnd, _In_ LPCSTR pszRemoteName, _In_ DWORD dwType)
HRESULT SHILAppend(_Inout_ LPITEMIDLIST pidl, _Inout_ LPITEMIDLIST *ppidl)
EXTERN_C BOOL WINAPI SHOpenEffectiveToken(_Out_ LPHANDLE phToken)
static HRESULT DynamicSHGetSpecialFolderPathW(_In_ HWND hwndOwner, _Out_ CStringW &strPath, _In_ INT nCSIDL, _In_ BOOL bCreate)
HRESULT SHCoInitializeAnyApartment(VOID)
BOOL PathIsDosDevice(_In_ LPCWSTR pszName)
HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, INT nFolder, LPITEMIDLIST *ppidl)
DWORD WINAPI SHGetObjectCompatFlags(IUnknown *pUnk, const CLSID *clsid)
HRESULT WINAPI IUnknown_GetWindow(IUnknown *lpUnknown, HWND *lphWnd)
BOOL WINAPI SHSkipJunction(IBindCtx *pbc, const CLSID *pclsid)
HRESULT WINAPI IUnknown_SetSite(IUnknown *obj, IUnknown *site)
int WINAPI PathCommonPrefixW(LPCWSTR lpszFile1, LPCWSTR lpszFile2, LPWSTR achPath)
BOOL WINAPI PathRemoveFileSpecW(LPWSTR lpszPath)
void WINAPI PathRemoveExtensionW(LPWSTR lpszPath)
BOOL WINAPI PathIsValidCharW(WCHAR c, DWORD class)
INT WINAPI SHUnicodeToAnsi(LPCWSTR lpSrcStr, LPSTR lpDstStr, INT iLen)
LPWSTR WINAPI StrFormatByteSizeW(LONGLONG llBytes, LPWSTR lpszDest, UINT cchMax)
HRESULT WINAPI StrRetToBufW(LPSTRRET src, const ITEMIDLIST *pidl, LPWSTR dest, UINT len)
#define IShellFolder_ParseDisplayName
#define IShellFolder_GetDisplayNameOf
HRESULT WINAPI GetCurrentThemeName(LPWSTR pszThemeFileName, int dwMaxNameChars, LPWSTR pszColorBuff, int cchMaxColorChars, LPWSTR pszSizeBuff, int cchMaxSizeChars)
static const WCHAR szColorName[]
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
static IShellFolder IShellItem **static IBindCtx LPITEMIDLIST SFGAOF
GLenum GLuint GLenum GLsizei const GLchar * buf
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)
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
nsresult QueryInterface(nsIIDRef riid, void **result)
unsigned long long DWORDLONG
#define ERROR_FILE_NOT_FOUND
#define _Out_writes_(size)
unsigned __int3264 UINT_PTR
#define LOCALE_USER_DEFAULT
#define UNREFERENCED_PARAMETER(P)
@ COINIT_APARTMENTTHREADED
interface IBindCtx * LPBC
HRESULT WINAPI CreateBindCtx(DWORD reserved, LPBC *ppbc)
LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST pidl)
void WINAPI ILFree(LPITEMIDLIST pidl)
HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast)
BOOLEAN WINAPI IsPwrSuspendAllowed(VOID)
EXTERN_C HRESULT WINAPI SHCreatePropertyBagOnMemory(_In_ DWORD dwMode, _In_ REFIID riid, _Out_ void **ppvObj)
_Check_return_ _CRTIMP int __cdecl _wcsnicmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
_In_ int _In_ BOOL bCreate
#define CSIDL_FLAG_DONT_VERIFY
#define QITABENT(Cthis, Ifoo)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
const ITEMID_CHILD UNALIGNED * PCUITEMID_CHILD
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 ERROR_BAD_NETPATH
#define E_NOT_SUFFICIENT_BUFFER
#define ERROR_PATH_NOT_FOUND
#define HRESULT_FROM_WIN32(x)
#define ERROR_BAD_NET_NAME
#define LOCALE_INEGNUMBER
#define IS_INTRESOURCE(i)
#define RtlEqualLuid(Luid1, Luid2)
#define TOKEN_ADJUST_PRIVILEGES
struct _TOKEN_PRIVILEGES * PTOKEN_PRIVILEGES
#define SE_PRIVILEGE_ENABLED
#define IID_PPV_ARG(Itype, ppType)