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