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;
11 version (Windows):
12 
13 version (ANSI) {} else version = Unicode;
14 
15 import core.sys.windows.windef, core.sys.windows.winuser;
16 
17 enum : uint {
18     WM_CPL_LAUNCH = WM_USER + 1000,
19     WM_CPL_LAUNCHED
20 }
21 
22 enum : uint {
23     CPL_DYNAMIC_RES,
24     CPL_INIT,
25     CPL_GETCOUNT,
26     CPL_INQUIRE,
27     CPL_SELECT,
28     CPL_DBLCLK,
29     CPL_STOP,
30     CPL_EXIT,
31     CPL_NEWINQUIRE,
32     CPL_STARTWPARMSA,
33     CPL_STARTWPARMSW, // = 10
34     CPL_SETUP = 200
35 }
36 
37 extern (Windows) alias LONG function(HWND, UINT, LONG, LONG) APPLET_PROC;
38 
39 align(1)
40 struct CPLINFO {
41 align(1):
42     int  idIcon;
43     int  idName;
44     int  idInfo;
45     LONG_PTR  lData;
46 }
47 alias CPLINFO* LPCPLINFO;
48 
49 align(1)
50 struct NEWCPLINFOA {
51 align(1):
52     DWORD     dwSize = NEWCPLINFOA.sizeof;
53     DWORD     dwFlags;
54     DWORD     dwHelpContext;
55     LONG_PTR  lData;
56     HICON     hIcon;
57     CHAR[32]  szName = 0;
58     CHAR[64]  szInfo = 0;
59     CHAR[128] szHelpFile = 0;
60 }
61 alias NEWCPLINFOA* LPNEWCPLINFOA;
62 
63 align(1)
64 struct NEWCPLINFOW {
65 align(1):
66     DWORD      dwSize = NEWCPLINFOW.sizeof;
67     DWORD      dwFlags;
68     DWORD      dwHelpContext;
69     LONG_PTR   lData;
70     HICON      hIcon;
71     WCHAR[32]  szName = 0;
72     WCHAR[64]  szInfo = 0;
73     WCHAR[128] szHelpFile = 0;
74 }
75 alias NEWCPLINFOW* LPNEWCPLINFOW;
76 
77 version (Unicode) {
78     alias CPL_STARTWPARMSW CPL_STARTWPARMS;
79     alias NEWCPLINFOW NEWCPLINFO;
80 } else {
81     alias CPL_STARTWPARMSA CPL_STARTWPARMS;
82     alias NEWCPLINFOA NEWCPLINFO;
83 }
84 
85 alias NEWCPLINFO* LPNEWCPLINFO;