24#define ASSOCQUERY_LOWORD_MASK 0x0000FFFF
25#define ASSOCQUERY_STRING 0x00010000
26#define ASSOCQUERY_EXISTS 0x00020000
27#define ASSOCQUERY_DIRECT 0x00040000
28#define ASSOCQUERY_DWORD 0x00080000
29#define ASSOCQUERY_INDIRECT 0x00100000
30#define ASSOCQUERY_OBJECT 0x00200000
31#define ASSOCQUERY_GUID 0x00400000
32#define ASSOCQUERY_EXTRA_NON_VERB 0x01000000
33#define ASSOCQUERY_EXTRA_VERB 0x02000000
34#define ASSOCQUERY_SIGNIFICANCE 0x04000000
35#define ASSOCQUERY_FALLBACK 0x80000000
37#define SHELL_NO_POLICY ((DWORD)-1)
51#if FALSE && ((DLL_EXPORT_VERSION) >= _WIN32_WINNT_VISTA)
52#define SHELL_GCOUNTER_DEFINE_GUID(name, a, b, c, d, e, f, g, h, i, j, k) enum { SHELLUNUSEDCOUNTERGUID_##name }
53#define SHELL_GCOUNTER_DEFINE_HANDLE(name) enum { SHELLUNUSEDCOUNTERHANDLE_##name }
54#define SHELL_GCOUNTER_PARAMETERS(handle, id) id
55#define SHELL_GlobalCounterCreate(refguid, handle) ( (refguid), (handle), (void)0 )
56#define SHELL_GlobalCounterIsInitialized(handle) ( (handle), TRUE )
57#define SHELL_GlobalCounterGet(id) SHGlobalCounterGetValue_Vista(id)
58#define SHELL_GlobalCounterIncrement(id) SHGlobalCounterIncrement_Vista(id)
60#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 } }
61#define SHELL_GCOUNTER_DEFINE_HANDLE(name) HANDLE name = NULL
62#define SHELL_GCOUNTER_PARAMETERS(handle, id) handle
63#define SHELL_GlobalCounterCreate(refguid, handle) \
65 EXTERN_C HANDLE SHELL_GetCachedGlobalCounter(HANDLE *phGlobalCounter, REFGUID rguid); \
66 SHELL_GetCachedGlobalCounter(&(handle), (refguid)); \
68#define SHELL_GlobalCounterIsInitialized(handle) ( (handle) != NULL )
69#define SHELL_GlobalCounterGet(handle) SHGlobalCounterGetValue(handle)
70#define SHELL_GlobalCounterIncrement(handle) SHGlobalCounterIncrement(handle)
72#define SHELL_GCOUNTER_DECLAREPARAMETERS(handle, id) SHELL_GCOUNTER_PARAMETERS(HANDLE handle, SHGLOBALCOUNTER id)
84#define SHAboutInfo SHAboutInfoW
86#define SHAboutInfo SHAboutInfoA
145#define SHExpandEnvironmentStrings SHExpandEnvironmentStringsW
147#define SHExpandEnvironmentStrings SHExpandEnvironmentStringsA
151#if (WINVER >= 0x0500)
155#define SHExpandEnvironmentStringsForUser SHExpandEnvironmentStringsForUserW
157#define SHExpandEnvironmentStringsForUser SHExpandEnvironmentStringsForUserA
207 _Out_ void **ppvObj);
215 _Out_ void **ppvObj);
230#define SHCreateWorkerWindow SHCreateWorkerWindowW
232#define SHCreateWorkerWindow SHCreateWorkerWindowA
261#define SHGetValueGoodBoot SHGetValueGoodBootW
262#define SHLoadRegUIString SHLoadRegUIStringW
264#define SHGetValueGoodBoot SHGetValueGoodBootA
265#define SHLoadRegUIString SHLoadRegUIStringA
329#define WHICH_PIF (1 << 0)
330#define WHICH_COM (1 << 1)
331#define WHICH_EXE (1 << 2)
332#define WHICH_BAT (1 << 3)
333#define WHICH_LNK (1 << 4)
334#define WHICH_CMD (1 << 5)
335#define WHICH_OPTIONAL (1 << 6)
337#define WHICH_DEFAULT (WHICH_PIF | WHICH_COM | WHICH_EXE | WHICH_BAT | WHICH_LNK | WHICH_CMD)
340#define PATH_CHAR_CLASS_LETTER 0x00000001
341#define PATH_CHAR_CLASS_ASTERIX 0x00000002
342#define PATH_CHAR_CLASS_DOT 0x00000004
343#define PATH_CHAR_CLASS_BACKSLASH 0x00000008
344#define PATH_CHAR_CLASS_COLON 0x00000010
345#define PATH_CHAR_CLASS_SEMICOLON 0x00000020
346#define PATH_CHAR_CLASS_COMMA 0x00000040
347#define PATH_CHAR_CLASS_SPACE 0x00000080
348#define PATH_CHAR_CLASS_OTHER_VALID 0x00000100
349#define PATH_CHAR_CLASS_DOUBLEQUOTE 0x00000200
350#define PATH_CHAR_CLASS_INVALID 0x00000000
351#define PATH_CHAR_CLASS_ANY 0xffffffff
376#define SHACF_WIN95SHLEXEC 0x00000200
385#define INTERFACE IAssociationElementOld
402#define IAssociationElementOld_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
403#define IAssociationElementOld_AddRef(T) (T)->lpVtbl->AddRef(T)
404#define IAssociationElementOld_Release(T) (T)->lpVtbl->Release(T)
405#define IAssociationElementOld_QueryString(T,a,b,c) (T)->lpVtbl->QueryString(T,a,b,c)
406#define IAssociationElementOld_QueryDword(T,a,b,c) (T)->lpVtbl->QueryDword(T,a,b,c)
407#define IAssociationElementOld_QueryExists(T,a,b) (T)->lpVtbl->QueryExists(T,a,b)
408#define IAssociationElementOld_QueryDirect(T,a,b,c) (T)->lpVtbl->QueryDirect(T,a,b,c)
409#define IAssociationElementOld_QueryObject(T,a,b,c,d) (T)->lpVtbl->QueryObject(T,a,b,c,d)
static DWORD const LPVOID const lpReserved
WINBASEAPI _Check_return_ _Out_ AppPolicyProcessTerminationMethod * policy
#define DECLARE_INTERFACE_(i, b)
static WCHAR unknown[MAX_STRING_RESOURCE_LEN]
static REFPROPVARIANT PROPVAR_CHANGE_FLAGS VARTYPE vt
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
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 HRESULT QueryInterface(REFIID, void **)
static const struct access_res create[16]
static ULONG WINAPI AddRef(IStream *iface)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
#define _Out_writes_to_(s, c)
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)
STDMETHOD() QueryDirect(THIS_ ASSOCQUERY query, PCWSTR key, FLAGGED_BYTE_BLOB **ppBlob) PURE
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)
STDMETHOD() QueryExists(THIS_ ASSOCQUERY query, PCWSTR key) PURE
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)
STDMETHOD() QueryDword(THIS_ ASSOCQUERY query, PCWSTR key, DWORD *pdwValue) PURE
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
DWORD WINAPI SHGetAppCompatFlags(DWORD dwMask)
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)
STDMETHOD() QueryString(THIS_ ASSOCQUERY query, PCWSTR key, PWSTR *ppszValue) PURE
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)
STDMETHOD() QueryObject(THIS_ ASSOCQUERY query, PCWSTR key, REFIID riid, PVOID *ppvObj) PURE
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 UNALIGNED * LPCITEMIDLIST
TW_UINT32 TW_UINT16 TW_UINT16 MSG
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
*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)