ReactOS 0.4.15-dev-7934-g1dc8d80
comctl32_undoc.h
Go to the documentation of this file.
1/*
2 * ReactOS undocumented shell interface
3 *
4 * Copyright 2009 Andrew Hill <ash77 at domain reactos.org>
5 * Copyright 2013 Dominik Hornung
6 * Copyright 2020 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 */
22
23#ifndef __COMCTL32_UNDOC__H
24#define __COMCTL32_UNDOC__H
25
26/*
27 * See also:
28 * https://docs.microsoft.com/en-us/windows/win32/shell/mruinfo
29 */
30
31#ifdef __cplusplus
32extern "C" {
33#endif /* defined(__cplusplus) */
34
35// MRUINFOA.lpfnCompare for MRU_STRING
37// MRUINFOW.lpfnCompare for MRU_STRING
39// MRUINFO.lpfnCompare for MRU_BINARY
41
42typedef struct _MRUINFOA
43{
51typedef struct _MRUINFOW
52{
60
61#ifdef UNICODE
62 #define MRUINFO MRUINFOW
63 #define LPMRUINFO LPMRUINFOW
64#else
65 #define MRUINFO MRUINFOA
66 #define LPMRUINFO LPMRUINFOA
67#endif
68
69/* MRUINFO.fFlags */
70#define MRU_STRING 0x0
71#define MRU_BINARY 0x1
72#define MRU_CACHEWRITE 0x2
73
74#ifndef NO_MRU_IMPORTS
75
78HANDLE WINAPI CreateMRUListLazyW(const MRUINFOW *lpcml, DWORD dwParam2,
79 DWORD dwParam3, DWORD dwParam4);
80HANDLE WINAPI CreateMRUListLazyA(const MRUINFOA *lpcml, DWORD dwParam2,
81 DWORD dwParam3, DWORD dwParam4);
86 DWORD nBufferSize);
88 DWORD nBufferSize);
90INT WINAPI FindMRUStringW(HANDLE hList, LPCWSTR lpszString, LPINT lpRegNum);
91INT WINAPI FindMRUStringA(HANDLE hList, LPCSTR lpszString, LPINT lpRegNum);
94
95#ifdef UNICODE
96 #define CreateMRUList CreateMRUListW
97 #define CreateMRUListLazy CreateMRUListLazyW
98 #define AddMRUString AddMRUStringW
99 #define EnumMRUList EnumMRUListW
100 #define FindMRUString FindMRUStringW
101#else
102 #define CreateMRUList CreateMRUListA
103 #define CreateMRUListLazy CreateMRUListLazyA
104 #define AddMRUString AddMRUStringA
105 #define EnumMRUList EnumMRUListA
106 #define FindMRUString FindMRUStringA
107#endif
108
109#endif /* ndef NO_MRU_IMPORTS */
110
125
126#define I_CreateMRUListA 151
127#define I_CreateMRUListW 400
128#define I_CreateMRUListLazyA 157
129#define I_CreateMRUListLazyW 404
130#define I_AddMRUStringA 153
131#define I_AddMRUStringW 401
132#define I_AddMRUData 167
133#define I_EnumMRUListA 154
134#define I_EnumMRUListW 403
135#define I_FindMRUData 169
136#define I_FindMRUStringA 155
137#define I_FindMRUStringW 402
138#define I_DelMRUString 156
139#define I_FreeMRUList 152
140
141// #define GET_PROC(hComCtl32, fn) fn = (FN_##fn)GetProcAddress((hComCtl32), (LPSTR)I_##fn)
142
143#ifdef __cplusplus
144} /* extern "C" */
145#endif /* defined(__cplusplus) */
146
147#endif // __COMCTL32_UNDOC__H
INT WINAPI AddMRUData(HANDLE, LPCVOID, DWORD)
HANDLE(WINAPI * FN_CreateMRUListLazyW)(const MRUINFOW *, DWORD, DWORD, DWORD)
BOOL WINAPI DelMRUString(HANDLE hList, INT nItemPos)
INT(WINAPI * FN_AddMRUData)(HANDLE, LPCVOID, DWORD)
INT WINAPI AddMRUStringW(HANDLE hList, LPCWSTR lpszString)
HANDLE(WINAPI * FN_CreateMRUListW)(const MRUINFOW *)
struct _MRUINFOA MRUINFOA
struct _MRUINFOA * LPMRUINFOA
INT(WINAPI * FN_EnumMRUListW)(HANDLE, INT, LPVOID, DWORD)
INT WINAPI AddMRUStringA(HANDLE hList, LPCSTR lpszString)
INT WINAPI EnumMRUListW(HANDLE hList, INT nItemPos, LPVOID lpBuffer, DWORD nBufferSize)
INT(WINAPI * FN_AddMRUStringA)(HANDLE, LPCSTR)
BOOL(WINAPI * FN_DelMRUString)(HANDLE, INT)
INT WINAPI FindMRUStringA(HANDLE hList, LPCSTR lpszString, LPINT lpRegNum)
INT(WINAPI * FN_AddMRUStringW)(HANDLE, LPCWSTR)
HANDLE WINAPI CreateMRUListA(LPMRUINFOA)
INT(WINAPI * FN_FindMRUStringW)(HANDLE, LPCWSTR, LPINT)
struct _MRUINFOW MRUINFOW
INT WINAPI FindMRUData(HANDLE, LPCVOID, DWORD, LPINT)
INT(WINAPI * FN_FreeMRUList)(HANDLE)
INT(CALLBACK * MRUCMPPROCW)(LPCWSTR, LPCWSTR)
HANDLE(WINAPI * FN_CreateMRUListA)(const MRUINFOA *)
HANDLE(WINAPI * FN_CreateMRUListLazyA)(const MRUINFOA *, DWORD, DWORD, DWORD)
INT(CALLBACK * MRUCMPPROCA)(LPCSTR, LPCSTR)
struct _MRUINFOW * LPMRUINFOW
VOID WINAPI FreeMRUList(HANDLE)
INT(WINAPI * FN_FindMRUStringA)(HANDLE, LPCSTR, LPINT)
INT WINAPI EnumMRUListA(HANDLE hList, INT nItemPos, LPVOID lpBuffer, DWORD nBufferSize)
INT(WINAPI * FN_EnumMRUListA)(HANDLE, INT, LPVOID, DWORD)
INT(CALLBACK * MRUBINARYCMPPROC)(LPCVOID, LPCVOID, DWORD)
HANDLE WINAPI CreateMRUListLazyW(const MRUINFOW *lpcml, DWORD dwParam2, DWORD dwParam3, DWORD dwParam4)
HANDLE WINAPI CreateMRUListW(LPMRUINFOW)
HANDLE WINAPI CreateMRUListLazyA(const MRUINFOA *lpcml, DWORD dwParam2, DWORD dwParam3, DWORD dwParam4)
INT WINAPI FindMRUStringW(HANDLE hList, LPCWSTR lpszString, LPINT lpRegNum)
INT(WINAPI * FN_FindMRUData)(HANDLE, LPCVOID, DWORD, LPINT)
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
Definition: db.cpp:175
#define CALLBACK
Definition: compat.h:35
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
HWND hList
Definition: livecd.c:10
#define BOOL
Definition: nt_native.h:43
#define DWORD
Definition: nt_native.h:44
#define LPVOID
Definition: nt_native.h:45
#define INT
Definition: polytest.cpp:20
LPCSTR lpszSubKey
MRUCMPPROCA lpfnCompare
DWORD fFlags
DWORD cbSize
MRUCMPPROCW lpfnCompare
LPCWSTR lpszSubKey
DWORD cbSize
DWORD fFlags
PVOID HANDLE
Definition: typedefs.h:73
int32_t INT
Definition: typedefs.h:58
int * LPINT
Definition: windef.h:178
CONST void * LPCVOID
Definition: windef.h:191
#define WINAPI
Definition: msvc.h:6
const char * LPCSTR
Definition: xmlstorage.h:183
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185