Differences From Artifact [ed6eabc89b35f750]:
- File
src/win32/rpcdce.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
To Artifact [13d7798ff7743b2f]:
- File
src/win32/rpcdce.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
4 4 * Windows API header module *
5 5 * *
6 6 * Translated from MinGW Windows headers *
7 7 * *
8 8 * Placed into public domain *
9 9 \***********************************************************************/
10 10 module win32.rpcdce;
11 -pragma(lib, "Rpcrt4.lib");
11 +pragma(lib, "Rpcrt4");
12 12
13 13 // TODO: I think MinGW got this wrong. RPC_UNICODE_SUPPORTED should be
14 14 // replaced aliases for version(Unicode)
15 15
16 16 public import win32.rpcdcep;
17 17 private import win32.basetyps, win32.w32api, win32.windef;
18 18
................................................................................
113 113 const RPC_C_AUTHZ_DEFAULT=0xFFFFFFFF;
114 114
115 115 alias I_RPC_HANDLE RPC_BINDING_HANDLE;
116 116 alias RPC_BINDING_HANDLE handle_t;
117 117
118 118 struct RPC_BINDING_VECTOR {
119 119 uint Count;
120 - RPC_BINDING_HANDLE BindingH[1];
120 + RPC_BINDING_HANDLE[1] BindingH;
121 121 }
122 122
123 123 alias RPC_BINDING_HANDLE rpc_binding_handle_t;
124 124 alias RPC_BINDING_VECTOR rpc_binding_vector_t;
125 125
126 126
127 127 struct UUID_VECTOR {
128 128 uint Count;
129 - UUID* Uuid[1];
129 + UUID*[1] Uuid;
130 130 }
131 131
132 132 alias void* RPC_IF_HANDLE;
133 133
134 134 struct RPC_IF_ID {
135 135 UUID Uuid;
136 136 ushort VersMajor;
................................................................................
154 154 uint[1] Stats;
155 155 }
156 156
157 157 struct RPC_IF_ID_VECTOR {
158 158 uint Count;
159 159 RPC_IF_ID*[1] IfId;
160 160 }
161 -alias HANDLE RPC_AUTH_IDENTITY_HANDLE, RPC_AUTHZ_HANDLE;
161 +mixin DECLARE_HANDLE!("RPC_AUTH_IDENTITY_HANDLE");
162 +mixin DECLARE_HANDLE!("RPC_AUTHZ_HANDLE");
162 163
163 164 struct RPC_SECURITY_QOS {
164 165 uint Version;
165 166 uint Capabilities;
166 167 uint IdentityTracking;
167 168 uint ImpersonationType;
168 169 }
................................................................................
198 199 }
199 200 alias RPC_CLIENT_INFORMATION1* PRPC_CLIENT_INFORMATION1;
200 201 alias I_RPC_HANDLE* RPC_EP_INQ_HANDLE;
201 202 extern (Windows) {
202 203 alias int function(RPC_BINDING_HANDLE, uint, RPC_STATUS*) RPC_MGMT_AUTHORIZATION_FN;
203 204 }
204 205
205 -static if(_WIN32_WINNT_ONLY) {
206 -
207 - struct RPC_PROTSEQ_VECTORA {
208 - uint Count;
209 - ubyte*[1] Protseq;
210 - }
206 +struct RPC_PROTSEQ_VECTORA {
207 + uint Count;
208 + ubyte*[1] Protseq;
209 +}
211 210
212 - struct RPC_PROTSEQ_VECTORW {
213 - uint Count;
214 - ushort*[1] Protseq;
215 - }
211 +struct RPC_PROTSEQ_VECTORW {
212 + uint Count;
213 + ushort*[1] Protseq;
214 +}
216 215
217 - extern (Windows) {
218 - RPC_STATUS RpcBindingFromStringBindingA(char*, RPC_BINDING_HANDLE*);
219 - RPC_STATUS RpcBindingFromStringBindingW(wchar*, RPC_BINDING_HANDLE*);
220 - RPC_STATUS RpcBindingToStringBindingA(RPC_BINDING_HANDLE, char**);
221 - RPC_STATUS RpcBindingToStringBindingW(RPC_BINDING_HANDLE, wchar**);
222 - RPC_STATUS RpcStringBindingComposeA(char*, char*, char*, char*, char*, char**);
223 - RPC_STATUS RpcStringBindingComposeW(wchar*, wchar*, wchar*, wchar*, wchar*, wchar**);
224 - RPC_STATUS RpcStringBindingParseA(char*, char**, char**, char**, char**, char**);
225 - RPC_STATUS RpcStringBindingParseW(wchar*, wchar**, wchar**, wchar**, wchar**, wchar**);
226 - RPC_STATUS RpcStringFreeA(char**);
227 - RPC_STATUS RpcStringFreeW(wchar**);
228 - RPC_STATUS RpcNetworkIsProtseqValidA(char*);
229 - RPC_STATUS RpcNetworkIsProtseqValidW(wchar*);
230 - RPC_STATUS RpcNetworkInqProtseqsA(RPC_PROTSEQ_VECTORA**);
231 - RPC_STATUS RpcNetworkInqProtseqsW(RPC_PROTSEQ_VECTORW**);
232 - RPC_STATUS RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA**);
233 - RPC_STATUS RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW**);
234 - RPC_STATUS RpcServerUseProtseqA(char*, uint, void*);
235 - RPC_STATUS RpcServerUseProtseqW(wchar*, uint, void*);
236 - RPC_STATUS RpcServerUseProtseqExA(char*, uint MaxCalls, void*, PRPC_POLICY);
237 - RPC_STATUS RpcServerUseProtseqExW(wchar*, uint, void*, PRPC_POLICY);
238 - RPC_STATUS RpcServerUseProtseqEpA(char*, uint, char*, void*);
239 - RPC_STATUS RpcServerUseProtseqEpExA(char*, uint, char*, void*, PRPC_POLICY);
240 - RPC_STATUS RpcServerUseProtseqEpW(wchar*, uint, wchar*, void*);
241 - RPC_STATUS RpcServerUseProtseqEpExW(wchar*, uint, wchar*, void*, PRPC_POLICY);
242 - RPC_STATUS RpcServerUseProtseqIfA(char*, uint, RPC_IF_HANDLE, void*);
243 - RPC_STATUS RpcServerUseProtseqIfExA(char*, uint, RPC_IF_HANDLE, void*, PRPC_POLICY);
244 - RPC_STATUS RpcServerUseProtseqIfW(wchar*, uint, RPC_IF_HANDLE, void*);
245 - RPC_STATUS RpcServerUseProtseqIfExW(wchar*, uint, RPC_IF_HANDLE, void*, PRPC_POLICY);
246 - RPC_STATUS RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE, uint, char**);
247 - RPC_STATUS RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE, uint, wchar**);
248 - RPC_STATUS RpcServerInqDefaultPrincNameA(uint, char**);
249 - RPC_STATUS RpcServerInqDefaultPrincNameW(uint, wchar**);
250 - RPC_STATUS RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE, uint, char**);
251 - RPC_STATUS RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE, uint, wchar**);
252 - RPC_STATUS RpcBindingInqAuthClientA(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE*, char**, uint*, uint*, uint*);
253 - RPC_STATUS RpcBindingInqAuthClientW(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE*, wchar**, uint*, uint*, uint*);
254 - RPC_STATUS RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE, char**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*);
255 - RPC_STATUS RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE, wchar**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*);
256 - RPC_STATUS RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE, char*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint);
257 - RPC_STATUS RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE, char*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint, RPC_SECURITY_QOS*);
258 - RPC_STATUS RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE, wchar*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint);
259 - RPC_STATUS RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE, wchar*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint, RPC_SECURITY_QOS*);
260 - RPC_STATUS RpcBindingInqAuthInfoExA(RPC_BINDING_HANDLE, char**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*, uint, RPC_SECURITY_QOS*);
261 - RPC_STATUS RpcBindingInqAuthInfoExW(RPC_BINDING_HANDLE, wchar**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*, uint, RPC_SECURITY_QOS*);
262 - alias void function(void*, wchar*, uint, void**, RPC_STATUS*) RPC_AUTH_KEY_RETRIEVAL_FN;
263 - RPC_STATUS RpcServerRegisterAuthInfoA(char*, uint, RPC_AUTH_KEY_RETRIEVAL_FN, void*);
264 - RPC_STATUS RpcServerRegisterAuthInfoW(wchar*, uint, RPC_AUTH_KEY_RETRIEVAL_FN, void*);
265 - RPC_STATUS UuidToStringA(UUID*, char**);
266 - RPC_STATUS UuidFromStringA(char*, UUID*);
267 - RPC_STATUS UuidToStringW(UUID*, wchar**);
268 - RPC_STATUS UuidFromStringW(wchar*, UUID*);
269 - RPC_STATUS RpcEpRegisterNoReplaceA(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*);
270 - RPC_STATUS RpcEpRegisterNoReplaceW(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, wchar*);
271 - RPC_STATUS RpcEpRegisterA(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*);
272 - RPC_STATUS RpcEpRegisterW(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, wchar*);
273 - RPC_STATUS DceErrorInqTextA(RPC_STATUS, char*);
274 - RPC_STATUS DceErrorInqTextW(RPC_STATUS, wchar*);
275 - RPC_STATUS RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE*, UUID*, char**);
276 - RPC_STATUS RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE*, UUID*, wchar**);
216 +extern (Windows) {
217 + RPC_STATUS RpcBindingFromStringBindingA(char*, RPC_BINDING_HANDLE*);
218 + RPC_STATUS RpcBindingFromStringBindingW(wchar*, RPC_BINDING_HANDLE*);
219 + RPC_STATUS RpcBindingToStringBindingA(RPC_BINDING_HANDLE, char**);
220 + RPC_STATUS RpcBindingToStringBindingW(RPC_BINDING_HANDLE, wchar**);
221 + RPC_STATUS RpcStringBindingComposeA(char*, char*, char*, char*, char*, char**);
222 + RPC_STATUS RpcStringBindingComposeW(wchar*, wchar*, wchar*, wchar*, wchar*, wchar**);
223 + RPC_STATUS RpcStringBindingParseA(char*, char**, char**, char**, char**, char**);
224 + RPC_STATUS RpcStringBindingParseW(wchar*, wchar**, wchar**, wchar**, wchar**, wchar**);
225 + RPC_STATUS RpcStringFreeA(char**);
226 + RPC_STATUS RpcStringFreeW(wchar**);
227 + RPC_STATUS RpcNetworkIsProtseqValidA(char*);
228 + RPC_STATUS RpcNetworkIsProtseqValidW(wchar*);
229 + RPC_STATUS RpcNetworkInqProtseqsA(RPC_PROTSEQ_VECTORA**);
230 + RPC_STATUS RpcNetworkInqProtseqsW(RPC_PROTSEQ_VECTORW**);
231 + RPC_STATUS RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA**);
232 + RPC_STATUS RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW**);
233 + RPC_STATUS RpcServerUseProtseqA(char*, uint, void*);
234 + RPC_STATUS RpcServerUseProtseqW(wchar*, uint, void*);
235 + RPC_STATUS RpcServerUseProtseqExA(char*, uint MaxCalls, void*, PRPC_POLICY);
236 + RPC_STATUS RpcServerUseProtseqExW(wchar*, uint, void*, PRPC_POLICY);
237 + RPC_STATUS RpcServerUseProtseqEpA(char*, uint, char*, void*);
238 + RPC_STATUS RpcServerUseProtseqEpExA(char*, uint, char*, void*, PRPC_POLICY);
239 + RPC_STATUS RpcServerUseProtseqEpW(wchar*, uint, wchar*, void*);
240 + RPC_STATUS RpcServerUseProtseqEpExW(wchar*, uint, wchar*, void*, PRPC_POLICY);
241 + RPC_STATUS RpcServerUseProtseqIfA(char*, uint, RPC_IF_HANDLE, void*);
242 + RPC_STATUS RpcServerUseProtseqIfExA(char*, uint, RPC_IF_HANDLE, void*, PRPC_POLICY);
243 + RPC_STATUS RpcServerUseProtseqIfW(wchar*, uint, RPC_IF_HANDLE, void*);
244 + RPC_STATUS RpcServerUseProtseqIfExW(wchar*, uint, RPC_IF_HANDLE, void*, PRPC_POLICY);
245 + RPC_STATUS RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE, uint, char**);
246 + RPC_STATUS RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE, uint, wchar**);
247 + RPC_STATUS RpcServerInqDefaultPrincNameA(uint, char**);
248 + RPC_STATUS RpcServerInqDefaultPrincNameW(uint, wchar**);
249 + RPC_STATUS RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE, uint, char**);
250 + RPC_STATUS RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE, uint, wchar**);
251 + RPC_STATUS RpcBindingInqAuthClientA(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE*, char**, uint*, uint*, uint*);
252 + RPC_STATUS RpcBindingInqAuthClientW(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE*, wchar**, uint*, uint*, uint*);
253 + RPC_STATUS RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE, char**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*);
254 + RPC_STATUS RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE, wchar**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*);
255 + RPC_STATUS RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE, char*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint);
256 + RPC_STATUS RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE, char*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint, RPC_SECURITY_QOS*);
257 + RPC_STATUS RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE, wchar*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint);
258 + RPC_STATUS RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE, wchar*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint, RPC_SECURITY_QOS*);
259 + RPC_STATUS RpcBindingInqAuthInfoExA(RPC_BINDING_HANDLE, char**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*, uint, RPC_SECURITY_QOS*);
260 + RPC_STATUS RpcBindingInqAuthInfoExW(RPC_BINDING_HANDLE, wchar**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*, uint, RPC_SECURITY_QOS*);
261 + alias void function(void*, wchar*, uint, void**, RPC_STATUS*) RPC_AUTH_KEY_RETRIEVAL_FN;
262 + RPC_STATUS RpcServerRegisterAuthInfoA(char*, uint, RPC_AUTH_KEY_RETRIEVAL_FN, void*);
263 + RPC_STATUS RpcServerRegisterAuthInfoW(wchar*, uint, RPC_AUTH_KEY_RETRIEVAL_FN, void*);
264 + RPC_STATUS UuidToStringA(UUID*, char**);
265 + RPC_STATUS UuidFromStringA(char*, UUID*);
266 + RPC_STATUS UuidToStringW(UUID*, wchar**);
267 + RPC_STATUS UuidFromStringW(wchar*, UUID*);
268 + RPC_STATUS RpcEpRegisterNoReplaceA(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*);
269 + RPC_STATUS RpcEpRegisterNoReplaceW(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, wchar*);
270 + RPC_STATUS RpcEpRegisterA(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*);
271 + RPC_STATUS RpcEpRegisterW(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, wchar*);
272 + RPC_STATUS DceErrorInqTextA(RPC_STATUS, char*);
273 + RPC_STATUS DceErrorInqTextW(RPC_STATUS, wchar*);
274 + RPC_STATUS RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE*, UUID*, char**);
275 + RPC_STATUS RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE*, UUID*, wchar**);
277 276
278 - // MinGW erroneously had these in rpc.h
279 - RPC_STATUS RpcImpersonateClient(RPC_BINDING_HANDLE);
280 - RPC_STATUS RpcRevertToSelf();
281 - }
277 + // MinGW erroneously had these in rpc.h
278 + RPC_STATUS RpcImpersonateClient(RPC_BINDING_HANDLE);
279 + RPC_STATUS RpcRevertToSelf();
280 +}
282 281
283 - version(Unicode) {
284 - alias RPC_PROTSEQ_VECTORW RPC_PROTSEQ_VECTOR;
285 - alias SEC_WINNT_AUTH_IDENTITY_W SEC_WINNT_AUTH_IDENTITY;
286 - alias PSEC_WINNT_AUTH_IDENTITY_W PSEC_WINNT_AUTH_IDENTITY;
287 - alias RpcMgmtEpEltInqNextW RpcMgmtEpEltInqNext;
288 - alias RpcBindingFromStringBindingW RpcBindingFromStringBinding;
289 - alias RpcBindingToStringBindingW RpcBindingToStringBinding;
290 - alias RpcStringBindingComposeW RpcStringBindingCompose;
291 - alias RpcStringBindingParseW RpcStringBindingParse;
292 - alias RpcStringFreeW RpcStringFree;
293 - alias RpcNetworkIsProtseqValidW RpcNetworkIsProtseqValid;
294 - alias RpcNetworkInqProtseqsW RpcNetworkInqProtseqs;
295 - alias RpcProtseqVectorFreeW RpcProtseqVectorFree;
296 - alias RpcServerUseProtseqW RpcServerUseProtseq;
297 - alias RpcServerUseProtseqExW RpcServerUseProtseqEx;
298 - alias RpcServerUseProtseqEpW RpcServerUseProtseqEp;
299 - alias RpcServerUseProtseqEpExW RpcServerUseProtseqEpEx;
300 - alias RpcServerUseProtseqIfW RpcServerUseProtseqIf;
301 - alias RpcServerUseProtseqIfExW RpcServerUseProtseqIfEx;
302 - alias RpcMgmtInqServerPrincNameW RpcMgmtInqServerPrincName;
303 - alias RpcServerInqDefaultPrincNameW RpcServerInqDefaultPrincName;
304 - alias RpcNsBindingInqEntryNameW RpcNsBindingInqEntryName;
305 - alias RpcBindingInqAuthClientW RpcBindingInqAuthClient;
306 - alias RpcBindingInqAuthInfoW RpcBindingInqAuthInfo;
307 - alias RpcBindingSetAuthInfoW RpcBindingSetAuthInfo;
308 - alias RpcServerRegisterAuthInfoW RpcServerRegisterAuthInfo;
309 - alias RpcBindingInqAuthInfoExW RpcBindingInqAuthInfoEx;
310 - alias RpcBindingSetAuthInfoExW RpcBindingSetAuthInfoEx;
311 - alias UuidFromStringW UuidFromString;
312 - alias UuidToStringW UuidToString;
313 - alias RpcEpRegisterNoReplaceW RpcEpRegisterNoReplace;
314 - alias RpcEpRegisterW RpcEpRegister;
315 - alias DceErrorInqTextW DceErrorInqText;
316 - } else { // Ansi
317 - alias RPC_PROTSEQ_VECTORA RPC_PROTSEQ_VECTOR;
318 - alias SEC_WINNT_AUTH_IDENTITY_A SEC_WINNT_AUTH_IDENTITY;
319 - alias PSEC_WINNT_AUTH_IDENTITY_A PSEC_WINNT_AUTH_IDENTITY;
320 - alias RpcMgmtEpEltInqNextA RpcMgmtEpEltInqNext;
321 - alias RpcBindingFromStringBindingA RpcBindingFromStringBinding;
322 - alias RpcBindingToStringBindingA RpcBindingToStringBinding;
323 - alias RpcStringBindingComposeA RpcStringBindingCompose;
324 - alias RpcStringBindingParseA RpcStringBindingParse;
325 - alias RpcStringFreeA RpcStringFree;
326 - alias RpcNetworkIsProtseqValidA RpcNetworkIsProtseqValid;
327 - alias RpcNetworkInqProtseqsA RpcNetworkInqProtseqs;
328 - alias RpcProtseqVectorFreeA RpcProtseqVectorFree;
329 - alias RpcServerUseProtseqA RpcServerUseProtseq;
330 - alias RpcServerUseProtseqExA RpcServerUseProtseqEx;
331 - alias RpcServerUseProtseqEpA RpcServerUseProtseqEp;
332 - alias RpcServerUseProtseqEpExA RpcServerUseProtseqEpEx;
333 - alias RpcServerUseProtseqIfA RpcServerUseProtseqIf;
334 - alias RpcServerUseProtseqIfExA RpcServerUseProtseqIfEx;
335 - alias RpcMgmtInqServerPrincNameA RpcMgmtInqServerPrincName;
336 - alias RpcServerInqDefaultPrincNameA RpcServerInqDefaultPrincName;
337 - alias RpcNsBindingInqEntryNameA RpcNsBindingInqEntryName;
338 - alias RpcBindingInqAuthClientA RpcBindingInqAuthClient;
339 - alias RpcBindingInqAuthInfoA RpcBindingInqAuthInfo;
340 - alias RpcBindingSetAuthInfoA RpcBindingSetAuthInfo;
341 - alias RpcServerRegisterAuthInfoA RpcServerRegisterAuthInfo;
342 - alias RpcBindingInqAuthInfoExA RpcBindingInqAuthInfoEx;
343 - alias RpcBindingSetAuthInfoExA RpcBindingSetAuthInfoEx;
344 - alias UuidFromStringA UuidFromString;
345 - alias UuidToStringA UuidToString;
346 - alias RpcEpRegisterNoReplaceA RpcEpRegisterNoReplace;
347 - alias RpcEpRegisterA RpcEpRegister;
348 - alias DceErrorInqTextA DceErrorInqText;
349 - } //#endif // UNICODE
350 -
351 -} else { // _WIN32_WINNT_ONLY
352 -
353 - struct RPC_PROTSEQ_VECTOR {
354 - uint Count;
355 - ubyte* Protseq[1];
356 - }
357 - // versions without Unicode.
358 - RPC_STATUS RpcBindingFromStringBinding(char*, RPC_BINDING_HANDLE*);
359 - RPC_STATUS RpcBindingToStringBinding(RPC_BINDING_HANDLE, char**);
360 - RPC_STATUS RpcStringBindingCompose(char*, char*, char*, char*, char*, char**);
361 - RPC_STATUS RpcStringBindingParse(char*, char**, char**, char**, char**, char**);
362 - RPC_STATUS RpcStringFree(char**);
363 - RPC_STATUS RpcNetworkIsProtseqValid(char*);
364 - RPC_STATUS RpcNetworkInqProtseqs(RPC_PROTSEQ_VECTOR**);
365 - RPC_STATUS RpcServerInqBindings(RPC_BINDING_VECTOR**);
366 - RPC_STATUS RpcServerUseProtseq(char*, uint, void*);
367 - RPC_STATUS RpcServerUseProtseqEx(char*, uint, void*, PRPC_POLICY);
368 - RPC_STATUS RpcServerUseProtseqEp(char*, uint, char*, void*);
369 - RPC_STATUS RpcServerUseProtseqEpEx(char*, uint, char*, void*, PRPC_POLICY);
370 - RPC_STATUS RpcServerUseProtseqIf(char*, uint, RPC_IF_HANDLE, void*);
371 - RPC_STATUS RpcServerUseProtseqIfEx(char*, uint, RPC_IF_HANDLE, void*, PRPC_POLICY);
372 - RPC_STATUS RpcMgmtInqServerPrincName(RPC_BINDING_HANDLE, uint, char**);
373 - RPC_STATUS RpcServerInqDefaultPrincName(uint, char**);
374 - RPC_STATUS RpcNsBindingInqEntryName(RPC_BINDING_HANDLE, uint, char**);
375 - RPC_STATUS RpcBindingInqAuthClient(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE*, char**, uint*, uint*, uint*);
376 - RPC_STATUS RpcBindingInqAuthInfo(RPC_BINDING_HANDLE, char**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*);
377 - RPC_STATUS RpcBindingSetAuthInfo(RPC_BINDING_HANDLE, char*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint);
378 - alias void function(void*, char*, uint, void**, RPC_STATUS*) RPC_AUTH_KEY_RETRIEVAL_FN;
379 - RPC_STATUS RpcServerRegisterAuthInfo(char*, uint, RPC_AUTH_KEY_RETRIEVAL_FN, void*);
380 - RPC_STATUS UuidToString(UUID*, char**);
381 - RPC_STATUS UuidFromString(char*, UUID*);
382 - RPC_STATUS RpcEpRegisterNoReplace(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*);
383 - RPC_STATUS RpcEpRegister(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*);
384 - RPC_STATUS DceErrorInqText(RPC_STATUS, char*);
385 - RPC_STATUS RpcMgmtEpEltInqNext(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE*, char**);
386 -}// _WIN32_WINNT_ONLY
282 +version (Unicode) {
283 + alias RPC_PROTSEQ_VECTORW RPC_PROTSEQ_VECTOR;
284 + alias SEC_WINNT_AUTH_IDENTITY_W SEC_WINNT_AUTH_IDENTITY;
285 + alias PSEC_WINNT_AUTH_IDENTITY_W PSEC_WINNT_AUTH_IDENTITY;
286 + alias RpcMgmtEpEltInqNextW RpcMgmtEpEltInqNext;
287 + alias RpcBindingFromStringBindingW RpcBindingFromStringBinding;
288 + alias RpcBindingToStringBindingW RpcBindingToStringBinding;
289 + alias RpcStringBindingComposeW RpcStringBindingCompose;
290 + alias RpcStringBindingParseW RpcStringBindingParse;
291 + alias RpcStringFreeW RpcStringFree;
292 + alias RpcNetworkIsProtseqValidW RpcNetworkIsProtseqValid;
293 + alias RpcNetworkInqProtseqsW RpcNetworkInqProtseqs;
294 + alias RpcProtseqVectorFreeW RpcProtseqVectorFree;
295 + alias RpcServerUseProtseqW RpcServerUseProtseq;
296 + alias RpcServerUseProtseqExW RpcServerUseProtseqEx;
297 + alias RpcServerUseProtseqEpW RpcServerUseProtseqEp;
298 + alias RpcServerUseProtseqEpExW RpcServerUseProtseqEpEx;
299 + alias RpcServerUseProtseqIfW RpcServerUseProtseqIf;
300 + alias RpcServerUseProtseqIfExW RpcServerUseProtseqIfEx;
301 + alias RpcMgmtInqServerPrincNameW RpcMgmtInqServerPrincName;
302 + alias RpcServerInqDefaultPrincNameW RpcServerInqDefaultPrincName;
303 + alias RpcNsBindingInqEntryNameW RpcNsBindingInqEntryName;
304 + alias RpcBindingInqAuthClientW RpcBindingInqAuthClient;
305 + alias RpcBindingInqAuthInfoW RpcBindingInqAuthInfo;
306 + alias RpcBindingSetAuthInfoW RpcBindingSetAuthInfo;
307 + alias RpcServerRegisterAuthInfoW RpcServerRegisterAuthInfo;
308 + alias RpcBindingInqAuthInfoExW RpcBindingInqAuthInfoEx;
309 + alias RpcBindingSetAuthInfoExW RpcBindingSetAuthInfoEx;
310 + alias UuidFromStringW UuidFromString;
311 + alias UuidToStringW UuidToString;
312 + alias RpcEpRegisterNoReplaceW RpcEpRegisterNoReplace;
313 + alias RpcEpRegisterW RpcEpRegister;
314 + alias DceErrorInqTextW DceErrorInqText;
315 +} else { // Ansi
316 + alias RPC_PROTSEQ_VECTORA RPC_PROTSEQ_VECTOR;
317 + alias SEC_WINNT_AUTH_IDENTITY_A SEC_WINNT_AUTH_IDENTITY;
318 + alias PSEC_WINNT_AUTH_IDENTITY_A PSEC_WINNT_AUTH_IDENTITY;
319 + alias RpcMgmtEpEltInqNextA RpcMgmtEpEltInqNext;
320 + alias RpcBindingFromStringBindingA RpcBindingFromStringBinding;
321 + alias RpcBindingToStringBindingA RpcBindingToStringBinding;
322 + alias RpcStringBindingComposeA RpcStringBindingCompose;
323 + alias RpcStringBindingParseA RpcStringBindingParse;
324 + alias RpcStringFreeA RpcStringFree;
325 + alias RpcNetworkIsProtseqValidA RpcNetworkIsProtseqValid;
326 + alias RpcNetworkInqProtseqsA RpcNetworkInqProtseqs;
327 + alias RpcProtseqVectorFreeA RpcProtseqVectorFree;
328 + alias RpcServerUseProtseqA RpcServerUseProtseq;
329 + alias RpcServerUseProtseqExA RpcServerUseProtseqEx;
330 + alias RpcServerUseProtseqEpA RpcServerUseProtseqEp;
331 + alias RpcServerUseProtseqEpExA RpcServerUseProtseqEpEx;
332 + alias RpcServerUseProtseqIfA RpcServerUseProtseqIf;
333 + alias RpcServerUseProtseqIfExA RpcServerUseProtseqIfEx;
334 + alias RpcMgmtInqServerPrincNameA RpcMgmtInqServerPrincName;
335 + alias RpcServerInqDefaultPrincNameA RpcServerInqDefaultPrincName;
336 + alias RpcNsBindingInqEntryNameA RpcNsBindingInqEntryName;
337 + alias RpcBindingInqAuthClientA RpcBindingInqAuthClient;
338 + alias RpcBindingInqAuthInfoA RpcBindingInqAuthInfo;
339 + alias RpcBindingSetAuthInfoA RpcBindingSetAuthInfo;
340 + alias RpcServerRegisterAuthInfoA RpcServerRegisterAuthInfo;
341 + alias RpcBindingInqAuthInfoExA RpcBindingInqAuthInfoEx;
342 + alias RpcBindingSetAuthInfoExA RpcBindingSetAuthInfoEx;
343 + alias UuidFromStringA UuidFromString;
344 + alias UuidToStringA UuidToString;
345 + alias RpcEpRegisterNoReplaceA RpcEpRegisterNoReplace;
346 + alias RpcEpRegisterA RpcEpRegister;
347 + alias DceErrorInqTextA DceErrorInqText;
348 +} //#endif // UNICODE
387 349
388 350
389 351 RPC_STATUS RpcBindingCopy(RPC_BINDING_HANDLE, RPC_BINDING_HANDLE*);
390 352 RPC_STATUS RpcBindingFree(RPC_BINDING_HANDLE*);
391 353 RPC_STATUS RpcBindingInqObject(RPC_BINDING_HANDLE, UUID*);
392 354 RPC_STATUS RpcBindingReset(RPC_BINDING_HANDLE);
393 355 RPC_STATUS RpcBindingSetObject(RPC_BINDING_HANDLE, UUID*);
................................................................................
440 402 RPC_STATUS RpcMgmtEpUnregister(RPC_BINDING_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE, UUID*);
441 403 RPC_STATUS RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN);
442 404 RPC_STATUS RpcMgmtInqParameter(uint, uint*);
443 405 RPC_STATUS RpcMgmtSetParameter(uint, uint);
444 406 RPC_STATUS RpcMgmtBindingInqParameter(RPC_BINDING_HANDLE, uint, uint*);
445 407 RPC_STATUS RpcMgmtBindingSetParameter(RPC_BINDING_HANDLE, uint, uint);
446 408
447 -static if (_WIN32_WINNT >= 0x0500) {
409 +static if (_WIN32_WINNT >= 0x500) {
448 410 RPC_STATUS UuidCreateSequential(UUID*);
449 411 }