mirror of
https://github.com/reactos/reactos.git
synced 2025-06-24 02:30:23 +00:00
[SDK][INCLUDE] Fix and improve comctl32_undoc.h
This commit is contained in:
parent
8da7fbc704
commit
9fc87dacdb
2 changed files with 101 additions and 41 deletions
|
@ -427,12 +427,12 @@ BOOL COpenWithList::LoadProgIdList(HKEY hKey, LPCWSTR pwszExt)
|
||||||
|
|
||||||
HANDLE COpenWithList::OpenMRUList(HKEY hKey)
|
HANDLE COpenWithList::OpenMRUList(HKEY hKey)
|
||||||
{
|
{
|
||||||
CREATEMRULISTW Info;
|
MRUINFOW Info;
|
||||||
|
|
||||||
/* Initialize mru list info */
|
/* Initialize mru list info */
|
||||||
Info.cbSize = sizeof(Info);
|
Info.cbSize = sizeof(Info);
|
||||||
Info.nMaxItems = 32;
|
Info.uMax = 32;
|
||||||
Info.dwFlags = MRU_STRING;
|
Info.fFlags = MRU_STRING;
|
||||||
Info.hKey = hKey;
|
Info.hKey = hKey;
|
||||||
Info.lpszSubKey = L"OpenWithList";
|
Info.lpszSubKey = L"OpenWithList";
|
||||||
Info.lpfnCompare = NULL;
|
Info.lpfnCompare = NULL;
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
*
|
*
|
||||||
* Copyright 2009 Andrew Hill <ash77 at domain reactos.org>
|
* Copyright 2009 Andrew Hill <ash77 at domain reactos.org>
|
||||||
* Copyright 2013 Dominik Hornung
|
* Copyright 2013 Dominik Hornung
|
||||||
|
* Copyright 2020 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -22,61 +23,120 @@
|
||||||
#ifndef __COMCTL32_UNDOC__H
|
#ifndef __COMCTL32_UNDOC__H
|
||||||
#define __COMCTL32_UNDOC__H
|
#define __COMCTL32_UNDOC__H
|
||||||
|
|
||||||
|
/*
|
||||||
|
* See also:
|
||||||
|
* https://docs.microsoft.com/en-us/windows/win32/shell/mruinfo
|
||||||
|
*/
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif /* defined(__cplusplus) */
|
#endif /* defined(__cplusplus) */
|
||||||
|
|
||||||
typedef struct tagCREATEMRULISTA
|
typedef INT (CALLBACK *MRUCMPPROCA)(LPCSTR, LPCSTR);
|
||||||
|
typedef INT (CALLBACK *MRUCMPPROCW)(LPCWSTR, LPCWSTR);
|
||||||
|
typedef INT (CALLBACK *MRUBINARYCMPPROC)(LPCVOID, LPCVOID);
|
||||||
|
|
||||||
|
typedef struct _MRUINFOA
|
||||||
{
|
{
|
||||||
DWORD cbSize;
|
DWORD cbSize;
|
||||||
DWORD nMaxItems;
|
DWORD uMax;
|
||||||
DWORD dwFlags;
|
DWORD fFlags;
|
||||||
HKEY hKey;
|
HKEY hKey;
|
||||||
LPCSTR lpszSubKey;
|
LPCSTR lpszSubKey;
|
||||||
PROC lpfnCompare;
|
MRUCMPPROCA lpfnCompare;
|
||||||
} CREATEMRULISTA, *LPCREATEMRULISTA;
|
} MRUINFOA, *LPMRUINFOA;
|
||||||
typedef struct tagCREATEMRULISTW
|
typedef struct _MRUINFOW
|
||||||
{
|
{
|
||||||
DWORD cbSize;
|
DWORD cbSize;
|
||||||
DWORD nMaxItems;
|
DWORD uMax;
|
||||||
DWORD dwFlags;
|
DWORD fFlags;
|
||||||
HKEY hKey;
|
HKEY hKey;
|
||||||
LPCWSTR lpszSubKey;
|
LPCWSTR lpszSubKey;
|
||||||
PROC lpfnCompare;
|
MRUCMPPROCW lpfnCompare;
|
||||||
} CREATEMRULISTW, *LPCREATEMRULISTW;
|
} MRUINFOW, *LPMRUINFOW;
|
||||||
|
|
||||||
#define MRU_STRING 0x0
|
|
||||||
#define MRU_BINARY 0x1
|
|
||||||
#define MRU_CACHEWRITE 0x2
|
|
||||||
|
|
||||||
HANDLE WINAPI CreateMRUListW(LPCREATEMRULISTW);
|
|
||||||
HANDLE WINAPI CreateMRUListA(LPCREATEMRULISTA);
|
|
||||||
INT WINAPI AddMRUData(HANDLE,LPCVOID,DWORD);
|
|
||||||
INT WINAPI FindMRUData(HANDLE,LPCVOID,DWORD,LPINT);
|
|
||||||
VOID WINAPI FreeMRUList(HANDLE);
|
|
||||||
|
|
||||||
INT WINAPI AddMRUStringW(HANDLE hList, LPCWSTR lpszString);
|
|
||||||
INT WINAPI AddMRUStringA(HANDLE hList, LPCSTR lpszString);
|
|
||||||
BOOL WINAPI DelMRUString(HANDLE hList, INT nItemPos);
|
|
||||||
INT WINAPI FindMRUStringW(HANDLE hList, LPCWSTR lpszString, LPINT lpRegNum);
|
|
||||||
INT WINAPI FindMRUStringA(HANDLE hList, LPCSTR lpszString, LPINT lpRegNum);
|
|
||||||
HANDLE WINAPI CreateMRUListLazyW(const CREATEMRULISTW *lpcml, DWORD dwParam2,
|
|
||||||
DWORD dwParam3, DWORD dwParam4);
|
|
||||||
HANDLE WINAPI CreateMRUListLazyA(const CREATEMRULISTA *lpcml, DWORD dwParam2,
|
|
||||||
DWORD dwParam3, DWORD dwParam4);
|
|
||||||
INT WINAPI EnumMRUListW(HANDLE hList, INT nItemPos, LPVOID lpBuffer,
|
|
||||||
DWORD nBufferSize);
|
|
||||||
INT WINAPI EnumMRUListA(HANDLE hList, INT nItemPos, LPVOID lpBuffer,
|
|
||||||
DWORD nBufferSize);
|
|
||||||
|
|
||||||
#ifdef UNICODE
|
#ifdef UNICODE
|
||||||
typedef CREATEMRULISTW CREATEMRULIST, *PCREATEMRULIST;
|
#define MRUINFO MRUINFOW
|
||||||
#define CreateMRUList CreateMRUListW
|
#define LPMRUINFO LPMRUINFOW
|
||||||
#else
|
#else
|
||||||
typedef CREATEMRULISTA CREATEMRULIST, *PCREATEMRULIST;
|
#define MRUINFO MRUINFOA
|
||||||
#define CreateMRUList CreateMRUListA
|
#define LPMRUINFO LPMRUINFOA
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* MRUINFO.fFlags */
|
||||||
|
#define MRU_STRING 0x0
|
||||||
|
#define MRU_BINARY 0x1
|
||||||
|
#define MRU_CACHEWRITE 0x2
|
||||||
|
|
||||||
|
#ifndef NO_MRU_IMPORTS
|
||||||
|
|
||||||
|
HANDLE WINAPI CreateMRUListA(LPMRUINFOA);
|
||||||
|
HANDLE WINAPI CreateMRUListW(LPMRUINFOW);
|
||||||
|
HANDLE WINAPI CreateMRUListLazyW(const MRUINFOW *lpcml, DWORD dwParam2,
|
||||||
|
DWORD dwParam3, DWORD dwParam4);
|
||||||
|
HANDLE WINAPI CreateMRUListLazyA(const MRUINFOA *lpcml, DWORD dwParam2,
|
||||||
|
DWORD dwParam3, DWORD dwParam4);
|
||||||
|
INT WINAPI AddMRUData(HANDLE, LPCVOID, DWORD);
|
||||||
|
INT WINAPI AddMRUStringA(HANDLE hList, LPCSTR lpszString);
|
||||||
|
INT WINAPI AddMRUStringW(HANDLE hList, LPCWSTR lpszString);
|
||||||
|
INT WINAPI EnumMRUListA(HANDLE hList, INT nItemPos, LPVOID lpBuffer,
|
||||||
|
DWORD nBufferSize);
|
||||||
|
INT WINAPI EnumMRUListW(HANDLE hList, INT nItemPos, LPVOID lpBuffer,
|
||||||
|
DWORD nBufferSize);
|
||||||
|
INT WINAPI FindMRUData(HANDLE,LPCVOID,DWORD,LPINT);
|
||||||
|
INT WINAPI FindMRUStringW(HANDLE hList, LPCWSTR lpszString, LPINT lpRegNum);
|
||||||
|
INT WINAPI FindMRUStringA(HANDLE hList, LPCSTR lpszString, LPINT lpRegNum);
|
||||||
|
BOOL WINAPI DelMRUString(HANDLE hList, INT nItemPos);
|
||||||
|
VOID WINAPI FreeMRUList(HANDLE);
|
||||||
|
|
||||||
|
#ifdef UNICODE
|
||||||
|
#define CreateMRUList CreateMRUListW
|
||||||
|
#define CreateMRUListLazy CreateMRUListLazyW
|
||||||
|
#define AddMRUString AddMRUStringW
|
||||||
|
#define EnumMRUList EnumMRUListW
|
||||||
|
#define FindMRUString FindMRUStringW
|
||||||
|
#else
|
||||||
|
#define CreateMRUList CreateMRUListA
|
||||||
|
#define CreateMRUListLazy CreateMRUListLazyA
|
||||||
|
#define AddMRUString AddMRUStringA
|
||||||
|
#define EnumMRUList EnumMRUListA
|
||||||
|
#define FindMRUString FindMRUStringA
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* ndef NO_MRU_IMPORTS */
|
||||||
|
|
||||||
|
typedef HANDLE (WINAPI *FN_CreateMRUListA)(const MRUINFOA *);
|
||||||
|
typedef HANDLE (WINAPI *FN_CreateMRUListW)(const MRUINFOW *);
|
||||||
|
typedef HANDLE (WINAPI *FN_CreateMRUListLazyA)(const MRUINFOA *, DWORD, DWORD, DWORD);
|
||||||
|
typedef HANDLE (WINAPI *FN_CreateMRUListLazyW)(const MRUINFOW *, DWORD, DWORD, DWORD);
|
||||||
|
typedef INT (WINAPI *FN_AddMRUStringA)(HANDLE, LPCSTR);
|
||||||
|
typedef INT (WINAPI *FN_AddMRUStringW)(HANDLE, LPCWSTR);
|
||||||
|
typedef INT (WINAPI *FN_AddMRUData)(HANDLE, LPCVOID, DWORD);
|
||||||
|
typedef INT (WINAPI *FN_EnumMRUListA)(HANDLE, INT, LPVOID, DWORD);
|
||||||
|
typedef INT (WINAPI *FN_EnumMRUListW)(HANDLE, INT, LPVOID, DWORD);
|
||||||
|
typedef INT (WINAPI *FN_FindMRUData)(HANDLE, LPCVOID, DWORD, LPINT);
|
||||||
|
typedef INT (WINAPI *FN_FindMRUStringA)(HANDLE, LPCSTR, LPINT);
|
||||||
|
typedef INT (WINAPI *FN_FindMRUStringW)(HANDLE, LPCWSTR, LPINT);
|
||||||
|
typedef BOOL (WINAPI *FN_DelMRUString)(HANDLE, INT);
|
||||||
|
typedef INT (WINAPI *FN_FreeMRUList)(HANDLE);
|
||||||
|
|
||||||
|
#define I_CreateMRUListA 151
|
||||||
|
#define I_CreateMRUListW 400
|
||||||
|
#define I_CreateMRUListLazyA 157
|
||||||
|
#define I_CreateMRUListLazyW 404
|
||||||
|
#define I_AddMRUStringA 153
|
||||||
|
#define I_AddMRUStringW 401
|
||||||
|
#define I_AddMRUData 167
|
||||||
|
#define I_EnumMRUListA 154
|
||||||
|
#define I_EnumMRUListW 403
|
||||||
|
#define I_FindMRUData 169
|
||||||
|
#define I_FindMRUStringA 155
|
||||||
|
#define I_FindMRUStringW 402
|
||||||
|
#define I_DelMRUString 156
|
||||||
|
#define I_FreeMRUList 152
|
||||||
|
|
||||||
|
// #define GET_PROC(hComCtl32, fn) fn = (FN_##fn)GetProcAddress((hComCtl32), I_##fn)
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
} /* extern "C" */
|
} /* extern "C" */
|
||||||
#endif /* defined(__cplusplus) */
|
#endif /* defined(__cplusplus) */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue