| 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 |
} |
|---|