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