| /** |
| * Windows API header module |
| * |
| * Translated from MinGW Windows headers |
| * |
| * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) |
| * Source: $(DRUNTIMESRC core/sys/windows/_shlwapi.d) |
| */ |
| module core.sys.windows.shlwapi; |
| version (Windows): |
| |
| version (ANSI) {} else version = Unicode; |
| pragma(lib, "shlwapi"); |
| |
| /* Changes compared to MinGW: |
| wnsprintf functions are not included. |
| // Macros unneeded for D |
| #define StrCmpIA lstrcmpiA; |
| #define StrCmpA lstrcmpA; |
| #define StrCpyA lstrcpyA; |
| #define StrCpyNA lstrcpynA; |
| #define MAKEDLLVERULL(major, minor, build, qfe) \ |
| (((ULONGLONG)(major) << 48) | \ |
| ((ULONGLONG)(minor) << 32) | \ |
| ((ULONGLONG)(build) << 16) | \ |
| ((ULONGLONG)( qfe) << 0)) |
| */ |
| |
| import core.sys.windows.objbase, core.sys.windows.shlobj; |
| import core.sys.windows.basetyps, core.sys.windows.objidl, core.sys.windows.unknwn, core.sys.windows.windef, |
| core.sys.windows.winbase, core.sys.windows.winreg; |
| |
| enum DLLVER_PLATFORM_WINDOWS = 0x00000001; |
| enum DLLVER_PLATFORM_NT = 0x00000002; |
| |
| enum URL_DONT_ESCAPE_EXTRA_INFO = 0x02000000; |
| enum URL_DONT_SIMPLIFY = 0x08000000; |
| enum URL_ESCAPE_PERCENT = 0x00001000; |
| enum URL_ESCAPE_SEGMENT_ONLY = 0x00002000; |
| enum URL_ESCAPE_SPACES_ONLY = 0x04000000; |
| enum URL_ESCAPE_UNSAFE = 0x20000000; |
| enum URL_INTERNAL_PATH = 0x00800000; |
| enum URL_PARTFLAG_KEEPSCHEME = 0x00000001; |
| enum URL_PLUGGABLE_PROTOCOL = 0x40000000; |
| enum URL_UNESCAPE = 0x10000000; |
| enum URL_UNESCAPE_HIGH_ANSI_ONLY = 0x00400000; |
| enum URL_UNESCAPE_INPLACE = 0x00100000; |
| |
| align(1): |
| struct DLLVERSIONINFO |
| { |
| DWORD cbSize = this.sizeof; |
| DWORD dwMajorVersion; |
| DWORD dwMinorVersion; |
| DWORD dwBuildNumber; |
| DWORD dwPlatformID; |
| } |
| |
| struct DLLVERSIONINFO2 |
| { |
| DLLVERSIONINFO info1; |
| DWORD dwFlags; |
| ULONGLONG ullVersion; |
| } |
| |
| enum ASSOCSTR { |
| ASSOCSTR_COMMAND, |
| ASSOCSTR_EXECUTABLE, |
| ASSOCSTR_FRIENDLYDOCNAME, |
| ASSOCSTR_FRIENDLYAPPNAME, |
| ASSOCSTR_NOOPEN, |
| ASSOCSTR_SHELLNEWVALUE, |
| ASSOCSTR_DDECOMMAND, |
| ASSOCSTR_DDEIFEXEC, |
| ASSOCSTR_DDEAPPLICATION, |
| ASSOCSTR_DDETOPIC |
| } |
| |
| enum ASSOCKEY |
| { |
| ASSOCKEY_SHELLEXECCLASS = 1, |
| ASSOCKEY_APP, |
| ASSOCKEY_CLASS, |
| ASSOCKEY_BASECLASS |
| } |
| |
| enum ASSOCDATA |
| { |
| ASSOCDATA_MSIDESCRIPTOR = 1, |
| ASSOCDATA_NOACTIVATEHANDLER, |
| ASSOCDATA_QUERYCLASSSTORE |
| } |
| |
| alias ASSOCF = DWORD; |
| |
| enum SHREGDEL_FLAGS |
| { |
| SHREGDEL_DEFAULT = 0x00000000, |
| SHREGDEL_HKCU = 0x00000001, |
| SHREGDEL_HKLM = 0x00000010, |
| SHREGDEL_BOTH = 0x00000011 |
| } |
| |
| enum SHREGENUM_FLAGS |
| { |
| SHREGENUM_DEFAULT = 0x00000000, |
| SHREGENUM_HKCU = 0x00000001, |
| SHREGENUM_HKLM = 0x00000010, |
| SHREGENUM_BOTH = 0x00000011 |
| } |
| |
| enum URLIS |
| { |
| URLIS_URL, |
| URLIS_OPAQUE, |
| URLIS_NOHISTORY, |
| URLIS_FILEURL, |
| URLIS_APPLIABLE, |
| URLIS_DIRECTORY, |
| URLIS_HASQUERY |
| } |
| |
| alias HUSKEY = HANDLE; |
| alias PHUSKEY = HUSKEY*; |
| |
| extern (Windows) |
| { |
| alias DLLGETVERSIONPROC = HRESULT function (DLLVERSIONINFO *); |
| } |
| |
| |
| BOOL IntlStrEqNA(LPCSTR pStr1, LPCSTR pStr2, int nChar) |
| { |
| return IntlStrEqWorkerA(TRUE, pStr1, pStr2, nChar); |
| } |
| |
| BOOL IntlStrEqNW(LPCWSTR pStr1, LPCWSTR pStr2, int nChar) |
| { |
| return IntlStrEqWorkerW(TRUE, pStr1, pStr2, nChar); |
| } |
| |
| BOOL IntlStrEqNIA(LPCSTR pStr1, LPCSTR pStr2, int nChar) |
| { |
| return IntlStrEqWorkerA(FALSE, pStr1, pStr2, nChar); |
| } |
| |
| BOOL IntlStrEqNIW(LPCWSTR pStr1, LPCWSTR pStr2, int nChar) |
| { |
| return IntlStrEqWorkerW(FALSE, pStr1, pStr2, nChar); |
| } |
| |
| BOOL UrlIsFileUrlA(LPCSTR pszURL) |
| { |
| return UrlIsA(pszURL, URLIS.URLIS_FILEURL); |
| } |
| |
| BOOL UrlIsFileUrlW(LPCWSTR pszURL) |
| { |
| return UrlIsW(pszURL, URLIS.URLIS_FILEURL); |
| } |
| |
| HRESULT UrlUnescapeInPlaceA(LPSTR pszUrl, DWORD dwFlags) |
| { |
| return UrlUnescapeA(pszUrl, null, null, dwFlags | URL_UNESCAPE_INPLACE); |
| } |
| HRESULT UrlUnescapeInPlaceW(LPWSTR pszUrl, DWORD dwFlags) |
| { |
| return UrlUnescapeW(pszUrl, null, null, dwFlags | URL_UNESCAPE_INPLACE); |
| } |
| |
| extern (Windows): |
| BOOL ChrCmpIA(WORD, WORD); |
| BOOL ChrCmpIW(WCHAR, WCHAR); |
| BOOL IntlStrEqWorkerA(BOOL, LPCSTR, LPCSTR, int); |
| BOOL IntlStrEqWorkerW(BOOL, LPCWSTR, LPCWSTR, int); |
| HRESULT SHStrDupA(LPCSTR, LPWSTR*); |
| HRESULT SHStrDupW(LPCWSTR, LPWSTR*); |
| LPSTR StrCatA(LPSTR, LPCSTR); |
| LPWSTR StrCatW(LPWSTR, LPCWSTR); |
| LPSTR StrCatBuffA(LPSTR, LPCSTR, int); |
| LPWSTR StrCatBuffW(LPWSTR, LPCWSTR, int); |
| DWORD StrCatChainW(LPWSTR, DWORD, DWORD, LPCWSTR); |
| LPSTR StrChrA(LPCSTR, WORD); |
| LPWSTR StrChrW(LPCWSTR, WCHAR); |
| LPSTR StrChrIA(LPCSTR, WORD); |
| LPWSTR StrChrIW(LPCWSTR, WCHAR); |
| int StrCmpIW(LPCWSTR, LPCWSTR); |
| int StrCmpW(LPCWSTR, LPCWSTR); |
| LPWSTR StrCpyW(LPWSTR, LPCWSTR); |
| LPWSTR StrCpyNW(LPWSTR, LPCWSTR, int); |
| int StrCmpNA(LPCSTR, LPCSTR, int); |
| int StrCmpNW(LPCWSTR, LPCWSTR, int); |
| int StrCmpNIA(LPCSTR, LPCSTR, int); |
| int StrCmpNIW(LPCWSTR, LPCWSTR, int); |
| int StrCSpnA(LPCSTR, LPCSTR); |
| int StrCSpnW(LPCWSTR, LPCWSTR); |
| int StrCSpnIA(LPCSTR, LPCSTR); |
| int StrCSpnIW(LPCWSTR, LPCWSTR); |
| LPSTR StrDupA(LPCSTR); |
| LPWSTR StrDupW(LPCWSTR); |
| LPSTR StrFormatByteSize64A(LONGLONG, LPSTR, UINT); |
| LPSTR StrFormatByteSizeA(DWORD, LPSTR, UINT); |
| LPWSTR StrFormatByteSizeW(LONGLONG, LPWSTR, UINT); |
| LPSTR StrFormatKBSizeA(LONGLONG, LPSTR, UINT); |
| LPWSTR StrFormatKBSizeW(LONGLONG, LPWSTR, UINT); |
| int StrFromTimeIntervalA(LPSTR, UINT, DWORD, int); |
| int StrFromTimeIntervalW(LPWSTR, UINT, DWORD, int); |
| BOOL StrIsIntlEqualA(BOOL, LPCSTR, LPCSTR, int); |
| BOOL StrIsIntlEqualW(BOOL, LPCWSTR, LPCWSTR, int); |
| LPSTR StrNCatA(LPSTR, LPCSTR, int); |
| LPWSTR StrNCatW(LPWSTR, LPCWSTR, int); |
| LPSTR StrPBrkA(LPCSTR, LPCSTR); |
| LPWSTR StrPBrkW(LPCWSTR, LPCWSTR); |
| LPSTR StrRChrA(LPCSTR, LPCSTR, WORD); |
| LPWSTR StrRChrW(LPCWSTR, LPCWSTR, WCHAR); |
| LPSTR StrRChrIA(LPCSTR, LPCSTR, WORD); |
| LPWSTR StrRChrIW(LPCWSTR, LPCWSTR, WCHAR); |
| LPSTR StrRStrIA(LPCSTR, LPCSTR, LPCSTR); |
| LPWSTR StrRStrIW(LPCWSTR, LPCWSTR, LPCWSTR); |
| int StrSpnA(LPCSTR, LPCSTR); |
| int StrSpnW(LPCWSTR, LPCWSTR); |
| LPSTR StrStrA(LPCSTR, LPCSTR); |
| LPSTR StrStrIA(LPCSTR, LPCSTR); |
| LPWSTR StrStrIW(LPCWSTR, LPCWSTR); |
| LPWSTR StrStrW(LPCWSTR, LPCWSTR); |
| int StrToIntA(LPCSTR); |
| int StrToIntW(LPCWSTR); |
| BOOL StrToIntExA(LPCSTR, DWORD, int*); |
| BOOL StrToIntExW(LPCWSTR, DWORD, int*); |
| BOOL StrTrimA(LPSTR, LPCSTR); |
| BOOL StrTrimW(LPWSTR, LPCWSTR); |
| LPSTR PathAddBackslashA(LPSTR); |
| LPWSTR PathAddBackslashW(LPWSTR); |
| BOOL PathAddExtensionA(LPSTR, LPCSTR); |
| BOOL PathAddExtensionW(LPWSTR, LPCWSTR); |
| BOOL PathAppendA(LPSTR, LPCSTR); |
| BOOL PathAppendW(LPWSTR, LPCWSTR); |
| LPSTR PathBuildRootA(LPSTR, int); |
| LPWSTR PathBuildRootW(LPWSTR, int); |
| BOOL PathCanonicalizeA(LPSTR, LPCSTR); |
| BOOL PathCanonicalizeW(LPWSTR, LPCWSTR); |
| LPSTR PathCombineA(LPSTR, LPCSTR, LPCSTR); |
| LPWSTR PathCombineW(LPWSTR, LPCWSTR, LPCWSTR); |
| int PathCommonPrefixA(LPCSTR, LPCSTR, LPSTR); |
| int PathCommonPrefixW(LPCWSTR, LPCWSTR, LPWSTR); |
| BOOL PathCompactPathA(HDC, LPSTR, UINT); |
| BOOL PathCompactPathW(HDC, LPWSTR, UINT); |
| BOOL PathCompactPathExA(LPSTR, LPCSTR, UINT, DWORD); |
| BOOL PathCompactPathExW(LPWSTR, LPCWSTR, UINT, DWORD); |
| HRESULT PathCreateFromUrlA(LPCSTR, LPSTR, LPDWORD, DWORD); |
| HRESULT PathCreateFromUrlW(LPCWSTR, LPWSTR, LPDWORD, DWORD); |
| BOOL PathFileExistsA(LPCSTR); |
| BOOL PathFileExistsW(LPCWSTR); |
| LPSTR PathFindExtensionA(LPCSTR); |
| LPWSTR PathFindExtensionW(LPCWSTR); |
| LPSTR PathFindFileNameA(LPCSTR); |
| LPWSTR PathFindFileNameW(LPCWSTR); |
| LPSTR PathFindNextComponentA(LPCSTR); |
| LPWSTR PathFindNextComponentW(LPCWSTR); |
| BOOL PathFindOnPathA(LPSTR, LPCSTR*); |
| BOOL PathFindOnPathW(LPWSTR, LPCWSTR*); |
| LPCSTR PathFindSuffixArrayA(LPCSTR, LPCSTR*, int); |
| LPCWSTR PathFindSuffixArrayW(LPCWSTR, LPCWSTR*, int); |
| LPSTR PathGetArgsA(LPCSTR); |
| LPWSTR PathGetArgsW(LPCWSTR); |
| UINT PathGetCharTypeA(UCHAR); |
| UINT PathGetCharTypeW(WCHAR); |
| int PathGetDriveNumberA(LPCSTR); |
| int PathGetDriveNumberW(LPCWSTR); |
| BOOL PathIsContentTypeA(LPCSTR, LPCSTR); |
| BOOL PathIsContentTypeW(LPCWSTR, LPCWSTR); |
| BOOL PathIsDirectoryA(LPCSTR); |
| BOOL PathIsDirectoryEmptyA(LPCSTR); |
| BOOL PathIsDirectoryEmptyW(LPCWSTR); |
| BOOL PathIsDirectoryW(LPCWSTR); |
| BOOL PathIsFileSpecA(LPCSTR); |
| BOOL PathIsFileSpecW(LPCWSTR); |
| BOOL PathIsLFNFileSpecA(LPCSTR); |
| BOOL PathIsLFNFileSpecW(LPCWSTR); |
| BOOL PathIsNetworkPathA(LPCSTR); |
| BOOL PathIsNetworkPathW(LPCWSTR); |
| BOOL PathIsPrefixA(LPCSTR, LPCSTR); |
| BOOL PathIsPrefixW(LPCWSTR, LPCWSTR); |
| BOOL PathIsRelativeA(LPCSTR); |
| BOOL PathIsRelativeW(LPCWSTR); |
| BOOL PathIsRootA(LPCSTR); |
| BOOL PathIsRootW(LPCWSTR); |
| BOOL PathIsSameRootA(LPCSTR, LPCSTR); |
| BOOL PathIsSameRootW(LPCWSTR, LPCWSTR); |
| BOOL PathIsSystemFolderA(LPCSTR, DWORD); |
| BOOL PathIsSystemFolderW(LPCWSTR, DWORD); |
| BOOL PathIsUNCA(LPCSTR); |
| BOOL PathIsUNCServerA(LPCSTR); |
| BOOL PathIsUNCServerShareA(LPCSTR); |
| BOOL PathIsUNCServerShareW(LPCWSTR); |
| BOOL PathIsUNCServerW(LPCWSTR); |
| BOOL PathIsUNCW(LPCWSTR); |
| BOOL PathIsURLA(LPCSTR); |
| BOOL PathIsURLW(LPCWSTR); |
| BOOL PathMakePrettyA(LPSTR); |
| BOOL PathMakePrettyW(LPWSTR); |
| BOOL PathMakeSystemFolderA(LPSTR); |
| BOOL PathMakeSystemFolderW(LPWSTR); |
| BOOL PathMatchSpecA(LPCSTR, LPCSTR); |
| BOOL PathMatchSpecW(LPCWSTR, LPCWSTR); |
| int PathParseIconLocationA(LPSTR); |
| int PathParseIconLocationW(LPWSTR); |
| void PathQuoteSpacesA(LPSTR); |
| void PathQuoteSpacesW(LPWSTR); |
| BOOL PathRelativePathToA(LPSTR, LPCSTR, DWORD, LPCSTR, DWORD); |
| BOOL PathRelativePathToW(LPWSTR, LPCWSTR, DWORD, LPCWSTR, DWORD); |
| void PathRemoveArgsA(LPSTR); |
| void PathRemoveArgsW(LPWSTR); |
| LPSTR PathRemoveBackslashA(LPSTR); |
| LPWSTR PathRemoveBackslashW(LPWSTR); |
| void PathRemoveBlanksA(LPSTR); |
| void PathRemoveBlanksW(LPWSTR); |
| void PathRemoveExtensionA(LPSTR); |
| void PathRemoveExtensionW(LPWSTR); |
| BOOL PathRemoveFileSpecA(LPSTR); |
| BOOL PathRemoveFileSpecW(LPWSTR); |
| BOOL PathRenameExtensionA(LPSTR, LPCSTR); |
| BOOL PathRenameExtensionW(LPWSTR, LPCWSTR); |
| BOOL PathSearchAndQualifyA(LPCSTR, LPSTR, UINT); |
| BOOL PathSearchAndQualifyW(LPCWSTR, LPWSTR, UINT); |
| void PathSetDlgItemPathA(HWND, int, LPCSTR); |
| void PathSetDlgItemPathW(HWND, int, LPCWSTR); |
| LPSTR PathSkipRootA(LPCSTR); |
| LPWSTR PathSkipRootW(LPCWSTR); |
| void PathStripPathA(LPSTR); |
| void PathStripPathW(LPWSTR); |
| BOOL PathStripToRootA(LPSTR); |
| BOOL PathStripToRootW(LPWSTR); |
| void PathUndecorateA(LPSTR); |
| void PathUndecorateW(LPWSTR); |
| BOOL PathUnExpandEnvStringsA(LPCSTR, LPSTR, UINT); |
| BOOL PathUnExpandEnvStringsW(LPCWSTR, LPWSTR, UINT); |
| BOOL PathUnmakeSystemFolderA(LPSTR); |
| BOOL PathUnmakeSystemFolderW(LPWSTR); |
| void PathUnquoteSpacesA(LPSTR); |
| void PathUnquoteSpacesW(LPWSTR); |
| HRESULT SHAutoComplete(HWND, DWORD); |
| BOOL SHCreateThread(LPTHREAD_START_ROUTINE, void*, DWORD, LPTHREAD_START_ROUTINE); |
| DWORD SHCopyKeyA(HKEY, LPCSTR, HKEY, DWORD); |
| DWORD SHCopyKeyW(HKEY, LPCWSTR, HKEY, DWORD); |
| DWORD SHDeleteEmptyKeyA(HKEY, LPCSTR); |
| DWORD SHDeleteEmptyKeyW(HKEY, LPCWSTR); |
| DWORD SHDeleteKeyA(HKEY, LPCSTR); |
| DWORD SHDeleteKeyW(HKEY, LPCWSTR); |
| DWORD SHEnumKeyExA(HKEY, DWORD, LPSTR, LPDWORD); |
| DWORD SHEnumKeyExW(HKEY, DWORD, LPWSTR, LPDWORD); |
| DWORD SHQueryInfoKeyA(HKEY, LPDWORD, LPDWORD, LPDWORD, LPDWORD); |
| DWORD SHQueryInfoKeyW(HKEY, LPDWORD, LPDWORD, LPDWORD, LPDWORD); |
| DWORD SHQueryValueExA(HKEY, LPCSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD); |
| DWORD SHQueryValueExW(HKEY, LPCWSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD); |
| HRESULT SHGetThreadRef(IUnknown*); |
| HRESULT SHSetThreadRef(IUnknown); |
| BOOL SHSkipJunction(IBindCtx, const(CLSID)*); |
| DWORD SHEnumValueA(HKEY, DWORD, LPSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD); |
| DWORD SHEnumValueW(HKEY, DWORD, LPWSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD); |
| DWORD SHGetValueA(HKEY, LPCSTR, LPCSTR, LPDWORD, LPVOID, LPDWORD); |
| DWORD SHGetValueW(HKEY, LPCWSTR, LPCWSTR, LPDWORD, LPVOID, LPDWORD); |
| DWORD SHSetValueA(HKEY, LPCSTR, LPCSTR, DWORD, LPCVOID, DWORD); |
| DWORD SHSetValueW(HKEY, LPCWSTR, LPCWSTR, DWORD, LPCVOID, DWORD); |
| DWORD SHDeleteValueA(HKEY, LPCSTR, LPCSTR); |
| DWORD SHDeleteValueW(HKEY, LPCWSTR, LPCWSTR); |
| HRESULT AssocCreate(CLSID, const(IID)* , const(LPVOID)*); |
| HRESULT AssocQueryKeyA(ASSOCF, ASSOCKEY, LPCSTR, LPCSTR, HKEY*); |
| HRESULT AssocQueryKeyW(ASSOCF, ASSOCKEY, LPCWSTR, LPCWSTR, HKEY*); |
| HRESULT AssocQueryStringA(ASSOCF, ASSOCSTR, LPCSTR, LPCSTR, LPSTR, DWORD*); |
| HRESULT AssocQueryStringByKeyA(ASSOCF, ASSOCSTR, HKEY, LPCSTR, LPSTR, DWORD*); |
| HRESULT AssocQueryStringByKeyW(ASSOCF, ASSOCSTR, HKEY, LPCWSTR, LPWSTR, DWORD*); |
| HRESULT AssocQueryStringW(ASSOCF, ASSOCSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD*); |
| HRESULT UrlApplySchemeA(LPCSTR, LPSTR, LPDWORD, DWORD); |
| HRESULT UrlApplySchemeW(LPCWSTR, LPWSTR, LPDWORD, DWORD); |
| HRESULT UrlCanonicalizeA(LPCSTR, LPSTR, LPDWORD, DWORD); |
| HRESULT UrlCanonicalizeW(LPCWSTR, LPWSTR, LPDWORD, DWORD); |
| HRESULT UrlCombineA(LPCSTR, LPCSTR, LPSTR, LPDWORD, DWORD); |
| HRESULT UrlCombineW(LPCWSTR, LPCWSTR, LPWSTR, LPDWORD, DWORD); |
| int UrlCompareA(LPCSTR, LPCSTR, BOOL); |
| int UrlCompareW(LPCWSTR, LPCWSTR, BOOL); |
| HRESULT UrlCreateFromPathA(LPCSTR, LPSTR, LPDWORD, DWORD); |
| HRESULT UrlCreateFromPathW(LPCWSTR, LPWSTR, LPDWORD, DWORD); |
| HRESULT UrlEscapeA(LPCSTR, LPSTR, LPDWORD, DWORD); |
| HRESULT UrlEscapeW(LPCWSTR, LPWSTR, LPDWORD, DWORD); |
| LPCSTR UrlGetLocationA(LPCSTR); |
| LPCWSTR UrlGetLocationW(LPCWSTR); |
| HRESULT UrlGetPartA(LPCSTR, LPSTR, LPDWORD, DWORD, DWORD); |
| HRESULT UrlGetPartW(LPCWSTR, LPWSTR, LPDWORD, DWORD, DWORD); |
| HRESULT UrlHashA(LPCSTR, LPBYTE, DWORD); |
| HRESULT UrlHashW(LPCWSTR, LPBYTE, DWORD); |
| BOOL UrlIsA(LPCSTR, URLIS); |
| BOOL UrlIsW(LPCWSTR, URLIS); |
| BOOL UrlIsNoHistoryA(LPCSTR); |
| BOOL UrlIsNoHistoryW(LPCWSTR); |
| BOOL UrlIsOpaqueA(LPCSTR); |
| BOOL UrlIsOpaqueW(LPCWSTR); |
| HRESULT UrlUnescapeA(LPSTR, LPSTR, LPDWORD, DWORD); |
| HRESULT UrlUnescapeW(LPWSTR, LPWSTR, LPDWORD, DWORD); |
| DWORD SHRegCloseUSKey(HUSKEY); |
| LONG SHRegCreateUSKeyA(LPCSTR, REGSAM, HUSKEY, PHUSKEY, DWORD); |
| LONG SHRegCreateUSKeyW(LPCWSTR, REGSAM, HUSKEY, PHUSKEY, DWORD); |
| LONG SHRegDeleteEmptyUSKeyA(HUSKEY, LPCSTR, SHREGDEL_FLAGS); |
| LONG SHRegDeleteEmptyUSKeyW(HUSKEY, LPCWSTR, SHREGDEL_FLAGS); |
| LONG SHRegDeleteUSValueA(HUSKEY, LPCSTR, SHREGDEL_FLAGS); |
| LONG SHRegDeleteUSValueW(HUSKEY, LPCWSTR, SHREGDEL_FLAGS); |
| HKEY SHRegDuplicateHKey(HKEY); |
| DWORD SHRegEnumUSKeyA(HUSKEY, DWORD, LPSTR, LPDWORD, SHREGENUM_FLAGS); |
| DWORD SHRegEnumUSKeyW(HUSKEY, DWORD, LPWSTR, LPDWORD, SHREGENUM_FLAGS); |
| DWORD SHRegEnumUSValueA(HUSKEY, DWORD, LPSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD, SHREGENUM_FLAGS); |
| DWORD SHRegEnumUSValueW(HUSKEY, DWORD, LPWSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD, SHREGENUM_FLAGS); |
| BOOL SHRegGetBoolUSValueA(LPCSTR, LPCSTR, BOOL, BOOL); |
| BOOL SHRegGetBoolUSValueW(LPCWSTR, LPCWSTR, BOOL, BOOL); |
| DWORD SHRegGetPathA(HKEY, LPCSTR, LPCSTR, LPSTR, DWORD); |
| DWORD SHRegGetPathW(HKEY, LPCWSTR, LPCWSTR, LPWSTR, DWORD); |
| LONG SHRegGetUSValueA(LPCSTR, LPCSTR, LPDWORD, LPVOID, LPDWORD, BOOL, LPVOID, DWORD); |
| LONG SHRegGetUSValueW(LPCWSTR, LPCWSTR, LPDWORD, LPVOID, LPDWORD, BOOL, LPVOID, DWORD); |
| LONG SHRegOpenUSKeyA(LPCSTR, REGSAM, HUSKEY, PHUSKEY, BOOL); |
| LONG SHRegOpenUSKeyW(LPCWSTR, REGSAM, HUSKEY, PHUSKEY, BOOL); |
| DWORD SHRegQueryInfoUSKeyA(HUSKEY, LPDWORD, LPDWORD, LPDWORD, LPDWORD, SHREGENUM_FLAGS); |
| DWORD SHRegQueryInfoUSKeyW(HUSKEY, LPDWORD, LPDWORD, LPDWORD, LPDWORD, SHREGENUM_FLAGS); |
| LONG SHRegQueryUSValueA(HUSKEY, LPCSTR, LPDWORD, LPVOID, LPDWORD, BOOL, LPVOID, DWORD); |
| LONG SHRegQueryUSValueW(HUSKEY, LPCWSTR, LPDWORD, LPVOID, LPDWORD, BOOL, LPVOID, DWORD); |
| DWORD SHRegSetPathA(HKEY, LPCSTR, LPCSTR, LPCSTR, DWORD); |
| DWORD SHRegSetPathW(HKEY, LPCWSTR, LPCWSTR, LPCWSTR, DWORD); |
| LONG SHRegSetUSValueA(LPCSTR, LPCSTR, DWORD, LPVOID, DWORD, DWORD); |
| LONG SHRegSetUSValueW(LPCWSTR, LPCWSTR, DWORD, LPVOID, DWORD, DWORD); |
| LONG SHRegWriteUSValueA(HUSKEY, LPCSTR, DWORD, LPVOID, DWORD, DWORD); |
| LONG SHRegWriteUSValueW(HUSKEY, LPCWSTR, DWORD, LPVOID, DWORD, DWORD); |
| HRESULT HashData(LPBYTE, DWORD, LPBYTE, DWORD); |
| HPALETTE SHCreateShellPalette(HDC); |
| COLORREF ColorHLSToRGB(WORD, WORD, WORD); |
| COLORREF ColorAdjustLuma(COLORREF, int, BOOL); |
| void ColorRGBToHLS(COLORREF, WORD*, WORD*, WORD*); |
| /** Should not be necessary for D? |
| extern (C): |
| int wnsprintfA(LPSTR, int, LPCSTR, ...); |
| int wnsprintfW(LPWSTR, int, LPCWSTR, ...); |
| extern (Windows): |
| int wvnsprintfA(LPSTR, int, LPCSTR, va_list); |
| int wvnsprintfW(LPWSTR, int, LPCWSTR, va_list); |
| */ |
| |
| HINSTANCE MLLoadLibraryA(LPCSTR, HANDLE, DWORD, LPCSTR, BOOL); |
| HINSTANCE MLLoadLibraryW(LPCWSTR, HANDLE, DWORD, LPCWSTR, BOOL); |
| |
| HRESULT DllInstall(BOOL, LPCWSTR); |
| |
| HRESULT StrRetToBufA(LPSTRRET, LPCITEMIDLIST, LPSTR, UINT); |
| HRESULT StrRetToBufW(LPSTRRET, LPCITEMIDLIST, LPWSTR, UINT); |
| HRESULT StrRetToStrA(LPSTRRET, LPCITEMIDLIST, LPSTR*); |
| HRESULT StrRetToStrW(LPSTRRET, LPCITEMIDLIST, LPWSTR*); |
| HRESULT SHCreateStreamOnFileA(LPCSTR, DWORD, IStream*); |
| HRESULT SHCreateStreamOnFileW(LPCWSTR, DWORD, IStream*); |
| IStream SHOpenRegStream2A(HKEY, LPCSTR, LPCSTR, DWORD); |
| IStream SHOpenRegStream2W(HKEY, LPCWSTR, LPCWSTR, DWORD); |
| IStream SHOpenRegStreamA(HKEY, LPCSTR, LPCSTR, DWORD); |
| IStream SHOpenRegStreamW(HKEY, LPCWSTR, LPCWSTR, DWORD); |
| |
| version (Unicode) { |
| alias ChrCmpI = ChrCmpIW; |
| alias IntlStrEqN = IntlStrEqNW; |
| alias IntlStrEqNI = IntlStrEqNIW; |
| alias IntlStrEqWorker = IntlStrEqWorkerW; |
| alias SHStrDup = SHStrDupW; |
| alias StrCat = StrCatW; |
| alias StrCatBuff = StrCatBuffW; |
| alias StrChr = StrChrW; |
| alias StrChrI = StrChrIW; |
| alias StrCmp = StrCmpW; |
| alias StrCmpI = StrCmpIW; |
| alias StrCmpNI = StrCmpNIW; |
| alias StrCmpN = StrCmpNW; |
| alias StrCpyN = StrCpyNW; |
| alias StrCpy = StrCpyW; |
| alias StrCSpnI = StrCSpnIW; |
| alias StrCSpn = StrCSpnW; |
| alias StrDup = StrDupW; |
| alias StrFormatByteSize = StrFormatByteSizeW; |
| alias StrFormatKBSize = StrFormatKBSizeW; |
| alias StrFromTimeInterval = StrFromTimeIntervalW; |
| alias StrIsIntlEqual = StrIsIntlEqualW; |
| alias StrNCat = StrNCatW; |
| alias StrPBrk = StrPBrkW; |
| alias StrRChr = StrRChrW; |
| alias StrRChrI = StrRChrIW; |
| alias StrRetToBuf = StrRetToBufW; |
| alias StrRetToStr = StrRetToStrW; |
| alias StrRStrI = StrRStrIW; |
| alias StrSpn = StrSpnW; |
| alias StrStrI = StrStrIW; |
| alias StrStr = StrStrW; |
| alias StrToInt = StrToIntW; |
| alias StrToIntEx = StrToIntExW; |
| alias StrTrim = StrTrimW; |
| alias PathAddBackslash = PathAddBackslashW; |
| alias PathAddExtension = PathAddExtensionW; |
| alias PathAppend = PathAppendW; |
| alias PathBuildRoot = PathBuildRootW; |
| alias PathCanonicalize = PathCanonicalizeW; |
| alias PathCombine = PathCombineW; |
| alias PathCommonPrefix = PathCommonPrefixW; |
| alias PathCompactPath = PathCompactPathW; |
| alias PathCompactPathEx = PathCompactPathExW; |
| alias PathCreateFromUrl = PathCreateFromUrlW; |
| alias PathFileExists = PathFileExistsW; |
| alias PathFindExtension = PathFindExtensionW; |
| alias PathFindFileName = PathFindFileNameW; |
| alias PathFindNextComponent = PathFindNextComponentW; |
| alias PathFindOnPath = PathFindOnPathW; |
| alias PathFindSuffixArray = PathFindSuffixArrayW; |
| alias PathGetArgs = PathGetArgsW; |
| alias PathGetCharType = PathGetCharTypeW; |
| alias PathGetDriveNumber = PathGetDriveNumberW; |
| alias PathIsContentType = PathIsContentTypeW; |
| alias PathIsDirectoryEmpty = PathIsDirectoryEmptyW; |
| alias PathIsDirectory = PathIsDirectoryW; |
| alias PathIsFileSpec = PathIsFileSpecW; |
| alias PathIsLFNFileSpec = PathIsLFNFileSpecW; |
| alias PathIsNetworkPath = PathIsNetworkPathW; |
| alias PathIsPrefix = PathIsPrefixW; |
| alias PathIsRelative = PathIsRelativeW; |
| alias PathIsRoot = PathIsRootW; |
| alias PathIsSameRoot = PathIsSameRootW; |
| alias PathIsSystemFolder = PathIsSystemFolderW; |
| alias PathIsUNCServerShare = PathIsUNCServerShareW; |
| alias PathIsUNCServer = PathIsUNCServerW; |
| alias PathIsUNC = PathIsUNCW; |
| alias PathIsURL = PathIsURLW; |
| alias PathMakePretty = PathMakePrettyW; |
| alias PathMakeSystemFolder = PathMakeSystemFolderW; |
| alias PathMatchSpec = PathMatchSpecW; |
| alias PathParseIconLocation = PathParseIconLocationW; |
| alias PathQuoteSpaces = PathQuoteSpacesW; |
| alias PathRelativePathTo = PathRelativePathToW; |
| alias PathRemoveArgs = PathRemoveArgsW; |
| alias PathRemoveBackslash = PathRemoveBackslashW; |
| alias PathRemoveBlanks = PathRemoveBlanksW; |
| alias PathRemoveExtension = PathRemoveExtensionW; |
| alias PathRemoveFileSpec = PathRemoveFileSpecW; |
| alias PathRenameExtension = PathRenameExtensionW; |
| alias PathSearchAndQualify = PathSearchAndQualifyW; |
| alias PathSetDlgItemPath = PathSetDlgItemPathW; |
| alias PathSkipRoot = PathSkipRootW; |
| alias PathStripPath = PathStripPathW; |
| alias PathStripToRoot = PathStripToRootW; |
| alias PathUndecorate = PathUndecorateW; |
| alias PathUnExpandEnvStrings = PathUnExpandEnvStringsW; |
| alias PathUnmakeSystemFolder = PathUnmakeSystemFolderW; |
| alias PathUnquoteSpaces = PathUnquoteSpacesW; |
| alias SHCreateStreamOnFile = SHCreateStreamOnFileW; |
| alias SHOpenRegStream = SHOpenRegStreamW; |
| alias SHOpenRegStream2 = SHOpenRegStream2W; |
| alias SHCopyKey = SHCopyKeyW; |
| alias SHDeleteEmptyKey = SHDeleteEmptyKeyW; |
| alias SHDeleteKey = SHDeleteKeyW; |
| alias SHEnumKeyEx = SHEnumKeyExW; |
| alias SHQueryInfoKey = SHQueryInfoKeyW; |
| alias SHQueryValueEx = SHQueryValueExW; |
| alias SHEnumValue = SHEnumValueW; |
| alias SHGetValue = SHGetValueW; |
| alias SHSetValue = SHSetValueW; |
| alias SHDeleteValue = SHDeleteValueW; |
| alias AssocQueryKey = AssocQueryKeyW; |
| alias AssocQueryStringByKey = AssocQueryStringByKeyW; |
| alias AssocQueryString = AssocQueryStringW; |
| alias UrlApplyScheme = UrlApplySchemeW; |
| alias UrlCanonicalize = UrlCanonicalizeW; |
| alias UrlCombine = UrlCombineW; |
| alias UrlCompare = UrlCompareW; |
| alias UrlCreateFromPath = UrlCreateFromPathW; |
| alias UrlEscape = UrlEscapeW; |
| alias UrlGetLocation = UrlGetLocationW; |
| alias UrlGetPart = UrlGetPartW; |
| alias UrlHash = UrlHashW; |
| alias UrlIs = UrlIsW; |
| alias UrlIsFileUrl = UrlIsFileUrlW; |
| alias UrlIsNoHistory = UrlIsNoHistoryW; |
| alias UrlIsOpaque = UrlIsOpaqueW; |
| alias UrlUnescape = UrlUnescapeW; |
| alias UrlUnescapeInPlace = UrlUnescapeInPlaceW; |
| alias SHRegCreateUSKey = SHRegCreateUSKeyW; |
| alias SHRegDeleteEmptyUSKey = SHRegDeleteEmptyUSKeyW; |
| alias SHRegDeleteUSValue = SHRegDeleteUSValueW; |
| alias SHRegEnumUSKey = SHRegEnumUSKeyW; |
| alias SHRegEnumUSValue = SHRegEnumUSValueW; |
| alias SHRegGetBoolUSValue = SHRegGetBoolUSValueW; |
| alias SHRegGetPath = SHRegGetPathW; |
| alias SHRegGetUSValue = SHRegGetUSValueW; |
| alias SHRegOpenUSKey = SHRegOpenUSKeyW; |
| alias SHRegQueryInfoUSKey = SHRegQueryInfoUSKeyW; |
| alias SHRegQueryUSValue = SHRegQueryUSValueW; |
| alias SHRegSetPath = SHRegSetPathW; |
| alias SHRegSetUSValue = SHRegSetUSValueW; |
| alias SHRegWriteUSValue = SHRegWriteUSValueW; |
| //alias wnsprintfW wnsprintf; |
| //alias wvnsprintfW wvnsprintf; |
| } else { |
| alias ChrCmpI = ChrCmpIA; |
| alias IntlStrEqN = IntlStrEqNA; |
| alias IntlStrEqNI = IntlStrEqNIA; |
| alias IntlStrEqWorker = IntlStrEqWorkerA; |
| alias SHStrDup = SHStrDupA; |
| alias StrCatBuff = StrCatBuffA; |
| alias StrChr = StrChrA; |
| alias StrChrI = StrChrIA; |
| alias StrCmpNI = StrCmpNIA; |
| alias StrCmpN = StrCmpNA; |
| alias StrCSpnI = StrCSpnIA; |
| alias StrCSpn = StrCSpnA; |
| alias StrDup = StrDupA; |
| alias StrFormatByteSize = StrFormatByteSizeA; |
| alias StrFormatKBSize = StrFormatKBSizeA; |
| alias StrFromTimeInterval = StrFromTimeIntervalA; |
| alias StrIsIntlEqual = StrIsIntlEqualA; |
| alias StrNCat = StrNCatA; |
| alias StrPBrk = StrPBrkA; |
| alias StrRChr = StrRChrA; |
| alias StrRChrI = StrRChrIA; |
| alias StrRetToBuf = StrRetToBufA; |
| alias StrRetToStr = StrRetToStrA; |
| alias StrRStrI = StrRStrIA; |
| alias StrSpn = StrSpnA; |
| alias StrStrI = StrStrIA; |
| alias StrStr = StrStrA; |
| alias StrToInt = StrToIntA; |
| alias StrToIntEx = StrToIntExA; |
| alias StrTrim = StrTrimA; |
| alias PathAddBackslash = PathAddBackslashA; |
| alias PathAddExtension = PathAddExtensionA; |
| alias PathAppend = PathAppendA; |
| alias PathBuildRoot = PathBuildRootA; |
| alias PathCanonicalize = PathCanonicalizeA; |
| alias PathCombine = PathCombineA; |
| alias PathCommonPrefix = PathCommonPrefixA; |
| alias PathCompactPath = PathCompactPathA; |
| alias PathCompactPathEx = PathCompactPathExA; |
| alias PathCreateFromUrl = PathCreateFromUrlA; |
| alias PathFileExists = PathFileExistsA; |
| alias PathFindExtension = PathFindExtensionA; |
| alias PathFindFileName = PathFindFileNameA; |
| alias PathFindNextComponent = PathFindNextComponentA; |
| alias PathFindOnPath = PathFindOnPathA; |
| alias PathFindSuffixArray = PathFindSuffixArrayA; |
| alias PathGetArgs = PathGetArgsA; |
| alias PathGetCharType = PathGetCharTypeA; |
| alias PathGetDriveNumber = PathGetDriveNumberA; |
| alias PathIsContentType = PathIsContentTypeA; |
| alias PathIsDirectoryEmpty = PathIsDirectoryEmptyA; |
| alias PathIsDirectory = PathIsDirectoryA; |
| alias PathIsFileSpec = PathIsFileSpecA; |
| alias PathIsLFNFileSpec = PathIsLFNFileSpecA; |
| alias PathIsNetworkPath = PathIsNetworkPathA; |
| alias PathIsPrefix = PathIsPrefixA; |
| alias PathIsRelative = PathIsRelativeA; |
| alias PathIsRoot = PathIsRootA; |
| alias PathIsSameRoot = PathIsSameRootA; |
| alias PathIsSystemFolder = PathIsSystemFolderA; |
| alias PathIsUNCServerShare = PathIsUNCServerShareA; |
| alias PathIsUNCServer = PathIsUNCServerA; |
| alias PathIsUNC = PathIsUNCA; |
| alias PathIsURL = PathIsURLA; |
| alias PathMakePretty = PathMakePrettyA; |
| alias PathMakeSystemFolder = PathMakeSystemFolderA; |
| alias PathMatchSpec = PathMatchSpecA; |
| alias PathParseIconLocation = PathParseIconLocationA; |
| alias PathQuoteSpaces = PathQuoteSpacesA; |
| alias PathRelativePathTo = PathRelativePathToA; |
| alias PathRemoveArgs = PathRemoveArgsA; |
| alias PathRemoveBackslash = PathRemoveBackslashA; |
| alias PathRemoveBlanks = PathRemoveBlanksA; |
| alias PathRemoveExtension = PathRemoveExtensionA; |
| alias PathRemoveFileSpec = PathRemoveFileSpecA; |
| alias PathRenameExtension = PathRenameExtensionA; |
| alias PathSearchAndQualify = PathSearchAndQualifyA; |
| alias PathSetDlgItemPath = PathSetDlgItemPathA; |
| alias PathSkipRoot = PathSkipRootA; |
| alias PathStripPath = PathStripPathA; |
| alias PathStripToRoot = PathStripToRootA; |
| alias PathUndecorate = PathUndecorateA; |
| alias PathUnExpandEnvStrings = PathUnExpandEnvStringsA; |
| alias PathUnmakeSystemFolder = PathUnmakeSystemFolderA; |
| alias PathUnquoteSpaces = PathUnquoteSpacesA; |
| alias SHCreateStreamOnFile = SHCreateStreamOnFileA; |
| alias SHOpenRegStream = SHOpenRegStreamA; |
| alias SHOpenRegStream2 = SHOpenRegStream2A; |
| alias SHCopyKey = SHCopyKeyA; |
| alias SHDeleteEmptyKey = SHDeleteEmptyKeyA; |
| alias SHDeleteKey = SHDeleteKeyA; |
| alias SHEnumKeyEx = SHEnumKeyExA; |
| alias SHQueryInfoKey = SHQueryInfoKeyA; |
| alias SHQueryValueEx = SHQueryValueExA; |
| alias SHEnumValue = SHEnumValueA; |
| alias SHGetValue = SHGetValueA; |
| alias SHSetValue = SHSetValueA; |
| alias SHDeleteValue = SHDeleteValueA; |
| alias AssocQueryKey = AssocQueryKeyA; |
| alias AssocQueryStringByKey = AssocQueryStringByKeyA; |
| alias AssocQueryString = AssocQueryStringA; |
| alias UrlApplyScheme = UrlApplySchemeA; |
| alias UrlCanonicalize = UrlCanonicalizeA; |
| alias UrlCombine = UrlCombineA; |
| alias UrlCompare = UrlCompareA; |
| alias UrlCreateFromPath = UrlCreateFromPathA; |
| alias UrlEscape = UrlEscapeA; |
| alias UrlGetLocation = UrlGetLocationA; |
| alias UrlGetPart = UrlGetPartA; |
| alias UrlHash = UrlHashA; |
| alias UrlIs = UrlIsA; |
| alias UrlIsNoHistory = UrlIsNoHistoryA; |
| alias UrlIsOpaque = UrlIsOpaqueA; |
| alias UrlUnescape = UrlUnescapeA; |
| alias UrlUnescapeInPlace = UrlUnescapeInPlaceA; |
| alias SHRegCreateUSKey = SHRegCreateUSKeyA; |
| alias SHRegDeleteEmptyUSKey = SHRegDeleteEmptyUSKeyA; |
| alias SHRegDeleteUSValue = SHRegDeleteUSValueA; |
| alias SHRegEnumUSKey = SHRegEnumUSKeyA; |
| alias SHRegEnumUSValue = SHRegEnumUSValueA; |
| alias SHRegGetBoolUSValue = SHRegGetBoolUSValueA; |
| alias SHRegGetPath = SHRegGetPathA; |
| alias SHRegGetUSValue = SHRegGetUSValueA; |
| alias SHRegOpenUSKey = SHRegOpenUSKeyA; |
| alias SHRegQueryInfoUSKey = SHRegQueryInfoUSKeyA; |
| alias SHRegQueryUSValue = SHRegQueryUSValueA; |
| alias SHRegSetPath = SHRegSetPathA; |
| alias SHRegSetUSValue = SHRegSetUSValueA; |
| alias SHRegWriteUSValue = SHRegWriteUSValueA; |
| //alias wnsprintfA wnsprintf; |
| //alias wvnsprintfA wvnsprintf; |
| } |
| |
| alias StrToLong = StrToInt; |