Headers diff for shlwapi.dll between 6.3.9600.17415-Windows 8.1 and 10.0.10586.0-Windows 10 1511 10586.494 versions



 shlwapi.h (6.3.9600.17415-Windows 8.1)   shlwapi.h (10.0.10586.0-Windows 10 1511 10586.494) 
skipping to change at line 17 skipping to change at line 17
* * * *
* Copyright (c) Microsoft Corporation. All rights reserved. * * Copyright (c) Microsoft Corporation. All rights reserved. *
* * * *
\*****************************************************************************/ \*****************************************************************************/
#ifndef _INC_SHLWAPI #ifndef _INC_SHLWAPI
#define _INC_SHLWAPI #define _INC_SHLWAPI
#include <winapifamily.h> #include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#ifndef NOSHLWAPI #ifndef NOSHLWAPI
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#include <SpecStrings.h> #include <SpecStrings.h>
#include <objbase.h> #include <objbase.h>
#include <shtypes.h> #include <shtypes.h>
// //
// Define API decoration for direct importing of DLL references. // Define API decoration for direct importing of DLL references.
// //
#ifndef WINSHLWAPI #ifndef WINSHLWAPI
#if !defined(_SHLWAPI_) #if !defined(_SHLWAPI_)
#define LWSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE #define LWSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
skipping to change at line 43 skipping to change at line 43
#define LWSTDAPIV EXTERN_C DECLSPEC_IMPORT HRESULT STDAPIVCALLTYPE #define LWSTDAPIV EXTERN_C DECLSPEC_IMPORT HRESULT STDAPIVCALLTYPE
#define LWSTDAPIV_(type) EXTERN_C DECLSPEC_IMPORT type STDAPIVCALLTYPE #define LWSTDAPIV_(type) EXTERN_C DECLSPEC_IMPORT type STDAPIVCALLTYPE
#else #else
#define LWSTDAPI STDAPI #define LWSTDAPI STDAPI
#define LWSTDAPI_(type) STDAPI_(type) #define LWSTDAPI_(type) STDAPI_(type)
#define LWSTDAPIV STDAPIV #define LWSTDAPIV STDAPIV
#define LWSTDAPIV_(type) STDAPIV_(type) #define LWSTDAPIV_(type) STDAPIV_(type)
#endif #endif
#endif // WINSHLWAPI #endif // WINSHLWAPI
#if _MSC_VER >= 1200
#pragma warning(push)
#pragma warning(disable:4820) // padding added after data member
#endif
#ifdef _WIN32 #ifdef _WIN32
#include <pshpack8.h> #include <pshpack8.h>
#endif #endif
#if defined(DEPRECATE_SUPPORTED) #if defined(DEPRECATE_SUPPORTED)
#pragma warning(push) #pragma warning(push)
#pragma warning(disable:4995) #pragma warning(disable:4995)
#endif #endif
// objidl.h // objidl.h
skipping to change at line 65 skipping to change at line 70
typedef interface IBindCtx IBindCtx; typedef interface IBindCtx IBindCtx;
#endif /* __IBindCtx_FWD_DEFINED__ */ #endif /* __IBindCtx_FWD_DEFINED__ */
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#if defined(__cplusplus) && defined(STRICT_CONST) #if defined(__cplusplus) && defined(STRICT_CONST)
#define USE_STRICT_CONST #define USE_STRICT_CONST
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
// //
// Users of this header may define any number of these constants to avoid // Users of this header may define any number of these constants to avoid
// the definitions of each functional group. // the definitions of each functional group.
// //
// NO_SHLWAPI_STRFCNS String functions // NO_SHLWAPI_STRFCNS String functions
// NO_SHLWAPI_PATH Path functions // NO_SHLWAPI_PATH Path functions
// NO_SHLWAPI_REG Registry functions // NO_SHLWAPI_REG Registry functions
// NO_SHLWAPI_STREAM Stream functions // NO_SHLWAPI_STREAM Stream functions
// NO_SHLWAPI_GDI GDI helper functions // NO_SHLWAPI_GDI GDI helper functions
#ifndef NO_SHLWAPI_STRFCNS #ifndef NO_SHLWAPI_STRFCNS
// //
//=============== String Routines =================================== //=============== String Routines ===================================
// //
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#ifdef USE_STRICT_CONST #ifdef USE_STRICT_CONST
LWSTDAPI_(PCSTR) StrChrA(_In_ PCSTR pszStart, WORD wMatch); LWSTDAPI_(PCSTR) StrChrA(_In_ PCSTR pszStart, WORD wMatch);
LWSTDAPI_(PCWSTR) StrChrW(_In_ PCWSTR pszStart, WCHAR wMatch); LWSTDAPI_(PCWSTR) StrChrW(_In_ PCWSTR pszStart, WCHAR wMatch);
LWSTDAPI_(PCSTR) StrChrIA(_In_ PCSTR pszStart, WORD wMatch); LWSTDAPI_(PCSTR) StrChrIA(_In_ PCSTR pszStart, WORD wMatch);
LWSTDAPI_(PCWSTR) StrChrIW(_In_ PCWSTR pszStart, WCHAR wMatch); LWSTDAPI_(PCWSTR) StrChrIW(_In_ PCWSTR pszStart, WCHAR wMatch);
#if (_WIN32_IE >= _WIN32_IE_IE60) #if (_WIN32_IE >= _WIN32_IE_IE60)
LWSTDAPI_(PCWSTR) StrChrNW(_In_ PCWSTR pszStart, WCHAR wMatch, UINT cchMax); LWSTDAPI_(PCWSTR) StrChrNW(_In_ PCWSTR pszStart, WCHAR wMatch, UINT cchMax);
LWSTDAPI_(PCWSTR) StrChrNIW(_In_ PCWSTR pszStart, WCHAR wMatch, UINT cchMax); LWSTDAPI_(PCWSTR) StrChrNIW(_In_ PCWSTR pszStart, WCHAR wMatch, UINT cchMax);
#endif // _WIN32_IE_IE60 #endif // _WIN32_IE_IE60
#else #else
skipping to change at line 280 skipping to change at line 292
#ifdef UNICODE #ifdef UNICODE
#define SHLocalStrDup SHLocalStrDupW #define SHLocalStrDup SHLocalStrDupW
#else #else
#define SHLocalStrDup SHLocalStrDupA #define SHLocalStrDup SHLocalStrDupA
#endif #endif
#endif // __cplusplus #endif // __cplusplus
LWSTDAPI_(int) StrCmpLogicalW(_In_ PCWSTR psz1, _In_ PCWSTR psz2); LWSTDAPI_(int) StrCmpLogicalW(_In_ PCWSTR psz1, _In_ PCWSTR psz2);
LWSTDAPI_(DWORD) StrCatChainW(_Out_writes_(cchDst) PWSTR pszDst, DWORD cchDst, D WORD ichAt, _In_ PCWSTR pszSrc); LWSTDAPI_(DWORD) StrCatChainW(_Out_writes_(cchDst) PWSTR pszDst, DWORD cchDst, D WORD ichAt, _In_ PCWSTR pszSrc);
LWSTDAPI StrRetToBSTR(_Inout_ STRRET *pstr, _In_opt_ PCUITEMID_CHILD pidl, _Outp tr_ BSTR *pbstr); LWSTDAPI StrRetToBSTR(_Inout_ STRRET *pstr, _In_opt_ PCUITEMID_CHILD pidl, _Outp tr_ BSTR *pbstr);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
LWSTDAPI SHLoadIndirectString(_In_ PCWSTR pszSource, _Out_writes_(cchOutBuf) PWS TR pszOutBuf, _In_ UINT cchOutBuf, _Reserved_ void **ppvReserved); LWSTDAPI SHLoadIndirectString(_In_ PCWSTR pszSource, _Out_writes_(cchOutBuf) PWS TR pszOutBuf, _In_ UINT cchOutBuf, _Reserved_ void **ppvReserved);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if (_WIN32_IE >= _WIN32_IE_IE60SP2) #if (_WIN32_IE >= _WIN32_IE_IE60SP2)
LWSTDAPI_(BOOL) IsCharSpaceA(CHAR wch); LWSTDAPI_(BOOL) IsCharSpaceA(CHAR wch);
LWSTDAPI_(BOOL) IsCharSpaceW(WCHAR wch); LWSTDAPI_(BOOL) IsCharSpaceW(WCHAR wch);
#ifdef UNICODE #ifdef UNICODE
#define IsCharSpace IsCharSpaceW #define IsCharSpace IsCharSpaceW
#else #else
#define IsCharSpace IsCharSpaceA #define IsCharSpace IsCharSpaceA
#endif // !UNICODE #endif // !UNICODE
LWSTDAPI_(int) StrCmpCA(_In_ LPCSTR pszStr1, _In_ LPCSTR pszStr2); LWSTDAPI_(int) StrCmpCA(_In_ LPCSTR pszStr1, _In_ LPCSTR pszStr2);
skipping to change at line 457 skipping to change at line 482
#define StrCatBuff StrCatBuffW #define StrCatBuff StrCatBuffW
#else #else
#define StrCat lstrcatA #define StrCat lstrcatA
#define StrCmp lstrcmpA #define StrCmp lstrcmpA
#define StrCmpI lstrcmpiA #define StrCmpI lstrcmpiA
#define StrCpy lstrcpyA #define StrCpy lstrcpyA
#define StrCpyN lstrcpynA #define StrCpyN lstrcpynA
#define StrCatBuff StrCatBuffA #define StrCatBuff StrCatBuffA
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // NO_SHLWAPI_STRFCNS #endif // NO_SHLWAPI_STRFCNS
#ifndef NO_SHLWAPI_PATH #ifndef NO_SHLWAPI_PATH
// //
//=============== Path Routines =================================== //=============== Path Routines ===================================
// //
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
LWSTDAPI_(LPSTR) PathAddBackslashA(_Inout_updates_(MAX_PATH) LPSTR pszPath); LWSTDAPI_(LPSTR) PathAddBackslashA(_Inout_updates_(MAX_PATH) LPSTR pszPath);
LWSTDAPI_(LPWSTR) PathAddBackslashW(_Inout_updates_(MAX_PATH) LPWSTR pszPath); LWSTDAPI_(LPWSTR) PathAddBackslashW(_Inout_updates_(MAX_PATH) LPWSTR pszPath);
#ifdef UNICODE #ifdef UNICODE
#define PathAddBackslash PathAddBackslashW #define PathAddBackslash PathAddBackslashW
#else #else
#define PathAddBackslash PathAddBackslashA #define PathAddBackslash PathAddBackslashA
#endif // !UNICODE #endif // !UNICODE
LWSTDAPI_(BOOL) PathAddExtensionA(_Inout_updates_(MAX_PATH) LPSTR pszPath, _ In_opt_ LPCSTR pszExt); LWSTDAPI_(BOOL) PathAddExtensionA(_Inout_updates_(MAX_PATH) LPSTR pszPath, _ In_opt_ LPCSTR pszExt);
LWSTDAPI_(BOOL) PathAddExtensionW(_Inout_updates_(MAX_PATH) LPWSTR pszPath, _In_opt_ LPCWSTR pszExt); LWSTDAPI_(BOOL) PathAddExtensionW(_Inout_updates_(MAX_PATH) LPWSTR pszPath, _In_opt_ LPCWSTR pszExt);
#ifdef UNICODE #ifdef UNICODE
skipping to change at line 1065 skipping to change at line 1096
#endif // UNICODE #endif // UNICODE
LWSTDAPI ParseURLA(_In_ LPCSTR pcszURL, _Inout_ PARSEDURLA * ppu); LWSTDAPI ParseURLA(_In_ LPCSTR pcszURL, _Inout_ PARSEDURLA * ppu);
LWSTDAPI ParseURLW(_In_ LPCWSTR pcszURL, _Inout_ PARSEDURLW * ppu); LWSTDAPI ParseURLW(_In_ LPCWSTR pcszURL, _Inout_ PARSEDURLW * ppu);
#ifdef UNICODE #ifdef UNICODE
#define ParseURL ParseURLW #define ParseURL ParseURLW
#else #else
#define ParseURL ParseURLA #define ParseURL ParseURLA
#endif // !UNICODE #endif // !UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // NO_SHLWAPI_PATH #endif // NO_SHLWAPI_PATH
#ifndef NO_SHLWAPI_REG #ifndef NO_SHLWAPI_REG
// //
//=============== Registry Routines =================================== //=============== Registry Routines ===================================
// //
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// SHDeleteEmptyKey mimics RegDeleteKey as it behaves on NT. // SHDeleteEmptyKey mimics RegDeleteKey as it behaves on NT.
// SHDeleteKey mimics RegDeleteKey as it behaves on Win95. // SHDeleteKey mimics RegDeleteKey as it behaves on Win95.
LWSTDAPI_(LSTATUS) SHDeleteEmptyKeyA(_In_ HKEY hkey, _In_opt_ LPCSTR pszSubKey) ; LWSTDAPI_(LSTATUS) SHDeleteEmptyKeyA(_In_ HKEY hkey, _In_opt_ LPCSTR pszSubKey) ;
LWSTDAPI_(LSTATUS) SHDeleteEmptyKeyW(_In_ HKEY hkey, _In_opt_ LPCWSTR pszSubKey ); LWSTDAPI_(LSTATUS) SHDeleteEmptyKeyW(_In_ HKEY hkey, _In_opt_ LPCWSTR pszSubKey );
#ifdef UNICODE #ifdef UNICODE
#define SHDeleteEmptyKey SHDeleteEmptyKeyW #define SHDeleteEmptyKey SHDeleteEmptyKeyW
#else #else
#define SHDeleteEmptyKey SHDeleteEmptyKeyA #define SHDeleteEmptyKey SHDeleteEmptyKeyA
#endif // !UNICODE #endif // !UNICODE
skipping to change at line 1625 skipping to change at line 1662
ASSOCSTR_CONTENTTYPE, // MIME Content type ASSOCSTR_CONTENTTYPE, // MIME Content type
ASSOCSTR_DEFAULTICON, // Default icon source ASSOCSTR_DEFAULTICON, // Default icon source
ASSOCSTR_SHELLEXTENSION, // Guid string pointing to the Shellex\Shellext ensionhandler value. ASSOCSTR_SHELLEXTENSION, // Guid string pointing to the Shellex\Shellext ensionhandler value.
#endif // _WIN32_IE_IE60 #endif // _WIN32_IE_IE60
#if (_WIN32_IE >= _WIN32_IE_IE80) #if (_WIN32_IE >= _WIN32_IE_IE80)
ASSOCSTR_DROPTARGET, // The CLSID of DropTarget ASSOCSTR_DROPTARGET, // The CLSID of DropTarget
ASSOCSTR_DELEGATEEXECUTE, // The CLSID of DelegateExecute ASSOCSTR_DELEGATEEXECUTE, // The CLSID of DelegateExecute
#endif // _WIN32_IE_IE80 #endif // _WIN32_IE_IE80
// a string value of the uri protocol schemes, for example "http:https:ftp:f ile:" or "*" indicating all // a string value of the uri protocol schemes, for example "http:https:ftp:f ile:" or "*" indicating all
ASSOCSTR_SUPPORTED_URI_PROTOCOLS, ASSOCSTR_SUPPORTED_URI_PROTOCOLS,
#if (NTDDI_VERSION >= NTDDI_WIN10)
ASSOCSTR_PROGID, // The ProgId provided by the app associated wit
h the file type or uri scheme based on user default settings.
ASSOCSTR_APPID, // The AppUserModelID of the app associated with
the file type or uri scheme based on user default settings.
ASSOCSTR_APPPUBLISHER, // THe publisher of the app associated with the
file type or uri scheme based on user default settings.
ASSOCSTR_APPICONREFERENCE, // The icon reference of the app associated with
the file type or uri scheme based on user default settings.
#endif // NTDDI_WIN10
ASSOCSTR_MAX // last item in enum... ASSOCSTR_MAX // last item in enum...
} ASSOCSTR; } ASSOCSTR;
typedef enum typedef enum
{ {
ASSOCKEY_SHELLEXECCLASS = 1, // the key that should be passed to ShellExec (hkeyClass) ASSOCKEY_SHELLEXECCLASS = 1, // the key that should be passed to ShellExec (hkeyClass)
ASSOCKEY_APP, // the "Application" key for the association ASSOCKEY_APP, // the "Application" key for the association
ASSOCKEY_CLASS, // the progid or class key ASSOCKEY_CLASS, // the progid or class key
ASSOCKEY_BASECLASS, // the BaseClass key ASSOCKEY_BASECLASS, // the BaseClass key
ASSOCKEY_MAX // last item in enum... ASSOCKEY_MAX // last item in enum...
skipping to change at line 1691 skipping to change at line 1734
FTA_NoDDE = 0x00002000, // no editing of the DDE fields FTA_NoDDE = 0x00002000, // no editing of the DDE fields
FTA_NoEditMIME = 0x00008000, // no editing of the Content Type or Default Extension fields FTA_NoEditMIME = 0x00008000, // no editing of the Content Type or Default Extension fields
FTA_OpenIsSafe = 0x00010000, // the open verb should be invoked automaticaly for downloaded files FTA_OpenIsSafe = 0x00010000, // the open verb should be invoked automaticaly for downloaded files
FTA_AlwaysUnsafe = 0x00020000, // don't allow the "Never ask me" checkbox to be enabled; File Type dialog still allows user to turn this off FTA_AlwaysUnsafe = 0x00020000, // don't allow the "Never ask me" checkbox to be enabled; File Type dialog still allows user to turn this off
FTA_NoRecentDocs = 0x00100000, // don't add this file type to the Recent Documents folder FTA_NoRecentDocs = 0x00100000, // don't add this file type to the Recent Documents folder
FTA_SafeForElevation = 0x00200000, // Win8: can be launched in medium IL by a process running in AppContainer FTA_SafeForElevation = 0x00200000, // Win8: can be launched in medium IL by a process running in AppContainer
FTA_AlwaysUseDirectInvoke = 0x00400000, // Win8: when downloading use the direct invoke feature even if the server headers are not provided FTA_AlwaysUseDirectInvoke = 0x00400000, // Win8: when downloading use the direct invoke feature even if the server headers are not provided
} FILETYPEATTRIBUTEFLAGS; } FILETYPEATTRIBUTEFLAGS;
DEFINE_ENUM_FLAG_OPERATORS(FILETYPEATTRIBUTEFLAGS); DEFINE_ENUM_FLAG_OPERATORS(FILETYPEATTRIBUTEFLAGS)
#undef INTERFACE #undef INTERFACE
#define INTERFACE IQueryAssociations #define INTERFACE IQueryAssociations
DECLARE_INTERFACE_IID_( IQueryAssociations, IUnknown, "c46ca590-3c3f-11d2-bee6-0 000f805ca57" ) DECLARE_INTERFACE_IID_( IQueryAssociations, IUnknown, "c46ca590-3c3f-11d2-bee6-0 000f805ca57" )
{ {
// IQueryAssociations methods // IQueryAssociations methods
STDMETHOD (Init)(THIS_ _In_ ASSOCF flags, _In_opt_ LPCWSTR pszAssoc, _In_opt _ HKEY hkProgid, _In_opt_ HWND hwnd) PURE; STDMETHOD (Init)(THIS_ _In_ ASSOCF flags, _In_opt_ LPCWSTR pszAssoc, _In_opt _ HKEY hkProgid, _In_opt_ HWND hwnd) PURE;
STDMETHOD (GetString)(THIS_ _In_ ASSOCF flags, _In_ ASSOCSTR str, _In_opt_ L PCWSTR pszExtra, _Out_writes_opt_(*pcchOut) LPWSTR pszOut, _Inout_ DWORD *pcchOu t) PURE; STDMETHOD (GetString)(THIS_ _In_ ASSOCF flags, _In_ ASSOCSTR str, _In_opt_ L PCWSTR pszExtra, _Out_writes_opt_(*pcchOut) LPWSTR pszOut, _Inout_ DWORD *pcchOu t) PURE;
STDMETHOD (GetKey)(THIS_ _In_ ASSOCF flags, _In_ ASSOCKEY key, _In_opt_ LPCW STR pszExtra, _Out_ HKEY *phkeyOut) PURE; STDMETHOD (GetKey)(THIS_ _In_ ASSOCF flags, _In_ ASSOCKEY key, _In_opt_ LPCW STR pszExtra, _Out_ HKEY *phkeyOut) PURE;
skipping to change at line 1763 skipping to change at line 1806
// then it checks Safer policies. // then it checks Safer policies.
// //
LWSTDAPI_(BOOL) AssocIsDangerous(_In_ PCWSTR pszAssoc); LWSTDAPI_(BOOL) AssocIsDangerous(_In_ PCWSTR pszAssoc);
#endif // _WIN32_IE >= 0x0601 #endif // _WIN32_IE >= 0x0601
#if (_WIN32_IE >= _WIN32_IE_IE60SP2) #if (_WIN32_IE >= _WIN32_IE_IE60SP2)
LWSTDAPI AssocGetPerceivedType(_In_ PCWSTR pszExt, _Out_ PERCEIVED *ptype, _Out_ PERCEIVEDFLAG *pflag, _Outptr_opt_ PWSTR *ppszType); LWSTDAPI AssocGetPerceivedType(_In_ PCWSTR pszExt, _Out_ PERCEIVED *ptype, _Out_ PERCEIVEDFLAG *pflag, _Outptr_opt_ PWSTR *ppszType);
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // NO_SHLWAPI_REG #endif // NO_SHLWAPI_REG
#ifndef NO_SHLWAPI_STREAM #ifndef NO_SHLWAPI_STREAM
// //
//=============== Stream Routines =================================== //=============== Stream Routines ===================================
// //
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// objidl.h // objidl.h
#ifndef __IStream_FWD_DEFINED__ #ifndef __IStream_FWD_DEFINED__
#define __IStream_FWD_DEFINED__ #define __IStream_FWD_DEFINED__
typedef interface IStream IStream; typedef interface IStream IStream;
#endif /* __IStream_FWD_DEFINED__ */ #endif /* __IStream_FWD_DEFINED__ */
LWSTDAPI_(IStream *) SHOpenRegStreamA(_In_ HKEY hkey, _In_opt_ LPCSTR pszSubkey, _In_opt_ LPCSTR pszValue, _In_ DWORD grfMode); LWSTDAPI_(IStream *) SHOpenRegStreamA(_In_ HKEY hkey, _In_opt_ LPCSTR pszSubkey, _In_opt_ LPCSTR pszValue, _In_ DWORD grfMode);
LWSTDAPI_(IStream *) SHOpenRegStreamW(_In_ HKEY hkey, _In_opt_ LPCWSTR pszSubkey , _In_opt_ LPCWSTR pszValue, _In_ DWORD grfMode); LWSTDAPI_(IStream *) SHOpenRegStreamW(_In_ HKEY hkey, _In_opt_ LPCWSTR pszSubkey , _In_opt_ LPCWSTR pszValue, _In_ DWORD grfMode);
#ifdef UNICODE #ifdef UNICODE
#define SHOpenRegStream SHOpenRegStreamW #define SHOpenRegStream SHOpenRegStreamW
skipping to change at line 1810 skipping to change at line 1859
#endif // !UNICODE #endif // !UNICODE
#if (_WIN32_IE >= 0x0600) #if (_WIN32_IE >= 0x0600)
LWSTDAPI SHCreateStreamOnFileEx(_In_ LPCWSTR pszFile, _In_ DWORD grfMode, _In_ D WORD dwAttributes, _In_ BOOL fCreate, _In_opt_ IStream *pstmTemplate, _Outptr_ I Stream **ppstm); LWSTDAPI SHCreateStreamOnFileEx(_In_ LPCWSTR pszFile, _In_ DWORD grfMode, _In_ D WORD dwAttributes, _In_ BOOL fCreate, _In_opt_ IStream *pstmTemplate, _Outptr_ I Stream **ppstm);
#endif // (_WIN32_IE >= 0x0600) #endif // (_WIN32_IE >= 0x0600)
LWSTDAPI_(IStream *) SHCreateMemStream(_In_reads_bytes_opt_(cbInit) const BYTE * pInit, _In_ UINT cbInit); LWSTDAPI_(IStream *) SHCreateMemStream(_In_reads_bytes_opt_(cbInit) const BYTE * pInit, _In_ UINT cbInit);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // NO_SHLWAPI_STREAM #endif // NO_SHLWAPI_STREAM
#ifndef NO_SHLWAPI_HTTP #ifndef NO_SHLWAPI_HTTP
// //
//=============== HTTP helper Routines =================================== //=============== HTTP helper Routines ===================================
// //
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if (_WIN32_IE >= 0x0603) #if (_WIN32_IE >= 0x0603)
LWSTDAPI GetAcceptLanguagesA(_Out_writes_to_(*pcchLanguages, *pcchLanguages) LPS TR pszLanguages, _Inout_ DWORD *pcchLanguages); LWSTDAPI GetAcceptLanguagesA(_Out_writes_to_(*pcchLanguages, *pcchLanguages) LPS TR pszLanguages, _Inout_ DWORD *pcchLanguages);
LWSTDAPI GetAcceptLanguagesW(_Out_writes_to_(*pcchLanguages, *pcchLanguages) LPW STR pszLanguages, _Inout_ DWORD *pcchLanguages); LWSTDAPI GetAcceptLanguagesW(_Out_writes_to_(*pcchLanguages, *pcchLanguages) LPW STR pszLanguages, _Inout_ DWORD *pcchLanguages);
#ifdef UNICODE #ifdef UNICODE
#define GetAcceptLanguages GetAcceptLanguagesW #define GetAcceptLanguages GetAcceptLanguagesW
#else #else
#define GetAcceptLanguages GetAcceptLanguagesA #define GetAcceptLanguages GetAcceptLanguagesA
#endif // !UNICODE #endif // !UNICODE
#endif // (_WIN32_IE >= 0x0603) #endif // (_WIN32_IE >= 0x0603)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // NO_SHLWAPI_HTTP #endif // NO_SHLWAPI_HTTP
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if (_WIN32_IE < _WIN32_IE_IE70) && !defined(NO_SHLWAPI_STOPWATCH) #if (_WIN32_IE < _WIN32_IE_IE70) && !defined(NO_SHLWAPI_STOPWATCH)
#define SPMODE_SHELL 0x00000001 #define SPMODE_SHELL 0x00000001
#define SPMODE_DEBUGOUT 0x00000002 #define SPMODE_DEBUGOUT 0x00000002
#define SPMODE_TEST 0x00000004 #define SPMODE_TEST 0x00000004
#define SPMODE_BROWSER 0x00000008 #define SPMODE_BROWSER 0x00000008
#define SPMODE_FLUSH 0x00000010 #define SPMODE_FLUSH 0x00000010
#define SPMODE_EVENT 0x00000020 #define SPMODE_EVENT 0x00000020
#define SPMODE_MSVM 0x00000040 #define SPMODE_MSVM 0x00000040
#define SPMODE_FORMATTEXT 0x00000080 #define SPMODE_FORMATTEXT 0x00000080
skipping to change at line 1935 skipping to change at line 1996
#define FDTF_NOAUTOREADINGORDER 0x00000400 // Don't detect reading order au tomatically. Useful if you will be converting to Ansi and don't want Unicode rea ding order characters #define FDTF_NOAUTOREADINGORDER 0x00000400 // Don't detect reading order au tomatically. Useful if you will be converting to Ansi and don't want Unicode rea ding order characters
LWSTDAPI_(int) SHFormatDateTimeA(_In_ const FILETIME UNALIGNED * pft, _Inout_op t_ DWORD * pdwFlags, _Out_writes_(cchBuf) LPSTR pszBuf, UINT cchBuf); LWSTDAPI_(int) SHFormatDateTimeA(_In_ const FILETIME UNALIGNED * pft, _Inout_op t_ DWORD * pdwFlags, _Out_writes_(cchBuf) LPSTR pszBuf, UINT cchBuf);
LWSTDAPI_(int) SHFormatDateTimeW(_In_ const FILETIME UNALIGNED * pft, _Inout_op t_ DWORD * pdwFlags, _Out_writes_(cchBuf) LPWSTR pszBuf, UINT cchBuf); LWSTDAPI_(int) SHFormatDateTimeW(_In_ const FILETIME UNALIGNED * pft, _Inout_op t_ DWORD * pdwFlags, _Out_writes_(cchBuf) LPWSTR pszBuf, UINT cchBuf);
#ifdef UNICODE #ifdef UNICODE
#define SHFormatDateTime SHFormatDateTimeW #define SHFormatDateTime SHFormatDateTimeW
#else #else
#define SHFormatDateTime SHFormatDateTimeA #define SHFormatDateTime SHFormatDateTimeA
#endif // !UNICODE #endif // !UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
_Success_(return > 0) _Success_(return > 0)
LWSTDAPI_(int) SHAnsiToUnicode(_In_ PCSTR pszSrc, _Out_writes_(cwchBuf) PWSTR p wszDst, _In_ int cwchBuf); LWSTDAPI_(int) SHAnsiToUnicode(_In_ PCSTR pszSrc, _Out_writes_(cwchBuf) PWSTR p wszDst, _In_ int cwchBuf);
_Success_(return > 0) _Success_(return > 0)
LWSTDAPI_(int) SHAnsiToAnsi(_In_ PCSTR pszSrc, _Out_writes_(cchBuf) PSTR pszDst , _In_ int cchBuf); LWSTDAPI_(int) SHAnsiToAnsi(_In_ PCSTR pszSrc, _Out_writes_(cchBuf) PSTR pszDst , _In_ int cchBuf);
_Success_(return > 0) _Success_(return > 0)
LWSTDAPI_(int) SHUnicodeToAnsi(_In_ PCWSTR pwszSrc, _Out_writes_(cchBuf) PSTR p szDst, _In_ int cchBuf); LWSTDAPI_(int) SHUnicodeToAnsi(_In_ PCWSTR pwszSrc, _Out_writes_(cchBuf) PSTR p szDst, _In_ int cchBuf);
_Success_(return > 0) _Success_(return > 0)
LWSTDAPI_(int) SHUnicodeToUnicode(_In_ PCWSTR pwzSrc, _Out_writes_(cwchBuf) PWS TR pwzDst, _In_ int cwchBuf); LWSTDAPI_(int) SHUnicodeToUnicode(_In_ PCWSTR pwzSrc, _Out_writes_(cwchBuf) PWS TR pwzDst, _In_ int cwchBuf);
// The return value from all SH<Type>To<Type> is the size of szDest including th e terminater. // The return value from all SH<Type>To<Type> is the size of szDest including th e terminater.
skipping to change at line 1957 skipping to change at line 2024
#define SHTCharToAnsi(wzSrc, szDest, cchSize) SHUnicodeToAnsi( wzSrc, szDest, cchSize) #define SHTCharToAnsi(wzSrc, szDest, cchSize) SHUnicodeToAnsi( wzSrc, szDest, cchSize)
#define SHUnicodeToTChar(wzSrc, wzDest, cchSize) SHUnicodeToUnico de(wzSrc, wzDest, cchSize) #define SHUnicodeToTChar(wzSrc, wzDest, cchSize) SHUnicodeToUnico de(wzSrc, wzDest, cchSize)
#define SHAnsiToTChar(szSrc, wzDest, cchSize) SHAnsiToUnicode( szSrc, wzDest, cchSize) #define SHAnsiToTChar(szSrc, wzDest, cchSize) SHAnsiToUnicode( szSrc, wzDest, cchSize)
#else // UNICODE #else // UNICODE
#define SHTCharToUnicode(szSrc, wzDest, cchSize) SHAnsiToUnicode( szSrc, wzDest, cchSize) #define SHTCharToUnicode(szSrc, wzDest, cchSize) SHAnsiToUnicode( szSrc, wzDest, cchSize)
#define SHTCharToAnsi(szSrc, szDest, cchSize) SHAnsiToAnsi(szS rc, szDest, cchSize) #define SHTCharToAnsi(szSrc, szDest, cchSize) SHAnsiToAnsi(szS rc, szDest, cchSize)
#define SHUnicodeToTChar(wzSrc, szDest, cchSize) SHUnicodeToAnsi( wzSrc, szDest, cchSize) #define SHUnicodeToTChar(wzSrc, szDest, cchSize) SHUnicodeToAnsi( wzSrc, szDest, cchSize)
#define SHAnsiToTChar(szSrc, szDest, cchSize) SHAnsiToAnsi(szS rc, szDest, cchSize) #define SHAnsiToTChar(szSrc, szDest, cchSize) SHAnsiToAnsi(szS rc, szDest, cchSize)
#endif // UNICODE #endif // UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
LWSTDAPI_(int) SHMessageBoxCheckA(_In_opt_ HWND hwnd, _In_ LPCSTR pszText, _In_ LPCSTR pszCaption, UINT uType, int iDefault, _In_ LPCSTR pszRegVal); LWSTDAPI_(int) SHMessageBoxCheckA(_In_opt_ HWND hwnd, _In_ LPCSTR pszText, _In_ LPCSTR pszCaption, UINT uType, int iDefault, _In_ LPCSTR pszRegVal);
LWSTDAPI_(int) SHMessageBoxCheckW(_In_opt_ HWND hwnd, _In_ LPCWSTR pszText, _In_ LPCWSTR pszCaption, UINT uType, int iDefault, _In_ LPCWSTR pszRegVal); LWSTDAPI_(int) SHMessageBoxCheckW(_In_opt_ HWND hwnd, _In_ LPCWSTR pszText, _In_ LPCWSTR pszCaption, UINT uType, int iDefault, _In_ LPCWSTR pszRegVal);
#ifdef UNICODE #ifdef UNICODE
#define SHMessageBoxCheck SHMessageBoxCheckW #define SHMessageBoxCheck SHMessageBoxCheckW
#else #else
#define SHMessageBoxCheck SHMessageBoxCheckA #define SHMessageBoxCheck SHMessageBoxCheckA
#endif // !UNICODE #endif // !UNICODE
// Prevents hang do to hung window on broadcast // Prevents hang do to hung window on broadcast
LWSTDAPI_(LRESULT) SHSendMessageBroadcastA(_In_ UINT uMsg, _In_ WPARAM wParam, _ In_ LPARAM lParam); LWSTDAPI_(LRESULT) SHSendMessageBroadcastA(_In_ UINT uMsg, _In_ WPARAM wParam, _ In_ LPARAM lParam);
skipping to change at line 2315 skipping to change at line 2388
LWSTDAPI_(BOOL) SHCreateThread(_In_ LPTHREAD_START_ROUTINE pfnThreadProc, _In_op t_ void *pData, _In_ SHCT_FLAGS flags, _In_opt_ LPTHREAD_START_ROUTINE pfnCallba ck); LWSTDAPI_(BOOL) SHCreateThread(_In_ LPTHREAD_START_ROUTINE pfnThreadProc, _In_op t_ void *pData, _In_ SHCT_FLAGS flags, _In_opt_ LPTHREAD_START_ROUTINE pfnCallba ck);
LWSTDAPI_(BOOL) SHCreateThreadWithHandle(_In_ LPTHREAD_START_ROUTINE pfnThreadPr oc, _In_opt_ void *pData, _In_ SHCT_FLAGS flags, _In_opt_ LPTHREAD_START_ROUTINE pfnCallback, _Out_opt_ HANDLE *pHandle); LWSTDAPI_(BOOL) SHCreateThreadWithHandle(_In_ LPTHREAD_START_ROUTINE pfnThreadPr oc, _In_opt_ void *pData, _In_ SHCT_FLAGS flags, _In_opt_ LPTHREAD_START_ROUTINE pfnCallback, _Out_opt_ HANDLE *pHandle);
#if (NTDDI_VERSION >= NTDDI_WIN8) #if (NTDDI_VERSION >= NTDDI_WIN8)
LWSTDAPI_(void) SetProcessReference(_In_opt_ IUnknown *punk); LWSTDAPI_(void) SetProcessReference(_In_opt_ IUnknown *punk);
LWSTDAPI GetProcessReference(_COM_Outptr_ IUnknown **punk); LWSTDAPI GetProcessReference(_COM_Outptr_ IUnknown **punk);
#endif // (NTDDI_VERSION >= NTDDI_WIN8) #endif // (NTDDI_VERSION >= NTDDI_WIN8)
#if (_WIN32_IE >= _WIN32_IE_IE60) #if (_WIN32_IE >= _WIN32_IE_IE60)
LWSTDAPI SHReleaseThreadRef(); // release a CTF_THREAD_REF reference earlier tha n the return of pfnThreadProc LWSTDAPI SHReleaseThreadRef(void); // release a CTF_THREAD_REF reference earlier than the return of pfnThreadProc
#endif // _WIN32_IE_IE60 #endif // _WIN32_IE_IE60
#ifndef NO_SHLWAPI_GDI #ifndef NO_SHLWAPI_GDI
// //
//====== GDI helper functions ================================================ //====== GDI helper functions ================================================
// //
LWSTDAPI_(HPALETTE) SHCreateShellPalette(_In_opt_ HDC hdc); LWSTDAPI_(HPALETTE) SHCreateShellPalette(_In_opt_ HDC hdc);
LWSTDAPI_(void) ColorRGBToHLS(COLORREF clrRGB, _Out_ WORD* pwHue, _Out_ WORD * pwLuminance, _Out_ WORD* pwSaturation); LWSTDAPI_(void) ColorRGBToHLS(COLORREF clrRGB, _Out_ WORD* pwHue, _Out_ WORD * pwLuminance, _Out_ WORD* pwSaturation);
skipping to change at line 2382 skipping to change at line 2455
// implicitly link to it. // implicitly link to it.
// //
typedef HRESULT (CALLBACK* DLLGETVERSIONPROC)(DLLVERSIONINFO *); typedef HRESULT (CALLBACK* DLLGETVERSIONPROC)(DLLVERSIONINFO *);
// DllInstall (to be implemented by self-installing DLLs) // DllInstall (to be implemented by self-installing DLLs)
STDAPI DllInstall(BOOL bInstall, _In_opt_ PCWSTR pszCmdLine); STDAPI DllInstall(BOOL bInstall, _In_opt_ PCWSTR pszCmdLine);
#if (_WIN32_IE >= 0x0602) #if (_WIN32_IE >= 0x0602)
// Function to see if Internet Explorer Enhanced Security Configuration is activ e for the current user // Function to see if Internet Explorer Enhanced Security Configuration is activ e for the current user
LWSTDAPI_(BOOL) IsInternetESCEnabled(); LWSTDAPI_(BOOL) IsInternetESCEnabled(void);
#endif // (_WIN32_IE >= 0x0602) #endif // (_WIN32_IE >= 0x0602)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#ifdef __cplusplus
} /* Close extern "C" { */
#endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#ifdef __cplusplus #ifdef __cplusplus
}
#if defined(USE_STRICT_CONST) && !defined(NO_SHLWAPI_STRFCNS) #if defined(USE_STRICT_CONST) && !defined(NO_SHLWAPI_STRFCNS)
//============================================================================= //=============================================================================
// C++ versions to help detect "const" violations // C++ versions to help detect "const" violations
__inline PSTR StrChrA(_In_ PSTR pszStart, WORD wMatch) __inline PSTR StrChrA(_In_ PSTR pszStart, WORD wMatch)
{ {
return const_cast<PSTR>(StrChrA(const_cast<PCSTR>(pszStart), wMatch)); return const_cast<PSTR>(StrChrA(const_cast<PCSTR>(pszStart), wMatch));
} }
skipping to change at line 2519 skipping to change at line 2607
__inline PSTR PathSkipRootA(_In_ PSTR pszPath) __inline PSTR PathSkipRootA(_In_ PSTR pszPath)
{ {
return const_cast<PSTR>(PathSkipRootA(const_cast<PCSTR>(pszPath))); return const_cast<PSTR>(PathSkipRootA(const_cast<PCSTR>(pszPath)));
} }
__inline PWSTR PathSkipRootW(_In_ PWSTR pszPath) __inline PWSTR PathSkipRootW(_In_ PWSTR pszPath)
{ {
return const_cast<PWSTR>(PathSkipRootW(const_cast<PCWSTR>(pszPath))); return const_cast<PWSTR>(PathSkipRootW(const_cast<PCWSTR>(pszPath)));
} }
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#endif #endif
#if defined(DEPRECATE_SUPPORTED) #if defined(DEPRECATE_SUPPORTED)
#pragma warning(pop) #pragma warning(pop)
#endif #endif
#ifdef _WIN32 #ifdef _WIN32
#include <poppack.h> #include <poppack.h>
#endif #endif
#if _MSC_VER >= 1200
#pragma warning(pop)
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY STEM) */
#pragma endregion #pragma endregion
// NOSHLWAPI
#endif
#endif // _INC_SHLWAPI #endif // _INC_SHLWAPI
 End of changes. 29 change blocks. 
8 lines changed or deleted 115 lines changed or added

This html diff was produced by rfcdiff 1.41.