[SHELL32][SDK] Implement PathIsSlowA and SHSetFolderPathA (#5841)

- Implement PathIsSlowA and SHSetFolderPathA functions.
- Add PathIsSlow and SHSetFolderPath prototypes to <shlobj.h>.
- Fix some <shlobj.h>'s bugs.
- Improve SHOpenPropSheetA function.
This commit is contained in:
Katayama Hirofumi MZ 2023-10-28 09:59:12 +09:00 committed by GitHub
parent dcc9a2d8f3
commit 9dfb3e8e05
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 103 additions and 55 deletions

View file

@ -190,7 +190,35 @@ SHGetFolderPathAndSubDirW(
_In_opt_ LPCWSTR,
_Out_writes_(MAX_PATH) LPWSTR);
#define SHGetFolderPathAndSubDir WINELIB_NAME_AW(SHGetFolderPathAndSubDir);
#define SHGetFolderPathAndSubDir WINELIB_NAME_AW(SHGetFolderPathAndSubDir)
HRESULT WINAPI
SHSetFolderPathA(
_In_ INT csidl,
_In_ HANDLE hToken,
_In_ DWORD dwFlags,
_In_ LPCSTR pszPath);
HRESULT WINAPI
SHSetFolderPathW(
_In_ INT csidl,
_In_ HANDLE hToken,
_In_ DWORD dwFlags,
_In_ LPCWSTR pszPath);
#define SHSetFolderPath WINELIB_NAME_AW(SHSetFolderPath)
BOOL WINAPI
PathIsSlowA(
_In_ LPCSTR pszFile,
_In_ DWORD dwAttr);
BOOL WINAPI
PathIsSlowW(
_In_ LPCWSTR pszFile,
_In_ DWORD dwAttr);
#define PathIsSlow WINELIB_NAME_AW(PathIsSlow)
_Success_(return != 0)
BOOL
@ -242,7 +270,7 @@ SHPathPrepareForWriteW(
_In_opt_ IUnknown*,
_In_ LPCWSTR, DWORD);
#define SHPathPrepareForWrite WINELIB_NAME_AW(SHPathPrepareForWrite);
#define SHPathPrepareForWrite WINELIB_NAME_AW(SHPathPrepareForWrite)
UINT
WINAPI
@ -342,22 +370,25 @@ HINSTANCE WINAPI SHGetShellStyleHInstance(VOID);
BOOL WINAPI
SHOpenPropSheetA(
_In_opt_z_ LPCSTR pszCaption,
_In_opt_ LPCSTR pszCaption,
_In_opt_ HKEY *ahKeys,
_In_ UINT cKeys,
_In_ const CLSID *pclsidDefault,
_In_ IDataObject *pDataObject,
_In_opt_ IShellBrowser *pShellBrowser,
_In_opt_z_ LPCSTR pszStartPage);
_In_opt_ LPCSTR pszStartPage);
BOOL WINAPI
SHOpenPropSheetW(
_In_opt_z_ LPCWSTR pszCaption,
_In_opt_ LPCWSTR pszCaption,
_In_opt_ HKEY *ahKeys,
_In_ UINT cKeys,
_In_ const CLSID *pclsidDefault,
_In_ IDataObject *pDataObject,
_In_opt_ IShellBrowser *pShellBrowser,
_In_opt_z_ LPCWSTR pszStartPage);
_In_opt_ LPCWSTR pszStartPage);
#define SHOpenPropSheet WINELIB_NAME_AW(SHOpenPropSheet)
/*****************************************************************************
* IContextMenu interface