source: trunk/include/win/wine/undoccomctl32.h@ 10367

Last change on this file since 10367 was 7819, checked in by sandervl, 24 years ago

header updates

File size: 3.0 KB
Line 
1#ifndef __WINE_WINE_UNDOCCOMCTL32_H__
2#define __WINE_WINE_UNDOCCOMCTL32_H__
3
4/**************************************************************************
5 * The MRU-API is a set of functions to manipulate MRU(Most Recently Used)
6 * lists.
7 *
8 * Stored in the reg. as a set of values under a single key. Each item in the
9 * list has a value name that is a single char. 'a' - 'z', '{', '|' or '}'.
10 * The order of the list is stored with value name 'MRUList' which is a string
11 * containing the value names (i.e. 'a', 'b', etc.) in the relevant order.
12 */
13
14typedef struct tagCREATEMRULIST
15{
16 DWORD cbSize; /* size of struct */
17 DWORD nMaxItems; /* max no. of items in list */
18 DWORD dwFlags; /* see below */
19 HKEY hKey; /* root reg. key under which list is saved */
20 LPCSTR lpszSubKey; /* reg. subkey */
21 PROC lpfnCompare; /* item compare proc */
22} CREATEMRULIST, *LPCREATEMRULIST;
23
24/* dwFlags */
25#define MRUF_STRING_LIST 0 /* list will contain strings */
26#define MRUF_BINARY_LIST 1 /* list will contain binary data */
27#define MRUF_DELAYED_SAVE 2 /* only save list order to reg. is FreeMRUList */
28
29/* If list is a string list lpfnCompare has the following prototype
30 * int CALLBACK MRUCompareString(LPCSTR s1, LPCSTR s2)
31 * for binary lists the prototype is
32 * int CALLBACK MRUCompareBinary(LPCVOID data1, LPCVOID data2, DWORD cbData)
33 * where cbData is the no. of bytes to compare.
34 * Need to check what return value means identical - 0?
35 */
36
37typedef struct tagWINEMRUITEM
38{
39 DWORD size; /* size of data stored */
40 DWORD itemFlag; /* flags */
41 BYTE datastart;
42} WINEMRUITEM, *LPWINEMRUITEM;
43
44/* itemFlag */
45#define WMRUIF_CHANGED 0x0001 /* this dataitem changed */
46
47typedef struct tagWINEMRULIST
48{
49 CREATEMRULIST extview; /* original create information */
50 DWORD wineFlags; /* internal flags */
51 DWORD cursize; /* current size of realMRU */
52 LPSTR realMRU; /* pointer to string of index names */
53 LPWINEMRUITEM *array; /* array of pointers to data */
54 /* in 'a' to 'z' order */
55} WINEMRULIST, *LPWINEMRULIST;
56
57/* wineFlags */
58#define WMRUF_CHANGED 0x0001 /* MRU list has changed */
59
60HANDLE WINAPI CreateMRUListA (LPCREATEMRULIST lpcml);
61DWORD WINAPI FreeMRUList (HANDLE hMRUList);
62INT WINAPI AddMRUData (HANDLE hList, LPCVOID lpData, DWORD cbData);
63INT WINAPI AddMRUStringA(HANDLE hList, LPCSTR lpszString);
64BOOL WINAPI DelMRUString(HANDLE hList, INT nItemPos);
65INT WINAPI FindMRUData (HANDLE hList, LPCVOID lpData, DWORD cbData, LPINT lpRegNum);
66INT WINAPI FindMRUStringA (HANDLE hList, LPCSTR lpszString, LPINT lpRegNum);
67HANDLE WINAPI CreateMRUListLazyA (LPCREATEMRULIST lpcml, DWORD dwParam2, DWORD dwParam3, DWORD dwParam4);
68INT WINAPI EnumMRUListA(HANDLE hList, INT nItemPos, LPVOID lpBuffer,DWORD nBufferSize);
69
70
71
72#endif /* __WINE_WINE_UNDOCCOMCTL32_H__ */
Note: See TracBrowser for help on using the repository browser.