1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 7 * Source: $(DRUNTIMESRC src/core/sys/windows/_lmmsg.d) 8 */ 9 module core.sys.windows.lmmsg; 10 version (Windows): 11 pragma(lib, "netapi32"); 12 13 private import core.sys.windows.lmcons, core.sys.windows.windef, core.sys.windows.w32api; 14 15 static assert (_WIN32_WINNT >= 0x501, 16 "core.sys.windows.lmmsg is available only if version WindowsXP, Windows2003 " 17 ~ "or WindowsVista is set"); 18 19 enum MSGNAME_NOT_FORWARDED = 0; 20 enum MSGNAME_FORWARDED_TO = 4; 21 enum 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 } 44