1
|
1 /***********************************************************************\
|
|
2 * nddeapi.d *
|
|
3 * *
|
|
4 * Windows API header module *
|
|
5 * *
|
|
6 * Translated from MinGW Windows headers *
|
|
7 * by Stewart Gordon *
|
|
8 * *
|
|
9 * Placed into public domain *
|
|
10 \***********************************************************************/
|
|
11 module win32.nddeapi;
|
|
12
|
|
13 private import win32.windef;
|
|
14
|
|
15 // FIXME: check types and grouping of constants
|
|
16
|
|
17 /+
|
|
18 #ifndef CNLEN /* also in lmcons.h */
|
|
19 #define CNLEN 15
|
|
20 #define UNCLEN (CNLEN + 2)
|
|
21 #endif
|
|
22 +/
|
|
23
|
|
24 const char SEP_CHAR = ',';
|
|
25 const char[] BAR_CHAR = "|";
|
|
26 const wchar SEP_WCHAR = ',';
|
|
27 const wchar[] BAR_WCHAR = "|";
|
|
28
|
|
29 enum {
|
|
30 NDDE_NO_ERROR,
|
|
31 NDDE_ACCESS_DENIED,
|
|
32 NDDE_BUF_TOO_SMALL,
|
|
33 NDDE_ERROR_MORE_DATA,
|
|
34 NDDE_INVALID_SERVER,
|
|
35 NDDE_INVALID_SHARE,
|
|
36 NDDE_INVALID_PARAMETER,
|
|
37 NDDE_INVALID_LEVEL,
|
|
38 NDDE_INVALID_PASSWORD,
|
|
39 NDDE_INVALID_ITEMNAME,
|
|
40 NDDE_INVALID_TOPIC,
|
|
41 NDDE_INTERNAL_ERROR,
|
|
42 NDDE_OUT_OF_MEMORY,
|
|
43 NDDE_INVALID_APPNAME,
|
|
44 NDDE_NOT_IMPLEMENTED,
|
|
45 NDDE_SHARE_ALREADY_EXIST,
|
|
46 NDDE_SHARE_NOT_EXIST,
|
|
47 NDDE_INVALID_FILENAME,
|
|
48 NDDE_NOT_RUNNING,
|
|
49 NDDE_INVALID_WINDOW,
|
|
50 NDDE_INVALID_SESSION,
|
|
51 NDDE_INVALID_ITEM_LIST,
|
|
52 NDDE_SHARE_DATA_CORRUPTED,
|
|
53 NDDE_REGISTRY_ERROR,
|
|
54 NDDE_CANT_ACCESS_SERVER,
|
|
55 NDDE_INVALID_SPECIAL_COMMAND,
|
|
56 NDDE_INVALID_SECURITY_DESC,
|
|
57 NDDE_TRUST_SHARE_FAIL
|
|
58 }
|
|
59
|
|
60 const size_t
|
|
61 MAX_NDDESHARENAME = 256,
|
|
62 MAX_DOMAINNAME = 15,
|
|
63 MAX_USERNAME = 15,
|
|
64 MAX_APPNAME = 255,
|
|
65 MAX_TOPICNAME = 255,
|
|
66 MAX_ITEMNAME = 255;
|
|
67
|
|
68 const NDDEF_NOPASSWORDPROMPT = 1;
|
|
69 const NDDEF_NOCACHELOOKUP = 2;
|
|
70 const NDDEF_STRIP_NDDE = 4;
|
|
71
|
|
72 const SHARE_TYPE_OLD = 1;
|
|
73 const SHARE_TYPE_NEW = 2;
|
|
74 const SHARE_TYPE_STATIC = 4;
|
|
75
|
|
76 const uint
|
|
77 NDDE_CMD_SHOW_MASK = 0x0000FFFF,
|
|
78 NDDE_TRUST_CMD_SHOW = 0x10000000,
|
|
79 NDDE_TRUST_SHARE_DEL = 0x20000000,
|
|
80 NDDE_TRUST_SHARE_INIT = 0x40000000,
|
|
81 NDDE_TRUST_SHARE_START = 0x80000000;
|
|
82
|
|
83 struct NDdeShareInfo_tag {
|
|
84 LONG lRevision;
|
|
85 LPTSTR lpszShareName;
|
|
86 LONG lShareType;
|
|
87 LPTSTR lpszAppTopicList;
|
|
88 LONG fSharedFlag;
|
|
89 LONG fService;
|
|
90 LONG fStartAppFlag;
|
|
91 LONG nCmdShow;
|
|
92 LONG[2] qModifyId;
|
|
93 LONG cNumItems;
|
|
94 LPTSTR lpszItemList;
|
|
95 }
|
|
96 extern (C) { // huh?
|
|
97 NDdeShareInfo_tag NDDESHAREINFO;
|
|
98 NDdeShareInfo_tag* PNDDESHAREINFO;
|
|
99 }
|
|
100
|
|
101 extern (Windows) {
|
|
102 UINT NDdeGetErrorStringA(UINT, LPSTR, DWORD);
|
|
103 UINT NDdeGetErrorStringW(UINT, LPWSTR, DWORD);
|
|
104 UINT NDdeGetShareSecurityA(LPSTR, LPSTR, SECURITY_INFORMATION,
|
|
105 PSECURITY_DESCRIPTOR, DWORD, PDWORD);
|
|
106 UINT NDdeGetShareSecurityW(LPWSTR, LPWSTR, SECURITY_INFORMATION,
|
|
107 PSECURITY_DESCRIPTOR, DWORD, PDWORD);
|
|
108 UINT NDdeGetTrustedShareA(LPSTR, LPSTR, PDWORD, PDWORD, PDWORD);
|
|
109 UINT NDdeGetTrustedShareW(LPWSTR, LPWSTR, PDWORD, PDWORD, PDWORD);
|
|
110 BOOL NDdeIsValidShareNameA(LPSTR);
|
|
111 BOOL NDdeIsValidShareNameW(LPWSTR);
|
|
112 BOOL NDdeIsValidAppTopicListA(LPSTR);
|
|
113 BOOL NDdeIsValidAppTopicListW(LPWSTR);
|
|
114 UINT NDdeSetShareSecurityA(LPSTR, LPSTR, SECURITY_INFORMATION,
|
|
115 PSECURITY_DESCRIPTOR);
|
|
116 UINT NDdeSetShareSecurityW(LPWSTR, LPWSTR, SECURITY_INFORMATION,
|
|
117 PSECURITY_DESCRIPTOR);
|
|
118 UINT NDdeSetTrustedShareA(LPSTR, LPSTR, DWORD);
|
|
119 UINT NDdeSetTrustedShareW(LPWSTR, LPWSTR, DWORD);
|
|
120 UINT NDdeShareAddA(LPSTR, UINT, PSECURITY_DESCRIPTOR, PBYTE, DWORD);
|
|
121 UINT NDdeShareAddW(LPWSTR, UINT, PSECURITY_DESCRIPTOR, PBYTE, DWORD);
|
|
122 UINT NDdeShareDelA(LPSTR, LPSTR, UINT);
|
|
123 UINT NDdeShareDelW(LPWSTR, LPWSTR, UINT);
|
|
124 UINT NDdeShareEnumA(LPSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD);
|
|
125 UINT NDdeShareEnumW(LPWSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD);
|
|
126 UINT NDdeShareGetInfoA(LPSTR, LPSTR, UINT, PBYTE, DWORD, PDWORD, PWORD);
|
|
127 UINT NDdeShareGetInfoW(LPWSTR, LPWSTR, UINT, PBYTE, DWORD, PDWORD, PWORD);
|
|
128 UINT NDdeShareSetInfoA(LPSTR, LPSTR, UINT, PBYTE, DWORD, WORD);
|
|
129 UINT NDdeShareSetInfoW(LPWSTR, LPWSTR, UINT, PBYTE, DWORD, WORD);
|
|
130 UINT NDdeTrustedShareEnumA(LPSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD);
|
|
131 UINT NDdeTrustedShareEnumW(LPWSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD);
|
|
132 }
|
|
133
|
|
134 version (Unicode) {
|
|
135 alias NDdeShareAddW NDdeShareAdd;
|
|
136 alias NDdeShareDelW NDdeShareDel;
|
|
137 alias NDdeSetShareSecurityW NDdeSetShareSecurity;
|
|
138 alias NDdeGetShareSecurityW NDdeGetShareSecurity;
|
|
139 alias NDdeShareEnumW NDdeShareEnum;
|
|
140 alias NDdeShareGetInfoW NDdeShareGetInfo;
|
|
141 alias NDdeShareSetInfoW NDdeShareSetInfo;
|
|
142 alias NDdeGetErrorStringW NDdeGetErrorString;
|
|
143 alias NDdeIsValidShareNameW NDdeIsValidShareName;
|
|
144 alias NDdeIsValidAppTopicListW NDdeIsValidAppTopicList;
|
|
145 alias NDdeSetTrustedShareW NDdeSetTrustedShare;
|
|
146 alias NDdeGetTrustedShareW NDdeGetTrustedShare;
|
|
147 alias NDdeTrustedShareEnumW NDdeTrustedShareEnum;
|
|
148 } else {
|
|
149 alias NDdeShareAddA NDdeShareAdd;
|
|
150 alias NDdeShareDelA NDdeShareDel;
|
|
151 alias NDdeSetShareSecurityA NDdeSetShareSecurity;
|
|
152 alias NDdeGetShareSecurityA NDdeGetShareSecurity;
|
|
153 alias NDdeShareEnumA NDdeShareEnum;
|
|
154 alias NDdeShareGetInfoA NDdeShareGetInfo;
|
|
155 alias NDdeShareSetInfoA NDdeShareSetInfo;
|
|
156 alias NDdeGetErrorStringA NDdeGetErrorString;
|
|
157 alias NDdeIsValidShareNameA NDdeIsValidShareName;
|
|
158 alias NDdeIsValidAppTopicListA NDdeIsValidAppTopicList;
|
|
159 alias NDdeSetTrustedShareA NDdeSetTrustedShare;
|
|
160 alias NDdeGetTrustedShareA NDdeGetTrustedShare;
|
|
161 alias NDdeTrustedShareEnumA NDdeTrustedShareEnum;
|
|
162 }
|