ReactOS 0.4.16-dev-751-g45ed1a9
shlwapi_undoc.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS header
3 * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
4 * PURPOSE: Undocumented SHLWAPI definitions
5 * COPYRIGHT: Copyright 2009 Andrew Hill <ash77 at domain reactos.org>
6 * Copyright 2025 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
7 */
8
9#pragma once
10
11#include <winreg.h> // For REGSAM
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17/*****************************************************************************
18 * ASSOCQUERY --- The type flags of association query
19 *
20 * @see IAssociationElementOld, IAssociationElement, IAssociationArrayOld, IAssociationArray
21 * @see https://www.geoffchappell.com/studies/windows/shell/shell32/api/assocelem/query.htm
22 */
24#define ASSOCQUERY_LOWORD_MASK 0x0000FFFF // The low-order word of flags
25#define ASSOCQUERY_STRING 0x00010000 // Responds to QueryString method
26#define ASSOCQUERY_EXISTS 0x00020000 // Responds to QueryExists method
27#define ASSOCQUERY_DIRECT 0x00040000 // Responds to QueryDirect method
28#define ASSOCQUERY_DWORD 0x00080000 // Responds to QueryDword method
29#define ASSOCQUERY_INDIRECT 0x00100000 // Obtains resource string from QueryString
30#define ASSOCQUERY_OBJECT 0x00200000 // Responds to QueryObject method
31#define ASSOCQUERY_GUID 0x00400000 // Responds to QueryGuid method
32#define ASSOCQUERY_EXTRA_NON_VERB 0x01000000 // Expects pszExtra for path or value
33#define ASSOCQUERY_EXTRA_VERB 0x02000000 // Expects pszExtra for verb
34#define ASSOCQUERY_SIGNIFICANCE 0x04000000 // Significance unknown
35#define ASSOCQUERY_FALLBACK 0x80000000 // Fallback to secondary query source
36
37#define SHELL_NO_POLICY ((DWORD)-1)
38
39typedef struct tagPOLICYDATA
40{
41 DWORD policy; /* flags value passed to SHRestricted */
42 LPCWSTR appstr; /* application str such as "Explorer" */
43 LPCWSTR keystr; /* name of the actual registry key / policy */
45
50
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)
59#else
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) \
64 do { \
65 EXTERN_C HANDLE SHELL_GetCachedGlobalCounter(HANDLE *phGlobalCounter, REFGUID rguid); \
66 SHELL_GetCachedGlobalCounter(&(handle), (refguid)); \
67 } while (0)
68#define SHELL_GlobalCounterIsInitialized(handle) ( (handle) != NULL )
69#define SHELL_GlobalCounterGet(handle) SHGlobalCounterGetValue(handle)
70#define SHELL_GlobalCounterIncrement(handle) SHGlobalCounterIncrement(handle)
71#endif
72#define SHELL_GCOUNTER_DECLAREPARAMETERS(handle, id) SHELL_GCOUNTER_PARAMETERS(HANDLE handle, SHGLOBALCOUNTER id)
73
78 _In_ const POLICYDATA *polTable,
79 _Inout_ LPDWORD polArr);
80
83#ifdef UNICODE
84#define SHAboutInfo SHAboutInfoW
85#else
86#define SHAboutInfo SHAboutInfoA
87#endif
88
90HRESULT WINAPI IUnknown_QueryStatus(IUnknown *lpUnknown, REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT* pCmdText);
91HRESULT WINAPI IUnknown_Exec(IUnknown* lpUnknown, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT* pvaIn, VARIANT* pvaOut);
94HRESULT WINAPI ConnectToConnectionPoint(IUnknown *lpUnkSink, REFIID riid, BOOL bAdviseOnly, IUnknown *lpUnknown, LPDWORD lpCookie, IConnectionPoint **lppCP);
100DWORD WINAPI SHCheckMenuItem(HMENU hMenu, UINT uID, BOOL bCheck);
102BOOL WINAPI SHSimulateDrop(IDropTarget *pDrop, IDataObject *pDataObj, DWORD grfKeyState, PPOINTL lpPt, DWORD* pdwEffect);
108HRESULT WINAPI SHIsExpandableFolder(LPSHELLFOLDER lpFolder, LPCITEMIDLIST pidl);
110int WINAPI SHSearchMapInt(const int *lpKeys, const int *lpValues, int iLen, int iKey);
111VOID WINAPI IUnknown_Set(IUnknown **lppDest, IUnknown *lpUnknown);
112HRESULT WINAPI MayQSForward(IUnknown* lpUnknown, PVOID lpReserved, REFGUID riidCmdGrp, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText);
113HRESULT WINAPI MayExecForward(IUnknown* lpUnknown, INT iUnk, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut);
114HRESULT WINAPI IsQSForward(REFGUID pguidCmdGroup,ULONG cCmds, OLECMD *prgCmds);
118
120
121BOOL WINAPI SHAddDataBlock(LPDBLIST* lppList, const DATABLOCK_HEADER *lpNewItem);
122BOOL WINAPI SHRemoveDataBlock(LPDBLIST* lppList, DWORD dwSignature);
127
128LONG
129WINAPI
131 _In_ HKEY hKey,
132 _In_ LPCWSTR lpSubKey,
134 _In_opt_ LPWSTR lpClass,
136 _In_ REGSAM samDesired,
137 _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
138 _Out_ PHKEY phkResult,
139 _Out_opt_ LPDWORD lpdwDisposition);
140
141/* Redirected to kernel32.ExpandEnvironmentStringsA/W */
144#ifdef UNICODE
145#define SHExpandEnvironmentStrings SHExpandEnvironmentStringsW
146#else
147#define SHExpandEnvironmentStrings SHExpandEnvironmentStringsA
148#endif
149
150/* Redirected to userenv.ExpandEnvironmentStringsForUserA/W */
151#if (WINVER >= 0x0500)
152BOOL WINAPI SHExpandEnvironmentStringsForUserA(HANDLE, LPCSTR, LPSTR, DWORD);
153BOOL WINAPI SHExpandEnvironmentStringsForUserW(HANDLE, LPCWSTR, LPWSTR, DWORD);
154#ifdef UNICODE
155#define SHExpandEnvironmentStringsForUser SHExpandEnvironmentStringsForUserW
156#else
157#define SHExpandEnvironmentStringsForUser SHExpandEnvironmentStringsForUserA
158#endif
159#endif
160
161
163HRESULT WINAPI IStream_Size(IStream *lpStream, ULARGE_INTEGER* lpulSize);
179
182 _Out_writes_(cchBuffer) LPWSTR pszBuffer,
185
198
200
203 _In_ HKEY hKey,
204 _In_z_ LPCWSTR pszSubKey,
205 _In_ DWORD dwMode,
207 _Out_ void **ppvObj);
208
212 _In_opt_z_ LPCWSTR pszSection,
213 _In_ DWORD dwMode,
215 _Out_ void **ppvObj);
216
219 _In_ IUnknown *punk,
220 _In_ long flags,
222 _Outptr_ void **ppvObj);
223
225 DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra);
226
228 DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra);
229#ifdef UNICODE
230#define SHCreateWorkerWindow SHCreateWorkerWindowW
231#else
232#define SHCreateWorkerWindow SHCreateWorkerWindowA
233#endif
234
236HRESULT WINAPI IUnknown_GetClassID(IUnknown *lpUnknown, CLSID *lpClassId);
237HRESULT WINAPI IUnknown_QueryServiceExec(IUnknown *lpUnknown, REFIID service, const GUID *group, DWORD cmdId, DWORD cmdOpt, VARIANT *pIn, VARIANT *pOut);
239HRESULT WINAPI IUnknown_TranslateAcceleratorOCS(IUnknown *lpUnknown, LPMSG lpMsg, DWORD dwModifiers);
240HRESULT WINAPI IUnknown_OnFocusOCS(IUnknown *lpUnknown, BOOL fGotFocus);
241HRESULT WINAPI IUnknown_HandleIRestrict(LPUNKNOWN lpUnknown, PVOID lpArg1, PVOID lpArg2, PVOID lpArg3, PVOID lpArg4);
244HRESULT WINAPI IUnknown_OnFocusChangeIS(LPUNKNOWN lpUnknown, LPUNKNOWN pFocusObject, BOOL bFocus);
245
246DWORD WINAPI SHAnsiToUnicode(LPCSTR lpSrcStr, LPWSTR lpDstStr, INT iLen);
247INT WINAPI SHUnicodeToAnsi(LPCWSTR lpSrcStr, LPSTR lpDstStr, INT iLen);
248
249DWORD WINAPI SHAnsiToUnicodeCP(DWORD dwCp, LPCSTR lpSrcStr, LPWSTR lpDstStr, int iLen);
250DWORD WINAPI SHUnicodeToAnsiCP(UINT CodePage, LPCWSTR lpSrcStr, LPSTR lpDstStr, int dstlen);
251
252PVOID WINAPI SHLockSharedEx(HANDLE hData, DWORD dwProcessId, BOOL bWriteAccess);
253
260#ifdef UNICODE
261#define SHGetValueGoodBoot SHGetValueGoodBootW
262#define SHLoadRegUIString SHLoadRegUIStringW
263#else
264#define SHGetValueGoodBoot SHGetValueGoodBootA
265#define SHLoadRegUIString SHLoadRegUIStringA
266#endif
267
271 _In_z_ LPCWSTR keyName,
272 _Out_writes_to_(outLen, return + 1) LPWSTR out,
273 _In_ DWORD outLen,
275
279 _In_z_ LPCWSTR keyName,
282
285 _In_opt_z_ LPCWSTR lpAppName,
286 _In_z_ LPCWSTR lpKeyName,
287 _Out_writes_to_(nSize, return + 1) _Post_z_ LPWSTR lpReturnedString,
290
293 _In_z_ LPCWSTR lpAppName,
294 _In_z_ LPCWSTR lpKeyName,
295 _In_opt_z_ LPCWSTR lpString,
297
299{
312 SHKEY_Subkey_FileExts = 0x6000
314
316
317int
320 _In_opt_ HINSTANCE hAppInst,
322 _In_ LPCWSTR lpcText,
323 _In_opt_ LPCWSTR lpcTitle,
324 _In_ UINT fuStyle,
325 ...);
326
327/* dwWhich flags for PathFileExistsDefExtW, PathFindOnPathExW,
328 * and PathFileExistsDefExtAndAttributesW */
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)
336
337#define WHICH_DEFAULT (WHICH_PIF | WHICH_COM | WHICH_EXE | WHICH_BAT | WHICH_LNK | WHICH_CMD)
338
339/* dwClass flags for PathIsValidCharA and PathIsValidCharW */
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
352
353BOOL WINAPI PathFileExistsDefExtW(LPWSTR lpszPath, DWORD dwWhich);
354
357 _Inout_ LPWSTR pszPath,
358 _In_ DWORD dwWhich,
359 _Out_opt_ LPDWORD pdwFileAttributes);
360
361BOOL WINAPI PathFindOnPathExW(LPWSTR lpszFile, LPCWSTR *lppszOtherDirs, DWORD dwWhich);
363BOOL WINAPI PathIsValidCharA(char c, DWORD dwClass);
366
369 _In_ IContextMenu *pContextMenu,
370 _In_ HWND hwnd,
371 _In_ LPCSTR lpVerb,
373
375
376#define SHACF_WIN95SHLEXEC 0x00000200 /* Geoff Chappell */
378
379/*****************************************************************************
380 * IAssociationElementOld interface
381 *
382 * @see IAssociationElement
383 * @see https://www.geoffchappell.com/studies/windows/shell/shlwapi/interfaces/iassociationelement.htm
384 */
385#define INTERFACE IAssociationElementOld
386DECLARE_INTERFACE_(IAssociationElementOld, IUnknown) // {E58B1ABF-9596-4DBA-8997-89DCDEF46992}
387{
388 /*** IUnknown ***/
392 /*** IAssociationElementOld ***/
396 STDMETHOD(QueryDirect)(THIS_ ASSOCQUERY query, PCWSTR key, FLAGGED_BYTE_BLOB **ppBlob) PURE;
398};
399#undef INTERFACE
400
401#ifdef COBJMACROS
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)
410#endif
411
412#ifdef __cplusplus
413} /* extern "C" */
414#endif
static HDC hDC
Definition: 3dtext.c:33
UINT cchMax
WCHAR lpszDest[260]
static DWORD const LPVOID const lpReserved
WINBASEAPI _Check_return_ _Out_ AppPolicyProcessTerminationMethod * policy
Definition: appmodel.h:47
#define msg(x)
Definition: auth_time.c:54
HWND hWnd
Definition: settings.c:17
#define DECLARE_INTERFACE_(i, b)
Definition: basetyps.h:78
#define PURE
Definition: basetyps.h:64
#define THIS_
Definition: basetyps.h:65
#define EXTERN_C
Definition: basetyps.h:12
#define THIS
Definition: basetyps.h:66
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
#define STDMETHOD(m)
Definition: basetyps.h:62
_In_ BOOLEAN Release
Definition: cdrom.h:920
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
UINT uFlags
Definition: api.c:59
static WCHAR unknown[MAX_STRING_RESOURCE_LEN]
Definition: object.c:1605
OLECHAR * BSTR
Definition: compat.h:2293
unsigned short VARTYPE
Definition: compat.h:2254
static DWORD cchBuffer
Definition: fusion.c:85
static REFPROPVARIANT PROPVAR_CHANGE_FLAGS VARTYPE vt
Definition: suminfo.c:91
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
Definition: dplayx.c:30
HINSTANCE hInst
Definition: dxdiag.c:13
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
FxAutoRegKey hKey
PWCHAR pValue
GLsizeiptr size
Definition: glext.h:5919
GLintptr offset
Definition: glext.h:5920
const GLubyte * c
Definition: glext.h:8905
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLbitfield flags
Definition: glext.h:7161
GLboolean GLuint group
Definition: glext.h:11120
static LRESULT WINAPI wndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
Definition: imm32.c:185
REFIID riid
Definition: atlbase.h:39
const char * filename
Definition: ioapi.h:137
const char * appName(const char *argv0)
Definition: loadlib.c:89
const GUID * guid
static HDC
Definition: imagelist.c:88
static HTREEITEM hChild
Definition: treeview.c:383
static HRESULT QueryInterface(REFIID, void **)
Definition: events.c:2587
static const struct access_res create[16]
Definition: package.c:7505
static DWORD dstlen
Definition: directory.c:51
static char * dest
Definition: rtl.c:135
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:63
_shellkey_flags
Definition: ordinal.c:2803
REFCLSID clsid
Definition: msctf.c:82
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:95
unsigned int UINT
Definition: ndis.h:50
static LPUNKNOWN
Definition: ndr_ole.c:49
#define _Out_opt_
Definition: no_sal2.h:214
#define _Inout_
Definition: no_sal2.h:162
#define _In_z_
Definition: no_sal2.h:164
#define _In_opt_z_
Definition: no_sal2.h:218
#define _Outptr_
Definition: no_sal2.h:262
#define _Post_z_
Definition: no_sal2.h:508
#define _Out_writes_(s)
Definition: no_sal2.h:176
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _Out_writes_to_(s, c)
Definition: no_sal2.h:188
short SHORT
Definition: pedump.c:59
long LONG
Definition: pedump.c:60
static const WCHAR szName[]
Definition: powrprof.c:45
#define REFIID
Definition: guiddef.h:118
const WCHAR * str
#define WINAPIV
Definition: sdbpapi.h:64
_In_ int _In_ BOOL bCreate
Definition: shlobj.h:1520
HRESULT WINAPI IUnknown_UIActivateIO(IUnknown *unknown, BOOL activate, LPMSG msg)
Definition: ordinal.c:1633
HRESULT WINAPI IUnknown_QueryServiceExec(IUnknown *lpUnknown, REFIID service, const GUID *group, DWORD cmdId, DWORD cmdOpt, VARIANT *pIn, VARIANT *pOut)
Definition: ordinal.c:1553
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)
Definition: ordinal.c:1828
VOID WINAPI IUnknown_Set(IUnknown **lppDest, IUnknown *lpUnknown)
Definition: ordinal.c:2190
HRESULT WINAPI SHRegGetCLSIDKeyW(REFGUID guid, LPCWSTR lpszValue, BOOL bUseHKCU, BOOL bCreate, PHKEY phKey)
Definition: reg.c:2422
HRESULT WINAPI IUnknown_TranslateAcceleratorOCS(IUnknown *lpUnknown, LPMSG lpMsg, DWORD dwModifiers)
Definition: ordinal.c:1898
DATABLOCK_HEADER *WINAPI SHFindDataBlock(LPDBLIST lpList, DWORD dwSignature)
Definition: clist.c:424
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)
Definition: ordinal.c:4530
DWORD WINAPI SHGetValueGoodBootA(HKEY hkey, LPCSTR pSubKey, LPCSTR pValue, LPDWORD pwType, LPVOID pvData, LPDWORD pbData)
Definition: reg.c:1877
HRESULT WINAPI SHPropertyBag_ReadSHORT(IPropertyBag *ppb, LPCWSTR pszPropName, SHORT *psValue)
HRESULT WINAPI IsQSForward(REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds)
Definition: ordinal.c:2235
HMENU WINAPI SHGetMenuFromID(HMENU hMenu, UINT uID)
Definition: ordinal.c:1997
HRESULT WINAPI IUnknown_HandleIRestrict(LPUNKNOWN lpUnknown, PVOID lpArg1, PVOID lpArg2, PVOID lpArg3, PVOID lpArg4)
Definition: ordinal.c:1953
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)
Definition: clist.c:235
HRESULT WINAPI SHLoadRegUIStringW(HKEY hkey, LPCWSTR value, LPWSTR buf, DWORD size)
Definition: ordinal.c:4256
LONG WINAPI SHGlobalCounterGetValue(HANDLE hGlobalCounter)
Definition: thread.c:432
HRESULT WINAPI IStream_Size(IStream *lpStream, ULARGE_INTEGER *lpulSize)
Definition: istream.c:661
DWORD WINAPI SHSendMessageBroadcastW(UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: ordinal.c:4072
HRESULT WINAPI IUnknown_GetClassID(IUnknown *lpUnknown, CLSID *lpClassId)
Definition: ordinal.c:1457
VOID WINAPI SHSetDefaultDialogFont(HWND hWnd, INT id)
Definition: ordinal.c:2457
HRESULT WINAPI IUnknown_QueryStatus(IUnknown *lpUnknown, REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText)
Definition: ordinal.c:1048
HWND WINAPI SHCreateWorkerWindowA(WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle, DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra)
Definition: ordinal.c:2679
STDMETHOD() QueryDword(THIS_ ASSOCQUERY query, PCWSTR key, DWORD *pdwValue) PURE
BOOL WINAPI PathIsValidCharW(WCHAR c, DWORD dwClass)
Definition: path.c:4409
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)
Definition: clist.c:331
DWORD ASSOCQUERY
Definition: shlwapi_undoc.h:23
HANDLE WINAPI SHGlobalCounterCreate(REFGUID guid)
Definition: thread.c:551
INT WINAPI SHUnicodeToAnsi(LPCWSTR lpSrcStr, LPSTR lpDstStr, INT iLen)
Definition: string.c:2797
HRESULT WINAPI SHInvokeDefaultCommand(HWND, IShellFolder *, LPCITEMIDLIST)
Definition: ordinal.c:3060
struct tagPOLICYDATA * LPPOLICYDATA
@ SHKEY_Subkey_Handlers
@ SHKEY_Root_HKLM
@ SHKEY_Key_ShellNoRoam
@ SHKEY_Subkey_Volatile
@ SHKEY_Subkey_Associations
@ SHKEY_Key_Classes
@ SHKEY_Subkey_MUICache
@ SHKEY_Key_Explorer
@ SHKEY_Root_HKCU
@ SHKEY_Subkey_FileExts
@ SHKEY_Key_Shell
@ SHKEY_Subkey_Default
@ SHKEY_Subkey_ResourceName
DWORD WINAPI SHCheckMenuItem(HMENU hMenu, UINT uID, BOOL bCheck)
Definition: ordinal.c:1800
HRESULT WINAPI ConnectToConnectionPoint(IUnknown *lpUnkSink, REFIID riid, BOOL bAdviseOnly, IUnknown *lpUnknown, LPDWORD lpCookie, IConnectionPoint **lppCP)
Definition: ordinal.c:1193
HRESULT WINAPI SHCreatePropertyBagOnRegKey(_In_ HKEY hKey, _In_z_ LPCWSTR pszSubKey, _In_ DWORD dwMode, _In_ REFIID riid, _Out_ void **ppvObj)
Definition: propbag.cpp:575
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)
Definition: utils.cpp:194
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)
Definition: thread.c:453
DWORD WINAPI SHWaitForSendMessageThread(HANDLE hand, DWORD dwTimeout)
Definition: ordinal.c:2050
DWORD WINAPI SHFillRectClr(HDC hDC, LPCRECT pRect, COLORREF cRef)
Definition: ordinal.c:2133
BOOL WINAPI SHGetPathFromIDListWrapW(LPCITEMIDLIST pidl, LPWSTR pszPath)
Definition: ordinal.c:3472
UINT WINAPI SHEnableMenuItem(HMENU hMenu, UINT wItemID, BOOL bEnable)
Definition: ordinal.c:1781
BOOL WINAPI SHAddDataBlock(LPDBLIST *lppList, const DATABLOCK_HEADER *lpNewItem)
Definition: clist.c:68
HRESULT WINAPI IUnknown_OnFocusOCS(IUnknown *lpUnknown, BOOL fGotFocus)
Definition: ordinal.c:1931
DWORD WINAPI SHGetObjectCompatFlags(IUnknown *pUnk, const CLSID *clsid)
Definition: ordinal.c:6294
HRESULT WINAPI SHPropertyBag_ReadStr(IPropertyBag *ppb, LPCWSTR pszPropName, LPWSTR pszDst, int cchMax)
HRESULT WINAPI SHWriteDataBlockList(IStream *lpStream, LPDBLIST lpList)
Definition: clist.c:179
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)
Definition: propbag.cpp:602
HRESULT WINAPI SHIsExpandableFolder(LPSHELLFOLDER lpFolder, LPCITEMIDLIST pidl)
Definition: ordinal.c:2088
struct tagPOLICYDATA POLICYDATA
DWORD WINAPI SHGetAppCompatFlags(DWORD dwMask)
Definition: ordinal.c:4544
HRESULT WINAPI SHPropertyBag_ReadBSTR(IPropertyBag *ppb, LPCWSTR pszPropName, BSTR *pbstr)
BOOL WINAPI SHIsChildOrSelf(HWND hParent, HWND hChild)
Definition: ordinal.c:2254
HRESULT WINAPI IUnknown_Exec(IUnknown *lpUnknown, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
Definition: ordinal.c:1087
BOOL WINAPI SHSetIniStringUTF7W(_In_z_ LPCWSTR lpAppName, _In_z_ LPCWSTR lpKeyName, _In_opt_z_ LPCWSTR lpString, _In_z_ LPCWSTR lpFileName)
Definition: propbag.cpp:748
DWORD WINAPI SHGetCurColorRes(void)
Definition: ordinal.c:2023
DWORD WINAPI SHExpandEnvironmentStringsW(LPCWSTR, LPWSTR, DWORD)
PVOID WINAPI SHInterlockedCompareExchange(PVOID *dest, PVOID xchg, PVOID compare)
Definition: ordinal.c:3501
HRESULT WINAPI IUnknown_TranslateAcceleratorIO(IUnknown *punk, MSG *pmsg)
BOOL WINAPI SHIsSameObject(IUnknown *lpInt1, IUnknown *lpInt2)
Definition: ordinal.c:1289
DWORD WINAPI SHExpandEnvironmentStringsA(LPCSTR, LPSTR, DWORD)
HWND WINAPI SHCreateWorkerWindowW(WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle, DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra)
Definition: ordinal.c:3004
HRESULT WINAPI IUnknown_SetOwner(IUnknown *iface, IUnknown *pUnk)
Definition: ordinal.c:1385
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)
Definition: rosordinal.c:11
HRESULT WINAPI SHCreatePropertyBagOnProfileSection(_In_z_ LPCWSTR lpFileName, _In_opt_z_ LPCWSTR pszSection, _In_ DWORD dwMode, _In_ REFIID riid, _Out_ void **ppvObj)
Definition: propbag.cpp:965
HRESULT WINAPI SHPropertyBag_Delete(IPropertyBag *ppb, LPCWSTR pszPropName)
LONG WINAPI SHSetWindowBits(HWND hwnd, INT offset, UINT wMask, UINT wFlags)
Definition: ordinal.c:1130
STDMETHOD() QueryString(THIS_ ASSOCQUERY query, PCWSTR key, PWSTR *ppszValue) PURE
HRESULT WINAPI SHCreatePropertyBagOnMemory(_In_ DWORD dwMode, _In_ REFIID riid, _Out_ void **ppvObj)
Definition: propbag.cpp:254
HRESULT WINAPI IUnknown_HasFocusIO(IUnknown *punk)
Definition: ordinal.c:4311
BOOL WINAPI SHIsEmptyStream(IStream *)
Definition: istream.c:567
DWORD WINAPI SHRemoveAllSubMenus(HMENU hMenu)
Definition: ordinal.c:1752
HMODULE WINAPI SHPinDllOfCLSID(REFIID refiid)
Definition: ordinal.c:2537
HRESULT WINAPI IUnknown_OnFocusChangeIS(LPUNKNOWN lpUnknown, LPUNKNOWN pFocusObject, BOOL bFocus)
Definition: ordinal.c:4783
BOOL WINAPI SHRemoveDataBlock(LPDBLIST *lppList, DWORD dwSignature)
Definition: clist.c:355
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)
Definition: path.c:1357
void WINAPI SHPropagateMessage(HWND hWnd, UINT uiMsgId, WPARAM wParam, LPARAM lParam, BOOL bSend)
Definition: ordinal.c:1719
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)
Definition: ordinal.c:2207
BOOL WINAPI SHSetIniStringW(_In_z_ LPCWSTR appName, _In_z_ LPCWSTR keyName, _In_opt_z_ LPCWSTR str, _In_z_ LPCWSTR filename)
Definition: propbag.cpp:658
DWORD WINAPI SHGetValueGoodBootW(HKEY hkey, LPCWSTR pSubKey, LPCWSTR pValue, LPDWORD pwType, LPVOID pvData, LPDWORD pbData)
Definition: reg.c:1890
BOOL WINAPI SHLoadMenuPopup(HINSTANCE hInst, LPCWSTR szName)
Definition: ordinal.c:1666
HRESULT WINAPI MayExecForward(IUnknown *lpUnknown, INT iUnk, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
Definition: ordinal.c:2222
HRESULT WINAPI SHPropertyBag_ReadBOOL(IPropertyBag *ppb, LPCWSTR pszPropName, BOOL *pbValue)
HKEY WINAPI SHGetShellKey(DWORD flags, LPCWSTR sub_key, BOOL create)
Definition: ordinal.c:4601
DWORD WINAPI SHAnsiToUnicodeCP(DWORD dwCp, LPCSTR lpSrcStr, LPWSTR lpDstStr, int iLen)
Definition: string.c:2648
int WINAPI SHSearchMapInt(const int *lpKeys, const int *lpValues, int iLen, int iKey)
Definition: ordinal.c:2161
HRESULT WINAPI SHLoadRegUIStringA(HKEY hkey, LPCSTR value, LPSTR buf, DWORD size)
HWND WINAPI SHSetParentHwnd(HWND hWnd, HWND hWndParent)
Definition: ordinal.c:1158
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)
Definition: propbag.cpp:722
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)
Definition: path.c:1123
HRESULT WINAPI SHPropertyBag_WritePOINTL(IPropertyBag *ppb, LPCWSTR pszPropName, const POINTL *pptl)
DWORD WINAPI SHMenuIndexFromID(HMENU hMenu, UINT uID)
Definition: ordinal.c:4520
BOOL WINAPI SHAboutInfoW(LPWSTR lpszDest, DWORD dwDestLen)
Definition: ordinal.c:934
DWORD WINAPI SHUnicodeToAnsiCP(UINT CodePage, LPCWSTR lpSrcStr, LPSTR lpDstStr, int dstlen)
Definition: string.c:2698
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)
Definition: propbag.cpp:1938
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)
Definition: propbag.cpp:1967
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)
Definition: utils.cpp:215
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)
Definition: path.c:4396
DWORD WINAPI SHRegisterClassA(WNDCLASSA *wndclass)
Definition: ordinal.c:1817
BOOL WINAPI SHAboutInfoA(LPSTR lpszDest, DWORD dwDestLen)
Definition: ordinal.c:915
HRESULT WINAPI SHPropertyBag_ReadLONG(IPropertyBag *ppb, LPCWSTR pszPropName, LPLONG pValue)
Definition: ordinal.c:5601
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42
DWORD dwOptions
Definition: solitaire.cpp:25
Definition: scsiwmi.h:51
Definition: bug.cpp:8
Definition: copy.c:22
DWORD policy
Definition: ordinal.c:2717
LPCWSTR keystr
Definition: ordinal.c:2719
LPCWSTR appstr
Definition: ordinal.c:2718
TW_UINT32 TW_UINT16 TW_UINT16 MSG
Definition: twain.h:1829
uint16_t * PWSTR
Definition: typedefs.h:56
const uint16_t * PCWSTR
Definition: typedefs.h:57
int32_t * LPLONG
Definition: typedefs.h:58
uint32_t * LPDWORD
Definition: typedefs.h:59
int32_t INT
Definition: typedefs.h:58
uint32_t ULONG
Definition: typedefs.h:59
Definition: pdh_main.c:94
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383
_In_ LPCSTR lpFileName
Definition: winbase.h:3096
*nSize LPSTR _Inout_ LPDWORD nSize
Definition: winbase.h:2109
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:531
_In_ HCRYPTHASH _In_ BOOL _In_ DWORD _Inout_updates_bytes_to_ pdwDataLen BYTE * pbData
Definition: wincrypt.h:4201
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD dwTimeout
Definition: wincrypt.h:6081
_In_ POINTL * pptl
Definition: winddi.h:3741
_In_ ULONG _In_ CLIPOBJ _In_ RECTL * prcl
Definition: winddi.h:3531
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
_In_ BOOL bEnable
Definition: winddi.h:3426
_In_ ULONG _In_opt_ PVOID pvData
Definition: winddi.h:3749
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
LONG_PTR LPARAM
Definition: windef.h:208
LONG_PTR LRESULT
Definition: windef.h:209
UINT_PTR WPARAM
Definition: windef.h:207
int * LPINT
Definition: windef.h:178
DWORD COLORREF
Definition: windef.h:300
#define WINAPI
Definition: msvc.h:6
ACCESS_MASK REGSAM
Definition: winreg.h:69
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:2909
const char * LPCSTR
Definition: xmlstorage.h:183
char * LPSTR
Definition: xmlstorage.h:182
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185