ReactOS  0.4.15-dev-1150-g593bcce
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
32 extern "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 
42 typedef struct _MRUINFOA
43 {
51 typedef 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 
78 HANDLE WINAPI CreateMRUListLazyW(const MRUINFOW *lpcml, DWORD dwParam2,
79  DWORD dwParam3, DWORD dwParam4);
80 HANDLE WINAPI CreateMRUListLazyA(const MRUINFOA *lpcml, DWORD dwParam2,
81  DWORD dwParam3, DWORD dwParam4);
86  DWORD nBufferSize);
88  DWORD nBufferSize);
90 INT WINAPI FindMRUStringW(HANDLE hList, LPCWSTR lpszString, LPINT lpRegNum);
91 INT 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 * FN_EnumMRUListW)(HANDLE, INT, LPVOID, DWORD)
struct _MRUINFOA * LPMRUINFOA
INT WINAPI AddMRUData(HANDLE, LPCVOID, DWORD)
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
DWORD fFlags
INT(WINAPI * FN_AddMRUStringW)(HANDLE, LPCWSTR)
INT WINAPI EnumMRUListW(HANDLE hList, INT nItemPos, LPVOID lpBuffer, DWORD nBufferSize)
VOID WINAPI FreeMRUList(HANDLE)
HANDLE(WINAPI * FN_CreateMRUListLazyA)(const MRUINFOA *, DWORD, DWORD, DWORD)
#define INT
Definition: polytest.cpp:20
#define CALLBACK
Definition: compat.h:35
INT WINAPI EnumMRUListA(HANDLE hList, INT nItemPos, LPVOID lpBuffer, DWORD nBufferSize)
DWORD cbSize
HANDLE WINAPI CreateMRUListLazyA(const MRUINFOA *lpcml, DWORD dwParam2, DWORD dwParam3, DWORD dwParam4)
HANDLE(WINAPI * FN_CreateMRUListLazyW)(const MRUINFOW *, DWORD, DWORD, DWORD)
INT WINAPI FindMRUData(HANDLE, LPCVOID, DWORD, LPINT)
#define BOOL
Definition: nt_native.h:43
#define DWORD
Definition: nt_native.h:44
int32_t INT
Definition: typedefs.h:58
INT(WINAPI * FN_AddMRUStringA)(HANDLE, LPCSTR)
INT(WINAPI * FN_FindMRUStringA)(HANDLE, LPCSTR, LPINT)
INT WINAPI AddMRUStringA(HANDLE hList, LPCSTR lpszString)
MRUCMPPROCA lpfnCompare
DWORD cbSize
unsigned int BOOL
Definition: ntddk_ex.h:94
struct _MRUINFOW * LPMRUINFOW
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
Definition: db.cpp:173
INT(CALLBACK * MRUCMPPROCA)(LPCSTR, LPCSTR)
BOOL WINAPI DelMRUString(HANDLE hList, INT nItemPos)
BOOL(WINAPI * FN_DelMRUString)(HANDLE, INT)
const char * LPCSTR
Definition: xmlstorage.h:183
INT(CALLBACK * MRUCMPPROCW)(LPCWSTR, LPCWSTR)
struct _MRUINFOW MRUINFOW
INT(WINAPI * FN_AddMRUData)(HANDLE, LPCVOID, DWORD)
HANDLE(WINAPI * FN_CreateMRUListA)(const MRUINFOA *)
INT(CALLBACK * MRUBINARYCMPPROC)(LPCVOID, LPCVOID, DWORD)
#define WINAPI
Definition: msvc.h:6
PVOID HANDLE
Definition: typedefs.h:73
unsigned long DWORD
Definition: ntddk_ex.h:95
DWORD fFlags
INT(WINAPI * FN_FindMRUStringW)(HANDLE, LPCWSTR, LPINT)
#define LPVOID
Definition: nt_native.h:45
INT WINAPI AddMRUStringW(HANDLE hList, LPCWSTR lpszString)
HANDLE(WINAPI * FN_CreateMRUListW)(const MRUINFOW *)
INT WINAPI FindMRUStringW(HANDLE hList, LPCWSTR lpszString, LPINT lpRegNum)
HWND hList
Definition: livecd.c:10
LPCSTR lpszSubKey
MRUCMPPROCW lpfnCompare
struct _MRUINFOA MRUINFOA
INT(WINAPI * FN_FreeMRUList)(HANDLE)
CONST void * LPCVOID
Definition: windef.h:191
INT(WINAPI * FN_FindMRUData)(HANDLE, LPCVOID, DWORD, LPINT)
INT(WINAPI * FN_EnumMRUListA)(HANDLE, INT, LPVOID, DWORD)
HANDLE WINAPI CreateMRUListLazyW(const MRUINFOW *lpcml, DWORD dwParam2, DWORD dwParam3, DWORD dwParam4)
INT WINAPI FindMRUStringA(HANDLE hList, LPCSTR lpszString, LPINT lpRegNum)
LPCWSTR lpszSubKey
HANDLE WINAPI CreateMRUListW(LPMRUINFOW)
HANDLE WINAPI CreateMRUListA(LPMRUINFOA)
int * LPINT
Definition: windef.h:178