1 /**
2 * Windows API header module
3 *
4 * Translated from MinGW Windows headers
5 *
6 * Authors: Stewart Gordon
7 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
8 * Source: $(DRUNTIMESRC core/sys/windows/_cpl.d)
9 */
10 module core.sys.windows.cpl;
version(Windows)11 version (Windows):
12 @system:
13
14 version (ANSI) {} else version = Unicode;
15
16 import core.sys.windows.windef, core.sys.windows.winuser;
17
18 enum : uint {
19 WM_CPL_LAUNCH = WM_USER + 1000,
20 WM_CPL_LAUNCHED
21 }
22
23 enum : uint {
24 CPL_DYNAMIC_RES,
25 CPL_INIT,
26 CPL_GETCOUNT,
27 CPL_INQUIRE,
28 CPL_SELECT,
29 CPL_DBLCLK,
30 CPL_STOP,
31 CPL_EXIT,
32 CPL_NEWINQUIRE,
33 CPL_STARTWPARMSA,
34 CPL_STARTWPARMSW, // = 10
35 CPL_SETUP = 200
36 }
37
38 extern (Windows) alias LONG function(HWND, UINT, LONG, LONG) APPLET_PROC;
39
40 align(1)
41 struct CPLINFO {
42 align(1):
43 int idIcon;
44 int idName;
45 int idInfo;
46 LONG_PTR lData;
47 }
48 alias CPLINFO* LPCPLINFO;
49
50 align(1)
51 struct NEWCPLINFOA {
52 align(1):
53 DWORD dwSize = NEWCPLINFOA.sizeof;
54 DWORD dwFlags;
55 DWORD dwHelpContext;
56 LONG_PTR lData;
57 HICON hIcon;
58 CHAR[32] szName = 0;
59 CHAR[64] szInfo = 0;
60 CHAR[128] szHelpFile = 0;
61 }
62 alias NEWCPLINFOA* LPNEWCPLINFOA;
63
64 align(1)
65 struct NEWCPLINFOW {
66 align(1):
67 DWORD dwSize = NEWCPLINFOW.sizeof;
68 DWORD dwFlags;
69 DWORD dwHelpContext;
70 LONG_PTR lData;
71 HICON hIcon;
72 WCHAR[32] szName = 0;
73 WCHAR[64] szInfo = 0;
74 WCHAR[128] szHelpFile = 0;
75 }
76 alias NEWCPLINFOW* LPNEWCPLINFOW;
77
version(Unicode)78 version (Unicode) {
79 alias CPL_STARTWPARMSW CPL_STARTWPARMS;
80 alias NEWCPLINFOW NEWCPLINFO;
81 } else {
82 alias CPL_STARTWPARMSA CPL_STARTWPARMS;
83 alias NEWCPLINFOA NEWCPLINFO;
84 }
85
86 alias NEWCPLINFO* LPNEWCPLINFO;
87