1
|
1 /***********************************************************************\
|
|
2 * lmmsg.d *
|
|
3 * *
|
|
4 * Windows API header module *
|
|
5 * *
|
|
6 * Translated from MinGW Windows headers *
|
|
7 * *
|
|
8 * Placed into public domain *
|
|
9 \***********************************************************************/
|
|
10 module win32.lmmsg;
|
|
11 pragma(lib, "netapi32.lib");
|
|
12
|
|
13 private import win32.lmcons, win32.windef, win32.w32api;
|
|
14
|
|
15 static assert (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x501,
|
|
16 "win32.lmmsg is available only if version WindowsXP, Windows2003 "
|
|
17 "or WindowsVista is set");
|
|
18
|
|
19 const MSGNAME_NOT_FORWARDED = 0;
|
|
20 const MSGNAME_FORWARDED_TO = 4;
|
|
21 const MSGNAME_FORWARDED_FROM = 16;
|
|
22
|
|
23 struct MSG_INFO_0 {
|
|
24 LPWSTR msgi0_name;
|
|
25 }
|
|
26 alias MSG_INFO_0* PMSG_INFO_0, LPMSG_INFO_0;
|
|
27
|
|
28 struct MSG_INFO_1 {
|
|
29 LPWSTR msgi1_name;
|
|
30 DWORD msgi1_forward_flag;
|
|
31 LPWSTR msgi1_forward;
|
|
32 }
|
|
33 alias MSG_INFO_1* PMSG_INFO_1, LPMSG_INFO_1;
|
|
34
|
|
35 extern (Windows) {
|
|
36 NET_API_STATUS NetMessageBufferSend(LPCWSTR, LPCWSTR, LPCWSTR, PBYTE,
|
|
37 DWORD);
|
|
38 NET_API_STATUS NetMessageNameAdd(LPCWSTR, LPCWSTR);
|
|
39 NET_API_STATUS NetMessageNameDel(LPCWSTR, LPCWSTR);
|
|
40 NET_API_STATUS NetMessageNameEnum(LPCWSTR, DWORD, PBYTE*, DWORD, PDWORD,
|
|
41 PDWORD, PDWORD);
|
|
42 NET_API_STATUS NetMessageNameGetInfo(LPCWSTR, LPCWSTR, DWORD, PBYTE*);
|
|
43 }
|