DWORD WINAPI SHCopyKeyW(HKEY,LPCWSTR,HKEY,DWORD);
#define SHCopyKey WINELIB_NAME_AW(SHCopyKey)
-/* Undocumented registry functions */
-
HKEY WINAPI SHRegDuplicateHKey(HKEY);
+/* SHRegGetValue flags */
+typedef INT SRRF;
+
+#define SRRF_RT_REG_NONE 0x1
+#define SRRF_RT_REG_SZ 0x2
+#define SRRF_RT_REG_EXPAND_SZ 0x4
+#define SRRF_RT_REG_BINARY 0x8
+#define SRRF_RT_REG_DWORD 0x10
+#define SRRF_RT_REG_MULTI_SZ 0x20
+#define SRRF_RT_REG_QWORD 0x40
+
+#define SRRF_RT_DWORD (SRRF_RT_REG_BINARY|SRRF_RT_REG_DWORD)
+#define SRRF_RT_QWORD (SRRF_RT_REG_BINARY|SRRF_RT_REG_QWORD)
+#define SRRF_RT_ANY 0xffff
+
+#define SRRF_RM_ANY 0
+#define SRRF_RM_NORMAL 0x10000
+#define SRRF_RM_SAFE 0x20000
+#define SRRF_RM_SAFENETWORK 0x40000
+
+#define SRRF_NOEXPAND 0x10000000
+#define SRRF_ZEROONFAILURE 0x20000000
+#define SRRF_NOVIRT 0x40000000
+
+LSTATUS WINAPI SHRegGetValueA(HKEY,LPCSTR,LPCSTR,SRRF,LPDWORD,LPVOID,LPDWORD);
+LSTATUS WINAPI SHRegGetValueW(HKEY,LPCWSTR,LPCWSTR,SRRF,LPDWORD,LPVOID,LPDWORD);
+#define SHRegGetValue WINELIB_NAME_AW(SHRegGetValue)
+
+/* Undocumented registry functions */
+
DWORD WINAPI SHDeleteOrphanKeyA(HKEY,LPCSTR);
DWORD WINAPI SHDeleteOrphanKeyW(HKEY,LPCWSTR);
#define SHDeleteOrphanKey WINELIB_NAME_AW(SHDeleteOrphanKey)
ASSOCF_REMAPRUNDLL = 0x080, /* Get rundll args */
ASSOCF_NOFIXUPS = 0x100, /* Don't fixup errors */
ASSOCF_IGNOREBASECLASS = 0x200, /* Don't read baseclass */
+ ASSOCF_INIT_IGNOREUNKNOWN = 0x400, /* Fail for unknown progid */
};
typedef DWORD ASSOCF;
typedef struct IQueryAssociations *LPQUERYASSOCIATIONS;
-#ifndef INTERFACE
#define INTERFACE IQueryAssociations
-#endif
DECLARE_INTERFACE_(IQueryAssociations,IUnknown)
{
/*** IUnknown methods ***/
HRESULT WINAPI PathCreateFromUrlA(LPCSTR pszUrl, LPSTR pszPath, LPDWORD pcchPath, DWORD dwReserved);
HRESULT WINAPI PathCreateFromUrlW(LPCWSTR pszUrl, LPWSTR pszPath, LPDWORD pcchPath, DWORD dwReserved);
-#define PathCreateFromUrl WINELIB_NANE_AW(PathCreateFromUrl)
+#define PathCreateFromUrl WINELIB_NAME_AW(PathCreateFromUrl)
BOOL WINAPI PathFileExistsA(LPCSTR);
BOOL WINAPI PathFileExistsW(LPCWSTR);
URL_SCHEME_MSSHELLROOTED,
URL_SCHEME_MSSHELLIDLIST,
URL_SCHEME_MSHELP,
+ URL_SCHEME_MSSHELLDEVICE,
+ URL_SCHEME_WILDCARD,
+ URL_SCHEME_SEARCH_MS,
+ URL_SCHEME_SEARCH,
+ URL_SCHEME_KNOWNFOLDER,
URL_SCHEME_MAXVALUE
} URL_SCHEME;
HRESULT WINAPI UrlUnescapeA(LPSTR,LPSTR,LPDWORD,DWORD);
HRESULT WINAPI UrlUnescapeW(LPWSTR,LPWSTR,LPDWORD,DWORD);
-#define UrlUnescape WINELIB_AW_NAME(UrlUnescape)
+#define UrlUnescape WINELIB_NAME_AW(UrlUnescape)
#define UrlUnescapeInPlaceA(x,y) UrlUnescapeA(x, NULL, NULL, \
y | URL_UNESCAPE_INPLACE)
#define UrlUnescapeInPlaceW(x,y) UrlUnescapeW(x, NULL, NULL, \
y | URL_UNESCAPE_INPLACE)
-#define UrlUnescapeInPlace WINELIB_AW_NAME(UrlUnescapeInPlace)
+#define UrlUnescapeInPlace WINELIB_NAME_AW(UrlUnescapeInPlace)
HRESULT WINAPI UrlCreateFromPathA(LPCSTR,LPSTR,LPDWORD,DWORD);
HRESULT WINAPI UrlCreateFromPathW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
-#define UrlCreateFromPath WINELIB_AW_NAME(UrlCreateFromPath)
+#define UrlCreateFromPath WINELIB_NAME_AW(UrlCreateFromPath)
typedef struct tagPARSEDURLA {
DWORD cbSize;
HRESULT WINAPI ParseURLA(LPCSTR pszUrl, PARSEDURLA *ppu);
HRESULT WINAPI ParseURLW(LPCWSTR pszUrl, PARSEDURLW *ppu);
-#define ParseURL WINELIB_AW_NAME(ParseUrl)
+#define ParseURL WINELIB_NAME_AW(ParseUrl)
#endif /* NO_SHLWAPI_PATH */
/* A/W Pairing is broken for this function */
LPSTR WINAPI StrFormatByteSize64A (LONGLONG,LPSTR,UINT);
LPWSTR WINAPI StrFormatByteSizeW (LONGLONG,LPWSTR,UINT);
-#ifndef __WINESRC__
+#ifndef WINE_NO_UNICODE_MACROS
#ifdef UNICODE
#define StrFormatByteSize StrFormatByteSizeW
#else
BOOL WINAPI StrTrimW(LPWSTR,LPCWSTR);
#define StrTrim WINELIB_NAME_AW(StrTrim)
-INT WINAPI wvnsprintfA(LPSTR,INT,LPCSTR,va_list);
-INT WINAPI wvnsprintfW(LPWSTR,INT,LPCWSTR,va_list);
+INT WINAPI wvnsprintfA(LPSTR,INT,LPCSTR,__ms_va_list);
+INT WINAPI wvnsprintfW(LPWSTR,INT,LPCWSTR,__ms_va_list);
#define wvnsprintf WINELIB_NAME_AW(wvnsprintf)
INT WINAPIV wnsprintfA(LPSTR,INT,LPCSTR, ...);
#define SHGVSPB_USERDEFAULTS (SHGVSPB_PERUSER | SHGVSPB_ALLFOLDERS)
#define SHGVSPB_GLOBALDEAFAULTS (SHGVSPB_ALLUSERS | SHGVSPB_ALLFOLDERS)
-HRESULT WINAPI SHGetViewStatePropertyBag(PCIDLIST_ABSOLUTE pidl, LPCWSTR pszBagName, DWORD dwFlags, REFIID riid, void** ppv);
+HRESULT WINAPI SHGetViewStatePropertyBag(LPCITEMIDLIST pidl, LPWSTR bag_name, DWORD flags, REFIID riid, void **ppv);
#endif /* (_WIN32_IE >= 0x0600) */
#define TPS_EXECUTEIO 0x00000001
#define TPS_LONGEXECTIME 0x00000008
-#include <poppack.h>
+/* SHFormatDateTimeA/SHFormatDateTimeW flags */
+#define FDTF_SHORTTIME 0x00000001
+#define FDTF_SHORTDATE 0x00000002
+#define FDTF_DEFAULT (FDTF_SHORTDATE | FDTF_SHORTTIME)
+#define FDTF_LONGDATE 0x00000004
+#define FDTF_LONGTIME 0x00000008
+#define FDTF_RELATIVE 0x00000010
+#define FDTF_LTRDATE 0x00000100
+#define FDTF_RTLDATE 0x00000200
+#define FDTF_NOAUTOREADINGORDER 0x00000400
+
+
+typedef struct
+{
+ const IID *piid;
+ int dwOffset;
+} QITAB, *LPQITAB;
+
+HRESULT WINAPI QISearch(void* base, const QITAB *pqit, REFIID riid, void **ppv);
+
+HANDLE WINAPI SHAllocShared(LPVOID pv, ULONG cb, DWORD pid);
+BOOL WINAPI SHFreeShared(HANDLE hMem, DWORD pid);
+LPVOID WINAPI SHLockShared(HANDLE hMem, DWORD pid);
+BOOL WINAPI SHUnlockShared(LPVOID pv);
+
+#include <poppack.h>
#ifdef __cplusplus
} /* extern "C" */