| /** |
| * Windows API header module |
| * |
| * Translated from MinGW Windows headers |
| * |
| * Authors: Stewart Gordon |
| * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) |
| * Source: $(DRUNTIMESRC src/core/sys/windows/_nddeapi.d) |
| */ |
| module core.sys.windows.nddeapi; |
| version (Windows): |
| @system: |
| |
| version (ANSI) {} else version = Unicode; |
| |
| import core.sys.windows.windef; |
| |
| // FIXME: check types and grouping of constants |
| |
| /+ |
| #ifndef CNLEN /* also in lmcons.h */ |
| #define CNLEN 15 |
| #define UNCLEN (CNLEN + 2) |
| #endif |
| +/ |
| |
| enum char SEP_CHAR = ','; |
| const char[] BAR_CHAR = "|"; |
| enum wchar SEP_WCHAR = ','; |
| const wchar[] BAR_WCHAR = "|"; |
| |
| enum { |
| NDDE_NO_ERROR, |
| NDDE_ACCESS_DENIED, |
| NDDE_BUF_TOO_SMALL, |
| NDDE_ERROR_MORE_DATA, |
| NDDE_INVALID_SERVER, |
| NDDE_INVALID_SHARE, |
| NDDE_INVALID_PARAMETER, |
| NDDE_INVALID_LEVEL, |
| NDDE_INVALID_PASSWORD, |
| NDDE_INVALID_ITEMNAME, |
| NDDE_INVALID_TOPIC, |
| NDDE_INTERNAL_ERROR, |
| NDDE_OUT_OF_MEMORY, |
| NDDE_INVALID_APPNAME, |
| NDDE_NOT_IMPLEMENTED, |
| NDDE_SHARE_ALREADY_EXIST, |
| NDDE_SHARE_NOT_EXIST, |
| NDDE_INVALID_FILENAME, |
| NDDE_NOT_RUNNING, |
| NDDE_INVALID_WINDOW, |
| NDDE_INVALID_SESSION, |
| NDDE_INVALID_ITEM_LIST, |
| NDDE_SHARE_DATA_CORRUPTED, |
| NDDE_REGISTRY_ERROR, |
| NDDE_CANT_ACCESS_SERVER, |
| NDDE_INVALID_SPECIAL_COMMAND, |
| NDDE_INVALID_SECURITY_DESC, |
| NDDE_TRUST_SHARE_FAIL |
| } |
| |
| enum size_t |
| MAX_NDDESHARENAME = 256, |
| MAX_DOMAINNAME = 15, |
| MAX_USERNAME = 15, |
| MAX_APPNAME = 255, |
| MAX_TOPICNAME = 255, |
| MAX_ITEMNAME = 255; |
| |
| enum NDDEF_NOPASSWORDPROMPT = 1; |
| enum NDDEF_NOCACHELOOKUP = 2; |
| enum NDDEF_STRIP_NDDE = 4; |
| |
| enum SHARE_TYPE_OLD = 1; |
| enum SHARE_TYPE_NEW = 2; |
| enum SHARE_TYPE_STATIC = 4; |
| |
| enum uint |
| NDDE_CMD_SHOW_MASK = 0x0000FFFF, |
| NDDE_TRUST_CMD_SHOW = 0x10000000, |
| NDDE_TRUST_SHARE_DEL = 0x20000000, |
| NDDE_TRUST_SHARE_INIT = 0x40000000, |
| NDDE_TRUST_SHARE_START = 0x80000000; |
| |
| struct NDdeShareInfo_tag { |
| LONG lRevision; |
| LPTSTR lpszShareName; |
| LONG lShareType; |
| LPTSTR lpszAppTopicList; |
| LONG fSharedFlag; |
| LONG fService; |
| LONG fStartAppFlag; |
| LONG nCmdShow; |
| LONG[2] qModifyId; |
| LONG cNumItems; |
| LPTSTR lpszItemList; |
| } |
| extern (C) { // huh? |
| NDdeShareInfo_tag NDDESHAREINFO; |
| NDdeShareInfo_tag* PNDDESHAREINFO; |
| } |
| |
| extern (Windows) { |
| UINT NDdeGetErrorStringA(UINT, LPSTR, DWORD); |
| UINT NDdeGetErrorStringW(UINT, LPWSTR, DWORD); |
| UINT NDdeGetShareSecurityA(LPSTR, LPSTR, SECURITY_INFORMATION, |
| PSECURITY_DESCRIPTOR, DWORD, PDWORD); |
| UINT NDdeGetShareSecurityW(LPWSTR, LPWSTR, SECURITY_INFORMATION, |
| PSECURITY_DESCRIPTOR, DWORD, PDWORD); |
| UINT NDdeGetTrustedShareA(LPSTR, LPSTR, PDWORD, PDWORD, PDWORD); |
| UINT NDdeGetTrustedShareW(LPWSTR, LPWSTR, PDWORD, PDWORD, PDWORD); |
| BOOL NDdeIsValidShareNameA(LPSTR); |
| BOOL NDdeIsValidShareNameW(LPWSTR); |
| BOOL NDdeIsValidAppTopicListA(LPSTR); |
| BOOL NDdeIsValidAppTopicListW(LPWSTR); |
| UINT NDdeSetShareSecurityA(LPSTR, LPSTR, SECURITY_INFORMATION, |
| PSECURITY_DESCRIPTOR); |
| UINT NDdeSetShareSecurityW(LPWSTR, LPWSTR, SECURITY_INFORMATION, |
| PSECURITY_DESCRIPTOR); |
| UINT NDdeSetTrustedShareA(LPSTR, LPSTR, DWORD); |
| UINT NDdeSetTrustedShareW(LPWSTR, LPWSTR, DWORD); |
| UINT NDdeShareAddA(LPSTR, UINT, PSECURITY_DESCRIPTOR, PBYTE, DWORD); |
| UINT NDdeShareAddW(LPWSTR, UINT, PSECURITY_DESCRIPTOR, PBYTE, DWORD); |
| UINT NDdeShareDelA(LPSTR, LPSTR, UINT); |
| UINT NDdeShareDelW(LPWSTR, LPWSTR, UINT); |
| UINT NDdeShareEnumA(LPSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD); |
| UINT NDdeShareEnumW(LPWSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD); |
| UINT NDdeShareGetInfoA(LPSTR, LPSTR, UINT, PBYTE, DWORD, PDWORD, PWORD); |
| UINT NDdeShareGetInfoW(LPWSTR, LPWSTR, UINT, PBYTE, DWORD, PDWORD, PWORD); |
| UINT NDdeShareSetInfoA(LPSTR, LPSTR, UINT, PBYTE, DWORD, WORD); |
| UINT NDdeShareSetInfoW(LPWSTR, LPWSTR, UINT, PBYTE, DWORD, WORD); |
| UINT NDdeTrustedShareEnumA(LPSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD); |
| UINT NDdeTrustedShareEnumW(LPWSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD); |
| } |
| |
| version (Unicode) { |
| alias NDdeShareAddW NDdeShareAdd; |
| alias NDdeShareDelW NDdeShareDel; |
| alias NDdeSetShareSecurityW NDdeSetShareSecurity; |
| alias NDdeGetShareSecurityW NDdeGetShareSecurity; |
| alias NDdeShareEnumW NDdeShareEnum; |
| alias NDdeShareGetInfoW NDdeShareGetInfo; |
| alias NDdeShareSetInfoW NDdeShareSetInfo; |
| alias NDdeGetErrorStringW NDdeGetErrorString; |
| alias NDdeIsValidShareNameW NDdeIsValidShareName; |
| alias NDdeIsValidAppTopicListW NDdeIsValidAppTopicList; |
| alias NDdeSetTrustedShareW NDdeSetTrustedShare; |
| alias NDdeGetTrustedShareW NDdeGetTrustedShare; |
| alias NDdeTrustedShareEnumW NDdeTrustedShareEnum; |
| } else { |
| alias NDdeShareAddA NDdeShareAdd; |
| alias NDdeShareDelA NDdeShareDel; |
| alias NDdeSetShareSecurityA NDdeSetShareSecurity; |
| alias NDdeGetShareSecurityA NDdeGetShareSecurity; |
| alias NDdeShareEnumA NDdeShareEnum; |
| alias NDdeShareGetInfoA NDdeShareGetInfo; |
| alias NDdeShareSetInfoA NDdeShareSetInfo; |
| alias NDdeGetErrorStringA NDdeGetErrorString; |
| alias NDdeIsValidShareNameA NDdeIsValidShareName; |
| alias NDdeIsValidAppTopicListA NDdeIsValidAppTopicList; |
| alias NDdeSetTrustedShareA NDdeSetTrustedShare; |
| alias NDdeGetTrustedShareA NDdeGetTrustedShare; |
| alias NDdeTrustedShareEnumA NDdeTrustedShareEnum; |
| } |