Differences From Artifact [3c5ab0849ccdf24f]:
- File
src/win32/rpcnsi.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 [e6f2e848af2bbb85]:
- File
src/win32/rpcnsi.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.
5 * RPC Name Service (RpcNs APIs) * 5 * RPC Name Service (RpcNs APIs) *
6 * * 6 * *
7 * Translated from MinGW Windows headers * 7 * Translated from MinGW Windows headers *
8 * * 8 * *
9 * Placed into public domain * 9 * Placed into public domain *
10 \***********************************************************************/ 10 \***********************************************************************/
11 module win32.rpcnsi; 11 module win32.rpcnsi;
12 pragma(lib, "rpcns4.lib"); | 12 pragma(lib, "rpcns4");
13 13
14 private import win32.basetyps, win32.rpcdcep, win32.rpcnsi, win32.rpcdce, 14 private import win32.basetyps, win32.rpcdcep, win32.rpcnsi, win32.rpcdce,
15 win32.w32api; 15 win32.w32api;
16 private import win32.windef; // for HANDLE 16 private import win32.windef; // for HANDLE
17 17
18 alias HANDLE RPC_NS_HANDLE; | 18 mixin DECLARE_HANDLE!("RPC_NS_HANDLE");
19 19
20 const RPC_C_NS_SYNTAX_DEFAULT=0; 20 const RPC_C_NS_SYNTAX_DEFAULT=0;
21 const RPC_C_NS_SYNTAX_DCE=3; 21 const RPC_C_NS_SYNTAX_DCE=3;
22 const RPC_C_PROFILE_DEFAULT_ELT=0; 22 const RPC_C_PROFILE_DEFAULT_ELT=0;
23 const RPC_C_PROFILE_ALL_ELT=1; 23 const RPC_C_PROFILE_ALL_ELT=1;
24 const RPC_C_PROFILE_MATCH_BY_IF=2; 24 const RPC_C_PROFILE_MATCH_BY_IF=2;
25 const RPC_C_PROFILE_MATCH_BY_MBR=3; 25 const RPC_C_PROFILE_MATCH_BY_MBR=3;
................................................................................................................................................................................
62 RPC_STATUS RpcNsMgmtInqExpAge(uint*); 62 RPC_STATUS RpcNsMgmtInqExpAge(uint*);
63 RPC_STATUS RpcNsMgmtSetExpAge(uint); 63 RPC_STATUS RpcNsMgmtSetExpAge(uint);
64 RPC_STATUS RpcNsBindingImportNext(RPC_NS_HANDLE, RPC_BINDING_HANDLE*); 64 RPC_STATUS RpcNsBindingImportNext(RPC_NS_HANDLE, RPC_BINDING_HANDLE*);
65 RPC_STATUS RpcNsBindingImportDone(RPC_NS_HANDLE*); 65 RPC_STATUS RpcNsBindingImportDone(RPC_NS_HANDLE*);
66 RPC_STATUS RpcNsBindingSelect(RPC_BINDING_VECTOR*, RPC_BINDING_HANDLE*); 66 RPC_STATUS RpcNsBindingSelect(RPC_BINDING_VECTOR*, RPC_BINDING_HANDLE*);
67 } 67 }
68 68
69 // For the cases where Win95, 98, ME have no _W versions, and we must alias to <
70 // _A even for version(Unicode). <
71 69
72 version (Unicode) { 70 version (Unicode) {
73 static if (_WIN32_WINNT_ONLY) { <
74 const bool _WIN32_USE_UNICODE = true; <
75 } else { <
76 const bool _WIN32_USE_UNICODE = false; <
77 } <
78 } else { 71 } else {
79 const bool _WIN32_USE_UNICODE = false; <
80 } <
81 <
82 static if (!_WIN32_USE_UNICODE) { <
83 RPC_STATUS RpcNsEntryObjectInqBeginA(uint, ubyte*, RPC_NS_HANDLE*); 72 RPC_STATUS RpcNsEntryObjectInqBeginA(uint, ubyte*, RPC_NS_HANDLE*);
84 RPC_STATUS RpcNsBindingImportBeginA(uint, ubyte*, RPC_IF_HANDLE, UUID*, 73 RPC_STATUS RpcNsBindingImportBeginA(uint, ubyte*, RPC_IF_HANDLE, UUID*,
85 RPC_NS_HANDLE*); 74 RPC_NS_HANDLE*);
86 } 75 }
87 76
88 static if (_WIN32_WINNT_ONLY) { <
89 RPC_STATUS RpcNsBindingExportW(uint, ushort*, RPC_IF_HANDLE, | 77 RPC_STATUS RpcNsBindingExportW(uint, ushort*, RPC_IF_HANDLE,
90 RPC_BINDING_VECTOR*, UUID_VECTOR*); | 78 RPC_BINDING_VECTOR*, UUID_VECTOR*);
91 RPC_STATUS RpcNsBindingUnexportW(uint, ushort*, RPC_IF_HANDLE, | 79 RPC_STATUS RpcNsBindingUnexportW(uint, ushort*, RPC_IF_HANDLE,
92 UUID_VECTOR*); | 80 UUID_VECTOR*);
93 RPC_STATUS RpcNsBindingLookupBeginW(uint, ushort*, RPC_IF_HANDLE, UUID*, | 81 RPC_STATUS RpcNsBindingLookupBeginW(uint, ushort*, RPC_IF_HANDLE, UUID*,
94 uint, RPC_NS_HANDLE*); | 82 uint, RPC_NS_HANDLE*);
95 RPC_STATUS RpcNsGroupDeleteW(uint, ushort*); | 83 RPC_STATUS RpcNsGroupDeleteW(uint, ushort*);
96 RPC_STATUS RpcNsGroupMbrAddW(uint, ushort*, uint, ushort*); | 84 RPC_STATUS RpcNsGroupMbrAddW(uint, ushort*, uint, ushort*);
97 RPC_STATUS RpcNsGroupMbrRemoveW(uint, ushort*, uint, ushort*); | 85 RPC_STATUS RpcNsGroupMbrRemoveW(uint, ushort*, uint, ushort*);
98 RPC_STATUS RpcNsGroupMbrInqBeginW(uint, ushort*, uint, RPC_NS_HANDLE*); | 86 RPC_STATUS RpcNsGroupMbrInqBeginW(uint, ushort*, uint, RPC_NS_HANDLE*);
99 RPC_STATUS RpcNsGroupMbrInqNextW(RPC_NS_HANDLE, ushort**); | 87 RPC_STATUS RpcNsGroupMbrInqNextW(RPC_NS_HANDLE, ushort**);
100 RPC_STATUS RpcNsProfileDeleteW(uint, ushort*); | 88 RPC_STATUS RpcNsProfileDeleteW(uint, ushort*);
101 RPC_STATUS RpcNsProfileEltAddW(uint, ushort*, RPC_IF_ID*, uint, ushort*, | 89 RPC_STATUS RpcNsProfileEltAddW(uint, ushort*, RPC_IF_ID*, uint, ushort*,
102 uint, ushort*); | 90 uint, ushort*);
103 RPC_STATUS RpcNsProfileEltRemoveW(uint, ushort*, RPC_IF_ID*, uint, | 91 RPC_STATUS RpcNsProfileEltRemoveW(uint, ushort*, RPC_IF_ID*, uint,
104 ushort*); | 92 ushort*);
105 RPC_STATUS RpcNsProfileEltInqBeginW(uint, ushort*, uint, RPC_IF_ID*, | 93 RPC_STATUS RpcNsProfileEltInqBeginW(uint, ushort*, uint, RPC_IF_ID*,
106 uint, uint, ushort*, RPC_NS_HANDLE*); | 94 uint, uint, ushort*, RPC_NS_HANDLE*);
107 RPC_STATUS RpcNsProfileEltInqNextW(RPC_NS_HANDLE, RPC_IF_ID*, ushort**, | 95 RPC_STATUS RpcNsProfileEltInqNextW(RPC_NS_HANDLE, RPC_IF_ID*, ushort**,
108 uint*, ushort**); | 96 uint*, ushort**);
109 RPC_STATUS RpcNsEntryObjectInqBeginW(uint, ushort*, RPC_NS_HANDLE*); | 97 RPC_STATUS RpcNsEntryObjectInqBeginW(uint, ushort*, RPC_NS_HANDLE*);
110 RPC_STATUS RpcNsEntryExpandNameW(uint, ushort*, ushort**); | 98 RPC_STATUS RpcNsEntryExpandNameW(uint, ushort*, ushort**);
111 RPC_STATUS RpcNsMgmtBindingUnexportW(uint, ushort*, RPC_IF_ID*, uint, | 99 RPC_STATUS RpcNsMgmtBindingUnexportW(uint, ushort*, RPC_IF_ID*, uint,
112 UUID_VECTOR*); | 100 UUID_VECTOR*);
113 RPC_STATUS RpcNsMgmtEntryCreateW(uint, ushort*); | 101 RPC_STATUS RpcNsMgmtEntryCreateW(uint, ushort*);
114 RPC_STATUS RpcNsMgmtEntryDeleteW(uint, ushort*); | 102 RPC_STATUS RpcNsMgmtEntryDeleteW(uint, ushort*);
115 RPC_STATUS RpcNsMgmtEntryInqIfIdsW(uint, ushort , RPC_IF_ID_VECTOR**); | 103 RPC_STATUS RpcNsMgmtEntryInqIfIdsW(uint, ushort , RPC_IF_ID_VECTOR**);
116 RPC_STATUS RpcNsBindingImportBeginW(uint, ushort*, RPC_IF_HANDLE, UUID*, | 104 RPC_STATUS RpcNsBindingImportBeginW(uint, ushort*, RPC_IF_HANDLE, UUID*,
117 RPC_NS_HANDLE*); | 105 RPC_NS_HANDLE*);
118 } // _WIN32_WINNT_ONLY <
119 106
120 static if (_WIN32_USE_UNICODE) { | 107 version (Unicode) {
121 alias RpcNsBindingLookupBeginW RpcNsBindingLookupBegin; 108 alias RpcNsBindingLookupBeginW RpcNsBindingLookupBegin;
122 alias RpcNsBindingImportBeginW RpcNsBindingImportBegin; 109 alias RpcNsBindingImportBeginW RpcNsBindingImportBegin;
123 alias RpcNsBindingExportW RpcNsBindingExport; 110 alias RpcNsBindingExportW RpcNsBindingExport;
124 alias RpcNsBindingUnexportW RpcNsBindingUnexport; 111 alias RpcNsBindingUnexportW RpcNsBindingUnexport;
125 alias RpcNsGroupDeleteW RpcNsGroupDelete; 112 alias RpcNsGroupDeleteW RpcNsGroupDelete;
126 alias RpcNsGroupMbrAddW RpcNsGroupMbrAdd; 113 alias RpcNsGroupMbrAddW RpcNsGroupMbrAdd;
127 alias RpcNsGroupMbrRemoveW RpcNsGroupMbrRemove; 114 alias RpcNsGroupMbrRemoveW RpcNsGroupMbrRemove;