/** * 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 core/sys/windows/_nddeapi.d) */module core.sys.windows.nddeapi;version (Windows): 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 NDdeShareAdd = NDdeShareAddW; alias NDdeShareDel = NDdeShareDelW; alias NDdeSetShareSecurity = NDdeSetShareSecurityW; alias NDdeGetShareSecurity = NDdeGetShareSecurityW; alias NDdeShareEnum = NDdeShareEnumW; alias NDdeShareGetInfo = NDdeShareGetInfoW; alias NDdeShareSetInfo = NDdeShareSetInfoW; alias NDdeGetErrorString = NDdeGetErrorStringW; alias NDdeIsValidShareName = NDdeIsValidShareNameW; alias NDdeIsValidAppTopicList = NDdeIsValidAppTopicListW; alias NDdeSetTrustedShare = NDdeSetTrustedShareW; alias NDdeGetTrustedShare = NDdeGetTrustedShareW; alias NDdeTrustedShareEnum = NDdeTrustedShareEnumW;} else { alias NDdeShareAdd = NDdeShareAddA; alias NDdeShareDel = NDdeShareDelA; alias NDdeSetShareSecurity = NDdeSetShareSecurityA; alias NDdeGetShareSecurity = NDdeGetShareSecurityA; alias NDdeShareEnum = NDdeShareEnumA; alias NDdeShareGetInfo = NDdeShareGetInfoA; alias NDdeShareSetInfo = NDdeShareSetInfoA; alias NDdeGetErrorString = NDdeGetErrorStringA; alias NDdeIsValidShareName = NDdeIsValidShareNameA; alias NDdeIsValidAppTopicList = NDdeIsValidAppTopicListA; alias NDdeSetTrustedShare = NDdeSetTrustedShareA; alias NDdeGetTrustedShare = NDdeGetTrustedShareA; alias NDdeTrustedShareEnum = NDdeTrustedShareEnumA;}
/**
* 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 core/sys/windows/_nddeapi.d)
*/
module core.sys.windows.nddeapi;
version (Windows):
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 NDdeShareAdd = NDdeShareAddW;
alias NDdeShareDel = NDdeShareDelW;
alias NDdeSetShareSecurity = NDdeSetShareSecurityW;
alias NDdeGetShareSecurity = NDdeGetShareSecurityW;
alias NDdeShareEnum = NDdeShareEnumW;
alias NDdeShareGetInfo = NDdeShareGetInfoW;
alias NDdeShareSetInfo = NDdeShareSetInfoW;
alias NDdeGetErrorString = NDdeGetErrorStringW;
alias NDdeIsValidShareName = NDdeIsValidShareNameW;
alias NDdeIsValidAppTopicList = NDdeIsValidAppTopicListW;
alias NDdeSetTrustedShare = NDdeSetTrustedShareW;
alias NDdeGetTrustedShare = NDdeGetTrustedShareW;
alias NDdeTrustedShareEnum = NDdeTrustedShareEnumW;
} else {
alias NDdeShareAdd = NDdeShareAddA;
alias NDdeShareDel = NDdeShareDelA;
alias NDdeSetShareSecurity = NDdeSetShareSecurityA;
alias NDdeGetShareSecurity = NDdeGetShareSecurityA;
alias NDdeShareEnum = NDdeShareEnumA;
alias NDdeShareGetInfo = NDdeShareGetInfoA;
alias NDdeShareSetInfo = NDdeShareSetInfoA;
alias NDdeGetErrorString = NDdeGetErrorStringA;
alias NDdeIsValidShareName = NDdeIsValidShareNameA;
alias NDdeIsValidAppTopicList = NDdeIsValidAppTopicListA;
alias NDdeSetTrustedShare = NDdeSetTrustedShareA;
alias NDdeGetTrustedShare = NDdeGetTrustedShareA;
alias NDdeTrustedShareEnum = NDdeTrustedShareEnumA;
}