21#ifndef __SHLWAPI_UNDOC_H
22#define __SHLWAPI_UNDOC_H
28#define SHELL_NO_POLICY ((DWORD)-1)
42#if FALSE && ((DLL_EXPORT_VERSION) >= _WIN32_WINNT_VISTA)
43#define SHELL_GCOUNTER_DEFINE_GUID(name, a, b, c, d, e, f, g, h, i, j, k) enum { SHELLUNUSEDCOUNTERGUID_##name }
44#define SHELL_GCOUNTER_DEFINE_HANDLE(name) enum { SHELLUNUSEDCOUNTERHANDLE_##name }
45#define SHELL_GCOUNTER_PARAMETERS(handle, id) id
46#define SHELL_GlobalCounterCreate(refguid, handle) ( (refguid), (handle), (void)0 )
47#define SHELL_GlobalCounterIsInitialized(handle) ( (handle), TRUE )
48#define SHELL_GlobalCounterGet(id) SHGlobalCounterGetValue_Vista(id)
49#define SHELL_GlobalCounterIncrement(id) SHGlobalCounterIncrement_Vista(id)
51#define SHELL_GCOUNTER_DEFINE_GUID(name, a, b, c, d, e, f, g, h, i, j, k) const GUID name = { a, b, c, { d, e, f, g, h, i, j, k } }
52#define SHELL_GCOUNTER_DEFINE_HANDLE(name) HANDLE name = NULL
53#define SHELL_GCOUNTER_PARAMETERS(handle, id) handle
54#define SHELL_GlobalCounterCreate(refguid, handle) \
56 EXTERN_C HANDLE SHELL_GetCachedGlobalCounter(HANDLE *phGlobalCounter, REFGUID rguid); \
57 SHELL_GetCachedGlobalCounter(&(handle), (refguid)); \
59#define SHELL_GlobalCounterIsInitialized(handle) ( (handle) != NULL )
60#define SHELL_GlobalCounterGet(handle) SHGlobalCounterGetValue(handle)
61#define SHELL_GlobalCounterIncrement(handle) SHGlobalCounterIncrement(handle)
63#define SHELL_GCOUNTER_DECLAREPARAMETERS(handle, id) SHELL_GCOUNTER_PARAMETERS(HANDLE handle, SHGLOBALCOUNTER id)
75#define SHAboutInfo SHAboutInfoW
77#define SHAboutInfo SHAboutInfoA
136#define SHExpandEnvironmentStrings SHExpandEnvironmentStringsW
138#define SHExpandEnvironmentStrings SHExpandEnvironmentStringsA
142#if (WINVER >= 0x0500)
146#define SHExpandEnvironmentStringsForUser SHExpandEnvironmentStringsForUserW
148#define SHExpandEnvironmentStringsForUser SHExpandEnvironmentStringsForUserA
198 _Out_ void **ppvObj);
206 _Out_ void **ppvObj);
221#define SHCreateWorkerWindow SHCreateWorkerWindowW
223#define SHCreateWorkerWindow SHCreateWorkerWindowA
252#define SHGetValueGoodBoot SHGetValueGoodBootW
253#define SHLoadRegUIString SHLoadRegUIStringW
255#define SHGetValueGoodBoot SHGetValueGoodBootA
256#define SHLoadRegUIString SHLoadRegUIStringA
320#define WHICH_PIF (1 << 0)
321#define WHICH_COM (1 << 1)
322#define WHICH_EXE (1 << 2)
323#define WHICH_BAT (1 << 3)
324#define WHICH_LNK (1 << 4)
325#define WHICH_CMD (1 << 5)
326#define WHICH_OPTIONAL (1 << 6)
328#define WHICH_DEFAULT (WHICH_PIF | WHICH_COM | WHICH_EXE | WHICH_BAT | WHICH_LNK | WHICH_CMD)
331#define PATH_CHAR_CLASS_LETTER 0x00000001
332#define PATH_CHAR_CLASS_ASTERIX 0x00000002
333#define PATH_CHAR_CLASS_DOT 0x00000004
334#define PATH_CHAR_CLASS_BACKSLASH 0x00000008
335#define PATH_CHAR_CLASS_COLON 0x00000010
336#define PATH_CHAR_CLASS_SEMICOLON 0x00000020
337#define PATH_CHAR_CLASS_COMMA 0x00000040
338#define PATH_CHAR_CLASS_SPACE 0x00000080
339#define PATH_CHAR_CLASS_OTHER_VALID 0x00000100
340#define PATH_CHAR_CLASS_DOUBLEQUOTE 0x00000200
341#define PATH_CHAR_CLASS_INVALID 0x00000000
342#define PATH_CHAR_CLASS_ANY 0xffffffff
371#ifdef SHLWAPI_ISHELLFOLDER_HELPERS
381#define SFGDNO_RETRYWITHFORPARSING 0x00000001
382#define SFGDNO_RETRYALWAYS 0x80000000
static WCHAR unknown[MAX_STRING_RESOURCE_LEN]
static REFPROPVARIANT PROPVAR_CHANGE_FLAGS VARTYPE vt
#define IShellFolder_ParseDisplayName
#define IShellFolder_CompareIDs
#define IShellFolder_GetDisplayNameOf
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
WDF_INTERRUPT_POLICY policy
GLenum GLuint GLenum GLsizei const GLchar * buf
static LRESULT WINAPI wndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
const char * appName(const char *argv0)
static const struct access_res create[16]
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
#define _Out_writes_(size)
#define _Out_writes_to_(size, count)
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
interface IBindCtx * LPBC
static const WCHAR szName[]
_In_ int _In_ BOOL bCreate
HRESULT WINAPI IUnknown_UIActivateIO(IUnknown *unknown, BOOL activate, LPMSG msg)
HRESULT WINAPI IUnknown_QueryServiceExec(IUnknown *lpUnknown, REFIID service, const GUID *group, DWORD cmdId, DWORD cmdOpt, VARIANT *pIn, VARIANT *pOut)
HRESULT WINAPI SHPropertyBag_ReadInt(IPropertyBag *ppb, LPCWSTR pszPropName, LPINT pnValue)
BOOL WINAPI SHSimulateDrop(IDropTarget *pDrop, IDataObject *pDataObj, DWORD grfKeyState, PPOINTL lpPt, DWORD *pdwEffect)
VOID WINAPI IUnknown_Set(IUnknown **lppDest, IUnknown *lpUnknown)
HRESULT WINAPI SHRegGetCLSIDKeyW(REFGUID guid, LPCWSTR lpszValue, BOOL bUseHKCU, BOOL bCreate, PHKEY phKey)
HRESULT WINAPI IUnknown_TranslateAcceleratorOCS(IUnknown *lpUnknown, LPMSG lpMsg, DWORD dwModifiers)
DATABLOCK_HEADER *WINAPI SHFindDataBlock(LPDBLIST lpList, DWORD dwSignature)
DWORD WINAPI SHAnsiToUnicode(LPCSTR lpSrcStr, LPWSTR lpDstStr, INT iLen)
HRESULT WINAPI SHPropertyBag_WriteRECTL(IPropertyBag *ppb, LPCWSTR pszPropName, const RECTL *prcl)
HRESULT WINAPI SHPropertyBag_ReadDWORD(IPropertyBag *ppb, LPCWSTR pszPropName, DWORD *pdwValue)
VOID WINAPI FixSlashesAndColonW(LPWSTR)
DWORD WINAPI SHGetValueGoodBootA(HKEY hkey, LPCSTR pSubKey, LPCSTR pValue, LPDWORD pwType, LPVOID pvData, LPDWORD pbData)
HRESULT WINAPI SHPropertyBag_ReadSHORT(IPropertyBag *ppb, LPCWSTR pszPropName, SHORT *psValue)
HRESULT WINAPI IsQSForward(REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds)
HMENU WINAPI SHGetMenuFromID(HMENU hMenu, UINT uID)
HRESULT WINAPI IUnknown_HandleIRestrict(LPUNKNOWN lpUnknown, PVOID lpArg1, PVOID lpArg2, PVOID lpArg3, PVOID lpArg4)
HRESULT WINAPI SHPropertyBag_ReadGUID(IPropertyBag *ppb, LPCWSTR pszPropName, GUID *pguid)
BOOL WINAPI SHPropertyBag_ReadBOOLOld(IPropertyBag *ppb, LPCWSTR pszPropName, BOOL bDefValue)
HRESULT WINAPI SHReadDataBlockList(IStream *lpStream, LPDBLIST *lppList)
HRESULT WINAPI SHLoadRegUIStringW(HKEY hkey, LPCWSTR value, LPWSTR buf, DWORD size)
LONG WINAPI SHGlobalCounterGetValue(HANDLE hGlobalCounter)
HRESULT WINAPI IStream_Size(IStream *lpStream, ULARGE_INTEGER *lpulSize)
DWORD WINAPI SHSendMessageBroadcastW(UINT uMsg, WPARAM wParam, LPARAM lParam)
HRESULT WINAPI IUnknown_GetClassID(IUnknown *lpUnknown, CLSID *lpClassId)
VOID WINAPI SHSetDefaultDialogFont(HWND hWnd, INT id)
HRESULT WINAPI IUnknown_QueryStatus(IUnknown *lpUnknown, REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText)
HWND WINAPI SHCreateWorkerWindowA(WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle, DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra)
BOOL WINAPI PathIsValidCharW(WCHAR c, DWORD dwClass)
HRESULT WINAPI SHPropertyBag_ReadPOINTS(IPropertyBag *ppb, LPCWSTR pszPropName, POINTS *ppts)
HRESULT WINAPI SHPropertyBag_WriteBOOL(IPropertyBag *ppb, LPCWSTR pszPropName, BOOL bValue)
VOID WINAPI SHFreeDataBlockList(LPDBLIST lpList)
HANDLE WINAPI SHGlobalCounterCreate(REFGUID guid)
INT WINAPI SHUnicodeToAnsi(LPCWSTR lpSrcStr, LPSTR lpDstStr, INT iLen)
HRESULT WINAPI SHInvokeDefaultCommand(HWND, IShellFolder *, LPCITEMIDLIST)
struct tagPOLICYDATA * LPPOLICYDATA
@ SHKEY_Subkey_Associations
@ SHKEY_Subkey_ResourceName
DWORD WINAPI SHCheckMenuItem(HMENU hMenu, UINT uID, BOOL bCheck)
HRESULT WINAPI ConnectToConnectionPoint(IUnknown *lpUnkSink, REFIID riid, BOOL bAdviseOnly, IUnknown *lpUnknown, LPDWORD lpCookie, IConnectionPoint **lppCP)
HRESULT WINAPI SHCreatePropertyBagOnRegKey(_In_ HKEY hKey, _In_z_ LPCWSTR pszSubKey, _In_ DWORD dwMode, _In_ REFIID riid, _Out_ void **ppvObj)
HRESULT WINAPI SHPropertyBag_ReadPOINTL(IPropertyBag *ppb, LPCWSTR pszPropName, POINTL *pptl)
HRESULT WINAPI SHPropertyBag_WriteGUID(IPropertyBag *ppb, LPCWSTR pszPropName, const GUID *pguid)
BOOL WINAPI IContextMenu_Invoke(_In_ IContextMenu *pContextMenu, _In_ HWND hwnd, _In_ LPCSTR lpVerb, _In_ UINT uFlags)
LONG WINAPI RegCreateKeyExWrapW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
HRESULT WINAPI SHPropertyBag_WriteSHORT(IPropertyBag *ppb, LPCWSTR pszPropName, SHORT sValue)
LONG WINAPI SHGlobalCounterIncrement(HANDLE hGlobalCounter)
DWORD WINAPI SHWaitForSendMessageThread(HANDLE hand, DWORD dwTimeout)
DWORD WINAPI SHFillRectClr(HDC hDC, LPCRECT pRect, COLORREF cRef)
BOOL WINAPI SHGetPathFromIDListWrapW(LPCITEMIDLIST pidl, LPWSTR pszPath)
UINT WINAPI SHEnableMenuItem(HMENU hMenu, UINT wItemID, BOOL bEnable)
BOOL WINAPI SHAddDataBlock(LPDBLIST *lppList, const DATABLOCK_HEADER *lpNewItem)
HRESULT WINAPI IUnknown_OnFocusOCS(IUnknown *lpUnknown, BOOL fGotFocus)
DWORD WINAPI SHGetObjectCompatFlags(IUnknown *pUnk, const CLSID *clsid)
HRESULT WINAPI SHPropertyBag_ReadStr(IPropertyBag *ppb, LPCWSTR pszPropName, LPWSTR pszDst, int cchMax)
HRESULT WINAPI SHWriteDataBlockList(IStream *lpStream, LPDBLIST lpList)
DWORD WINAPI SHRestrictionLookup(_In_ DWORD policy, _In_ LPCWSTR key, _In_ const POLICYDATA *polTable, _Inout_ LPDWORD polArr)
DWORD WINAPI SHGetIniStringW(_In_z_ LPCWSTR appName, _In_z_ LPCWSTR keyName, _Out_writes_to_(outLen, return+1) LPWSTR out, _In_ DWORD outLen, _In_z_ LPCWSTR filename)
HRESULT WINAPI SHIsExpandableFolder(LPSHELLFOLDER lpFolder, LPCITEMIDLIST pidl)
struct tagPOLICYDATA POLICYDATA
HRESULT WINAPI SHPropertyBag_ReadBSTR(IPropertyBag *ppb, LPCWSTR pszPropName, BSTR *pbstr)
BOOL WINAPI SHIsChildOrSelf(HWND hParent, HWND hChild)
HRESULT WINAPI IUnknown_Exec(IUnknown *lpUnknown, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
BOOL WINAPI SHSetIniStringUTF7W(_In_z_ LPCWSTR lpAppName, _In_z_ LPCWSTR lpKeyName, _In_opt_z_ LPCWSTR lpString, _In_z_ LPCWSTR lpFileName)
DWORD WINAPI SHGetCurColorRes(void)
DWORD WINAPI SHExpandEnvironmentStringsW(LPCWSTR, LPWSTR, DWORD)
PVOID WINAPI SHInterlockedCompareExchange(PVOID *dest, PVOID xchg, PVOID compare)
HRESULT WINAPI IUnknown_TranslateAcceleratorIO(IUnknown *punk, MSG *pmsg)
BOOL WINAPI SHIsSameObject(IUnknown *lpInt1, IUnknown *lpInt2)
DWORD WINAPI SHExpandEnvironmentStringsA(LPCSTR, LPSTR, DWORD)
HWND WINAPI SHCreateWorkerWindowW(WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle, DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra)
HRESULT WINAPI IUnknown_SetOwner(IUnknown *iface, IUnknown *pUnk)
HRESULT WINAPI SHPropertyBag_ReadRECTL(IPropertyBag *ppb, LPCWSTR pszPropName, RECTL *prcl)
HRESULT WINAPI SHForwardContextMenuMsg(IUnknown *pUnk, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pResult, BOOL useIContextMenu2)
HRESULT WINAPI SHCreatePropertyBagOnProfileSection(_In_z_ LPCWSTR lpFileName, _In_opt_z_ LPCWSTR pszSection, _In_ DWORD dwMode, _In_ REFIID riid, _Out_ void **ppvObj)
HRESULT WINAPI SHPropertyBag_Delete(IPropertyBag *ppb, LPCWSTR pszPropName)
LONG WINAPI SHSetWindowBits(HWND hwnd, INT offset, UINT wMask, UINT wFlags)
HRESULT WINAPI SHCreatePropertyBagOnMemory(_In_ DWORD dwMode, _In_ REFIID riid, _Out_ void **ppvObj)
HRESULT WINAPI IUnknown_HasFocusIO(IUnknown *punk)
BOOL WINAPI SHIsEmptyStream(IStream *)
DWORD WINAPI SHRemoveAllSubMenus(HMENU hMenu)
HMODULE WINAPI SHPinDllOfCLSID(REFIID refiid)
HRESULT WINAPI IUnknown_OnFocusChangeIS(LPUNKNOWN lpUnknown, LPUNKNOWN pFocusObject, BOOL bFocus)
BOOL WINAPI SHRemoveDataBlock(LPDBLIST *lppList, DWORD dwSignature)
HRESULT WINAPI SHPropertyBag_WriteInt(IPropertyBag *ppb, LPCWSTR pszPropName, INT nValue)
PVOID WINAPI SHLockSharedEx(HANDLE hData, DWORD dwProcessId, BOOL bWriteAccess)
BOOL WINAPI PathFindOnPathExW(LPWSTR lpszFile, LPCWSTR *lppszOtherDirs, DWORD dwWhich)
void WINAPI SHPropagateMessage(HWND hWnd, UINT uiMsgId, WPARAM wParam, LPARAM lParam, BOOL bSend)
HRESULT WINAPI SHPropertyBag_ReadStream(IPropertyBag *ppb, LPCWSTR pszPropName, IStream **ppStream)
HRESULT WINAPI MayQSForward(IUnknown *lpUnknown, PVOID lpReserved, REFGUID riidCmdGrp, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText)
BOOL WINAPI SHSetIniStringW(_In_z_ LPCWSTR appName, _In_z_ LPCWSTR keyName, _In_opt_z_ LPCWSTR str, _In_z_ LPCWSTR filename)
DWORD WINAPI SHGetValueGoodBootW(HKEY hkey, LPCWSTR pSubKey, LPCWSTR pValue, LPDWORD pwType, LPVOID pvData, LPDWORD pbData)
BOOL WINAPI SHLoadMenuPopup(HINSTANCE hInst, LPCWSTR szName)
HRESULT WINAPI MayExecForward(IUnknown *lpUnknown, INT iUnk, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
HRESULT WINAPI SHPropertyBag_ReadBOOL(IPropertyBag *ppb, LPCWSTR pszPropName, BOOL *pbValue)
HKEY WINAPI SHGetShellKey(DWORD flags, LPCWSTR sub_key, BOOL create)
DWORD WINAPI SHAnsiToUnicodeCP(DWORD dwCp, LPCSTR lpSrcStr, LPWSTR lpDstStr, int iLen)
int WINAPI SHSearchMapInt(const int *lpKeys, const int *lpValues, int iLen, int iKey)
HRESULT WINAPI SHLoadRegUIStringA(HKEY hkey, LPCSTR value, LPSTR buf, DWORD size)
HWND WINAPI SHSetParentHwnd(HWND hWnd, HWND hWndParent)
DWORD WINAPI SHGetIniStringUTF7W(_In_opt_z_ LPCWSTR lpAppName, _In_z_ LPCWSTR lpKeyName, _Out_writes_to_(nSize, return+1) _Post_z_ LPWSTR lpReturnedString, _In_ DWORD nSize, _In_z_ LPCWSTR lpFileName)
HRESULT WINAPI SHPropertyBag_WriteStr(IPropertyBag *ppb, LPCWSTR pszPropName, LPCWSTR pszValue)
HRESULT WINAPI SHPropertyBag_WriteStream(IPropertyBag *ppb, LPCWSTR pszPropName, IStream *pStream)
BOOL WINAPI PathFileExistsDefExtW(LPWSTR lpszPath, DWORD dwWhich)
HRESULT WINAPI SHPropertyBag_WritePOINTL(IPropertyBag *ppb, LPCWSTR pszPropName, const POINTL *pptl)
DWORD WINAPI SHMenuIndexFromID(HMENU hMenu, UINT uID)
BOOL WINAPI SHAboutInfoW(LPWSTR lpszDest, DWORD dwDestLen)
DWORD WINAPI SHUnicodeToAnsiCP(UINT CodePage, LPCWSTR lpSrcStr, LPSTR lpDstStr, int dstlen)
HRESULT WINAPI SHPropertyBag_WritePOINTS(IPropertyBag *ppb, LPCWSTR pszPropName, const POINTS *ppts)
INT WINAPI SHGetPerScreenResName(_Out_writes_(cchBuffer) LPWSTR pszBuffer, _In_ INT cchBuffer, _In_ DWORD dwReserved)
HRESULT WINAPI SHPropertyBag_WriteLONG(IPropertyBag *ppb, LPCWSTR pszPropName, LONG lValue)
EXTERN_C HRESULT WINAPI IUnknown_QueryServicePropertyBag(_In_ IUnknown *punk, _In_ long flags, _In_ REFIID riid, _Outptr_ void **ppvObj)
HRESULT WINAPI SHPropertyBag_ReadType(IPropertyBag *ppb, LPCWSTR pszPropName, VARIANTARG *pvarg, VARTYPE vt)
HRESULT WINAPI SHPropertyBag_WriteDWORD(IPropertyBag *ppb, LPCWSTR pszPropName, DWORD dwValue)
BOOL WINAPI PathFileExistsDefExtAndAttributesW(_Inout_ LPWSTR pszPath, _In_ DWORD dwWhich, _Out_opt_ LPDWORD pdwFileAttributes)
int WINAPIV ShellMessageBoxWrapW(_In_opt_ HINSTANCE hAppInst, _In_opt_ HWND hWnd, _In_ LPCWSTR lpcText, _In_opt_ LPCWSTR lpcTitle, _In_ UINT fuStyle,...)
BOOL WINAPI PathIsValidCharA(char c, DWORD dwClass)
DWORD WINAPI SHRegisterClassA(WNDCLASSA *wndclass)
BOOL WINAPI SHAboutInfoA(LPSTR lpszDest, DWORD dwDestLen)
HRESULT WINAPI SHPropertyBag_ReadLONG(IPropertyBag *ppb, LPCWSTR pszPropName, LPLONG pValue)
const ITEMIDLIST_RELATIVE UNALIGNED * PCUIDLIST_RELATIVE
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
TW_UINT32 TW_UINT16 TW_UINT16 MSG
*nSize LPSTR _Inout_ LPDWORD nSize
_In_ DWORD _Out_ _In_ WORD wFlags
_In_ HCRYPTHASH _In_ BOOL _In_ DWORD _Inout_updates_bytes_to_ pdwDataLen BYTE * pbData
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD dwTimeout
_In_ ULONG _In_ CLIPOBJ _In_ RECTL * prcl
_In_ ULONG _In_opt_ PVOID pvData
_Reserved_ PVOID Reserved
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)