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