1 | /**
|
---|
2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
3 | * This file is part of the mingw-w64 runtime package.
|
---|
4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
5 | */
|
---|
6 | #ifndef _NSPAPI_INCLUDED
|
---|
7 | #define _NSPAPI_INCLUDED
|
---|
8 |
|
---|
9 | #include <_mingw_unicode.h>
|
---|
10 |
|
---|
11 | #ifdef __cplusplus
|
---|
12 | extern "C" {
|
---|
13 | #endif
|
---|
14 |
|
---|
15 | #ifndef _tagBLOB_DEFINED
|
---|
16 | #define _tagBLOB_DEFINED
|
---|
17 | #define _BLOB_DEFINED
|
---|
18 | #define _LPBLOB_DEFINED
|
---|
19 | typedef struct _BLOB {
|
---|
20 | ULONG cbSize;
|
---|
21 | BYTE *pBlobData;
|
---|
22 | } BLOB,*LPBLOB;
|
---|
23 | #endif
|
---|
24 |
|
---|
25 | #ifndef GUID_DEFINED
|
---|
26 | #define GUID_DEFINED
|
---|
27 | typedef struct _GUID {
|
---|
28 | unsigned __LONG32 Data1;
|
---|
29 | unsigned short Data2;
|
---|
30 | unsigned short Data3;
|
---|
31 | unsigned char Data4[8];
|
---|
32 | } GUID;
|
---|
33 | #endif
|
---|
34 |
|
---|
35 | #ifndef __LPGUID_DEFINED__
|
---|
36 | #define __LPGUID_DEFINED__
|
---|
37 | typedef GUID *LPGUID;
|
---|
38 | #endif
|
---|
39 |
|
---|
40 | #define SERVICE_RESOURCE (0x00000001)
|
---|
41 | #define SERVICE_SERVICE (0x00000002)
|
---|
42 | #define SERVICE_LOCAL (0x00000004)
|
---|
43 |
|
---|
44 | #define SERVICE_REGISTER (0x00000001)
|
---|
45 | #define SERVICE_DEREGISTER (0x00000002)
|
---|
46 | #define SERVICE_FLUSH (0x00000003)
|
---|
47 | #define SERVICE_ADD_TYPE (0x00000004)
|
---|
48 | #define SERVICE_DELETE_TYPE (0x00000005)
|
---|
49 |
|
---|
50 | #define SERVICE_FLAG_DEFER (0x00000001)
|
---|
51 | #define SERVICE_FLAG_HARD (0x00000002)
|
---|
52 |
|
---|
53 | #define PROP_COMMENT (0x00000001)
|
---|
54 | #define PROP_LOCALE (0x00000002)
|
---|
55 | #define PROP_DISPLAY_HINT (0x00000004)
|
---|
56 | #define PROP_VERSION (0x00000008)
|
---|
57 | #define PROP_START_TIME (0x00000010)
|
---|
58 | #define PROP_MACHINE (0x00000020)
|
---|
59 | #define PROP_ADDRESSES (0x00000100)
|
---|
60 | #define PROP_SD (0x00000200)
|
---|
61 | #define PROP_ALL (0x80000000)
|
---|
62 |
|
---|
63 | #define SERVICE_ADDRESS_FLAG_RPC_CN (0x00000001)
|
---|
64 | #define SERVICE_ADDRESS_FLAG_RPC_DG (0x00000002)
|
---|
65 | #define SERVICE_ADDRESS_FLAG_RPC_NB (0x00000004)
|
---|
66 |
|
---|
67 | #define NS_DEFAULT (0)
|
---|
68 |
|
---|
69 | #define NS_SAP (1)
|
---|
70 | #define NS_NDS (2)
|
---|
71 | #define NS_PEER_BROWSE (3)
|
---|
72 |
|
---|
73 | #define NS_TCPIP_LOCAL (10)
|
---|
74 | #define NS_TCPIP_HOSTS (11)
|
---|
75 | #define NS_DNS (12)
|
---|
76 | #define NS_NETBT (13)
|
---|
77 | #define NS_WINS (14)
|
---|
78 | #define NS_NLA (15)
|
---|
79 | #if (_WIN32_WINNT >= 0x0600)
|
---|
80 | #define NS_BTH (16)
|
---|
81 | #endif
|
---|
82 |
|
---|
83 | #define NS_NBP (20)
|
---|
84 |
|
---|
85 | #define NS_MS (30)
|
---|
86 | #define NS_STDA (31)
|
---|
87 | #define NS_NTDS (32)
|
---|
88 |
|
---|
89 | #if (_WIN32_WINNT >= 0x0600)
|
---|
90 | #define NS_EMAIL (37)
|
---|
91 | #define NS_PNRPNAME (38)
|
---|
92 | #define NS_PNRPCLOUD (39)
|
---|
93 | #endif
|
---|
94 |
|
---|
95 | #define NS_X500 (40)
|
---|
96 | #define NS_NIS (41)
|
---|
97 |
|
---|
98 | #define NS_VNS (50)
|
---|
99 |
|
---|
100 | #define NSTYPE_HIERARCHICAL (0x00000001)
|
---|
101 | #define NSTYPE_DYNAMIC (0x00000002)
|
---|
102 | #define NSTYPE_ENUMERABLE (0x00000004)
|
---|
103 | #define NSTYPE_WORKGROUP (0x00000008)
|
---|
104 |
|
---|
105 | #define XP_CONNECTIONLESS (0x00000001)
|
---|
106 | #define XP_GUARANTEED_DELIVERY (0x00000002)
|
---|
107 | #define XP_GUARANTEED_ORDER (0x00000004)
|
---|
108 | #define XP_MESSAGE_ORIENTED (0x00000008)
|
---|
109 | #define XP_PSEUDO_STREAM (0x00000010)
|
---|
110 | #define XP_GRACEFUL_CLOSE (0x00000020)
|
---|
111 | #define XP_EXPEDITED_DATA (0x00000040)
|
---|
112 | #define XP_CONNECT_DATA (0x00000080)
|
---|
113 | #define XP_DISCONNECT_DATA (0x00000100)
|
---|
114 | #define XP_SUPPORTS_BROADCAST (0x00000200)
|
---|
115 | #define XP_SUPPORTS_MULTICAST (0x00000400)
|
---|
116 | #define XP_BANDWIDTH_ALLOCATION (0x00000800)
|
---|
117 | #define XP_FRAGMENTATION (0x00001000)
|
---|
118 | #define XP_ENCRYPTS (0x00002000)
|
---|
119 |
|
---|
120 | #define RES_SOFT_SEARCH (0x00000001)
|
---|
121 | #define RES_FIND_MULTIPLE (0x00000002)
|
---|
122 | #define RES_SERVICE (0x00000004)
|
---|
123 |
|
---|
124 | #define SERVICE_TYPE_VALUE_SAPIDA "SapId"
|
---|
125 | #define SERVICE_TYPE_VALUE_SAPIDW L"SapId"
|
---|
126 |
|
---|
127 | #define SERVICE_TYPE_VALUE_CONNA "ConnectionOriented"
|
---|
128 | #define SERVICE_TYPE_VALUE_CONNW L"ConnectionOriented"
|
---|
129 |
|
---|
130 | #define SERVICE_TYPE_VALUE_TCPPORTA "TcpPort"
|
---|
131 | #define SERVICE_TYPE_VALUE_TCPPORTW L"TcpPort"
|
---|
132 |
|
---|
133 | #define SERVICE_TYPE_VALUE_UDPPORTA "UdpPort"
|
---|
134 | #define SERVICE_TYPE_VALUE_UDPPORTW L"UdpPort"
|
---|
135 |
|
---|
136 | #define SERVICE_TYPE_VALUE_SAPID __MINGW_NAME_AW(SERVICE_TYPE_VALUE_SAPID)
|
---|
137 | #define SERVICE_TYPE_VALUE_CONN __MINGW_NAME_AW(SERVICE_TYPE_VALUE_CONN)
|
---|
138 | #define SERVICE_TYPE_VALUE_TCPPORT __MINGW_NAME_AW(SERVICE_TYPE_VALUE_TCPPORT)
|
---|
139 | #define SERVICE_TYPE_VALUE_UDPPORT __MINGW_NAME_AW(SERVICE_TYPE_VALUE_UDPPORT)
|
---|
140 |
|
---|
141 | #define SET_SERVICE_PARTIAL_SUCCESS (0x00000001)
|
---|
142 |
|
---|
143 | typedef struct _NS_INFOA {
|
---|
144 | DWORD dwNameSpace;
|
---|
145 | DWORD dwNameSpaceFlags;
|
---|
146 | LPSTR lpNameSpace;
|
---|
147 | } NS_INFOA,*PNS_INFOA,*LPNS_INFOA;
|
---|
148 |
|
---|
149 | typedef struct _NS_INFOW {
|
---|
150 | DWORD dwNameSpace;
|
---|
151 | DWORD dwNameSpaceFlags;
|
---|
152 | LPWSTR lpNameSpace;
|
---|
153 | } NS_INFOW,*PNS_INFOW,*LPNS_INFOW;
|
---|
154 |
|
---|
155 | __MINGW_TYPEDEF_AW(NS_INFO)
|
---|
156 | __MINGW_TYPEDEF_AW(PNS_INFO)
|
---|
157 | __MINGW_TYPEDEF_AW(LPNS_INFO)
|
---|
158 |
|
---|
159 | typedef struct _SERVICE_TYPE_VALUE {
|
---|
160 | DWORD dwNameSpace;
|
---|
161 | DWORD dwValueType;
|
---|
162 | DWORD dwValueSize;
|
---|
163 | DWORD dwValueNameOffset;
|
---|
164 | DWORD dwValueOffset;
|
---|
165 | } SERVICE_TYPE_VALUE,*PSERVICE_TYPE_VALUE,*LPSERVICE_TYPE_VALUE;
|
---|
166 |
|
---|
167 | typedef struct _SERVICE_TYPE_VALUE_ABSA {
|
---|
168 | DWORD dwNameSpace;
|
---|
169 | DWORD dwValueType;
|
---|
170 | DWORD dwValueSize;
|
---|
171 | LPSTR lpValueName;
|
---|
172 | PVOID lpValue;
|
---|
173 | } SERVICE_TYPE_VALUE_ABSA,*PSERVICE_TYPE_VALUE_ABSA,*LPSERVICE_TYPE_VALUE_ABSA;
|
---|
174 |
|
---|
175 | typedef struct _SERVICE_TYPE_VALUE_ABSW {
|
---|
176 | DWORD dwNameSpace;
|
---|
177 | DWORD dwValueType;
|
---|
178 | DWORD dwValueSize;
|
---|
179 | LPWSTR lpValueName;
|
---|
180 | PVOID lpValue;
|
---|
181 | } SERVICE_TYPE_VALUE_ABSW,*PSERVICE_TYPE_VALUE_ABSW,*LPSERVICE_TYPE_VALUE_ABSW;
|
---|
182 |
|
---|
183 | __MINGW_TYPEDEF_AW(SERVICE_TYPE_VALUE_ABS)
|
---|
184 | __MINGW_TYPEDEF_AW(PSERVICE_TYPE_VALUE_ABS)
|
---|
185 | __MINGW_TYPEDEF_AW(LPSERVICE_TYPE_VALUE_ABS)
|
---|
186 |
|
---|
187 | typedef struct _SERVICE_TYPE_INFO {
|
---|
188 | DWORD dwTypeNameOffset;
|
---|
189 | DWORD dwValueCount;
|
---|
190 | SERVICE_TYPE_VALUE Values[1];
|
---|
191 | } SERVICE_TYPE_INFO,*PSERVICE_TYPE_INFO,*LPSERVICE_TYPE_INFO;
|
---|
192 |
|
---|
193 | typedef struct _SERVICE_TYPE_INFO_ABSA {
|
---|
194 | LPSTR lpTypeName;
|
---|
195 | DWORD dwValueCount;
|
---|
196 | SERVICE_TYPE_VALUE_ABSA Values[1];
|
---|
197 | } SERVICE_TYPE_INFO_ABSA,*PSERVICE_TYPE_INFO_ABSA,*LPSERVICE_TYPE_INFO_ABSA;
|
---|
198 | typedef struct _SERVICE_TYPE_INFO_ABSW {
|
---|
199 | LPWSTR lpTypeName;
|
---|
200 | DWORD dwValueCount;
|
---|
201 | SERVICE_TYPE_VALUE_ABSW Values[1];
|
---|
202 | } SERVICE_TYPE_INFO_ABSW,*PSERVICE_TYPE_INFO_ABSW,*LPSERVICE_TYPE_INFO_ABSW;
|
---|
203 |
|
---|
204 | __MINGW_TYPEDEF_AW(SERVICE_TYPE_INFO_ABS)
|
---|
205 | __MINGW_TYPEDEF_AW(PSERVICE_TYPE_INFO_ABS)
|
---|
206 | __MINGW_TYPEDEF_AW(LPSERVICE_TYPE_INFO_ABS)
|
---|
207 |
|
---|
208 | typedef struct _SERVICE_ADDRESS {
|
---|
209 | DWORD dwAddressType;
|
---|
210 | DWORD dwAddressFlags;
|
---|
211 | DWORD dwAddressLength;
|
---|
212 | DWORD dwPrincipalLength;
|
---|
213 | BYTE *lpAddress;
|
---|
214 | BYTE *lpPrincipal;
|
---|
215 | } SERVICE_ADDRESS,*PSERVICE_ADDRESS,*LPSERVICE_ADDRESS;
|
---|
216 |
|
---|
217 | typedef struct _SERVICE_ADDRESSES {
|
---|
218 | DWORD dwAddressCount;
|
---|
219 | SERVICE_ADDRESS Addresses[1];
|
---|
220 | } SERVICE_ADDRESSES,*PSERVICE_ADDRESSES,*LPSERVICE_ADDRESSES;
|
---|
221 |
|
---|
222 | typedef struct _SERVICE_INFOA {
|
---|
223 | LPGUID lpServiceType;
|
---|
224 | LPSTR lpServiceName;
|
---|
225 | LPSTR lpComment;
|
---|
226 | LPSTR lpLocale;
|
---|
227 | DWORD dwDisplayHint;
|
---|
228 | DWORD dwVersion;
|
---|
229 | DWORD dwTime;
|
---|
230 | LPSTR lpMachineName;
|
---|
231 | LPSERVICE_ADDRESSES lpServiceAddress;
|
---|
232 | BLOB ServiceSpecificInfo;
|
---|
233 | } SERVICE_INFOA,*PSERVICE_INFOA,*LPSERVICE_INFOA;
|
---|
234 |
|
---|
235 | typedef struct _SERVICE_INFOW {
|
---|
236 | LPGUID lpServiceType;
|
---|
237 | LPWSTR lpServiceName;
|
---|
238 | LPWSTR lpComment;
|
---|
239 | LPWSTR lpLocale;
|
---|
240 | DWORD dwDisplayHint;
|
---|
241 | DWORD dwVersion;
|
---|
242 | DWORD dwTime;
|
---|
243 | LPWSTR lpMachineName;
|
---|
244 | LPSERVICE_ADDRESSES lpServiceAddress;
|
---|
245 | BLOB ServiceSpecificInfo;
|
---|
246 | } SERVICE_INFOW,*PSERVICE_INFOW,*LPSERVICE_INFOW;
|
---|
247 |
|
---|
248 | __MINGW_TYPEDEF_AW(SERVICE_INFO)
|
---|
249 | __MINGW_TYPEDEF_AW(PSERVICE_INFO)
|
---|
250 | __MINGW_TYPEDEF_AW(LPSERVICE_INFO)
|
---|
251 |
|
---|
252 | typedef struct _NS_SERVICE_INFOA {
|
---|
253 | DWORD dwNameSpace;
|
---|
254 | SERVICE_INFOA ServiceInfo;
|
---|
255 | } NS_SERVICE_INFOA,*PNS_SERVICE_INFOA,*LPNS_SERVICE_INFOA;
|
---|
256 |
|
---|
257 | typedef struct _NS_SERVICE_INFOW {
|
---|
258 | DWORD dwNameSpace;
|
---|
259 | SERVICE_INFOW ServiceInfo;
|
---|
260 | } NS_SERVICE_INFOW,*PNS_SERVICE_INFOW,*LPNS_SERVICE_INFOW;
|
---|
261 |
|
---|
262 | __MINGW_TYPEDEF_AW(NS_SERVICE_INFO)
|
---|
263 | __MINGW_TYPEDEF_AW(PNS_SERVICE_INFO)
|
---|
264 | __MINGW_TYPEDEF_AW(LPNS_SERVICE_INFO)
|
---|
265 |
|
---|
266 | #ifndef __CSADDR_DEFINED__
|
---|
267 | #define __CSADDR_DEFINED__
|
---|
268 |
|
---|
269 | typedef struct _SOCKET_ADDRESS {
|
---|
270 | LPSOCKADDR lpSockaddr;
|
---|
271 | INT iSockaddrLength;
|
---|
272 | } SOCKET_ADDRESS,*PSOCKET_ADDRESS,*LPSOCKET_ADDRESS;
|
---|
273 |
|
---|
274 | typedef struct _CSADDR_INFO {
|
---|
275 | SOCKET_ADDRESS LocalAddr;
|
---|
276 | SOCKET_ADDRESS RemoteAddr;
|
---|
277 | INT iSocketType;
|
---|
278 | INT iProtocol;
|
---|
279 | } CSADDR_INFO,*PCSADDR_INFO,*LPCSADDR_INFO;
|
---|
280 | #endif
|
---|
281 |
|
---|
282 | typedef struct _PROTOCOL_INFOA {
|
---|
283 | DWORD dwServiceFlags;
|
---|
284 | INT iAddressFamily;
|
---|
285 | INT iMaxSockAddr;
|
---|
286 | INT iMinSockAddr;
|
---|
287 | INT iSocketType;
|
---|
288 | INT iProtocol;
|
---|
289 | DWORD dwMessageSize;
|
---|
290 | LPSTR lpProtocol;
|
---|
291 | } PROTOCOL_INFOA,*PPROTOCOL_INFOA,*LPPROTOCOL_INFOA;
|
---|
292 |
|
---|
293 | typedef struct _PROTOCOL_INFOW {
|
---|
294 | DWORD dwServiceFlags;
|
---|
295 | INT iAddressFamily;
|
---|
296 | INT iMaxSockAddr;
|
---|
297 | INT iMinSockAddr;
|
---|
298 | INT iSocketType;
|
---|
299 | INT iProtocol;
|
---|
300 | DWORD dwMessageSize;
|
---|
301 | LPWSTR lpProtocol;
|
---|
302 | } PROTOCOL_INFOW,*PPROTOCOL_INFOW,*LPPROTOCOL_INFOW;
|
---|
303 |
|
---|
304 | __MINGW_TYPEDEF_AW(PROTOCOL_INFO)
|
---|
305 | __MINGW_TYPEDEF_AW(PPROTOCOL_INFO)
|
---|
306 | __MINGW_TYPEDEF_AW(LPPROTOCOL_INFO)
|
---|
307 |
|
---|
308 | typedef struct _NETRESOURCE2A {
|
---|
309 | DWORD dwScope;
|
---|
310 | DWORD dwType;
|
---|
311 | DWORD dwUsage;
|
---|
312 | DWORD dwDisplayType;
|
---|
313 | LPSTR lpLocalName;
|
---|
314 | LPSTR lpRemoteName;
|
---|
315 | LPSTR lpComment;
|
---|
316 | NS_INFO ns_info;
|
---|
317 | GUID ServiceType;
|
---|
318 | DWORD dwProtocols;
|
---|
319 | LPINT lpiProtocols;
|
---|
320 | } NETRESOURCE2A,*PNETRESOURCE2A,*LPNETRESOURCE2A;
|
---|
321 |
|
---|
322 | typedef struct _NETRESOURCE2W {
|
---|
323 | DWORD dwScope;
|
---|
324 | DWORD dwType;
|
---|
325 | DWORD dwUsage;
|
---|
326 | DWORD dwDisplayType;
|
---|
327 | LPWSTR lpLocalName;
|
---|
328 | LPWSTR lpRemoteName;
|
---|
329 | LPWSTR lpComment;
|
---|
330 | NS_INFO ns_info;
|
---|
331 | GUID ServiceType;
|
---|
332 | DWORD dwProtocols;
|
---|
333 | LPINT lpiProtocols;
|
---|
334 | } NETRESOURCE2W,*PNETRESOURCE2W,*LPNETRESOURCE2W;
|
---|
335 |
|
---|
336 | __MINGW_TYPEDEF_AW(NETRESOURCE2)
|
---|
337 | __MINGW_TYPEDEF_AW(PNETRESOURCE2)
|
---|
338 | __MINGW_TYPEDEF_AW(LPNETRESOURCE2)
|
---|
339 |
|
---|
340 | typedef DWORD (*LPFN_NSPAPI)(VOID);
|
---|
341 |
|
---|
342 | typedef VOID (*LPSERVICE_CALLBACK_PROC)(LPARAM lParam,HANDLE hAsyncTaskHandle);
|
---|
343 | typedef struct _SERVICE_ASYNC_INFO {
|
---|
344 | LPSERVICE_CALLBACK_PROC lpServiceCallbackProc;
|
---|
345 | LPARAM lParam;
|
---|
346 | HANDLE hAsyncTaskHandle;
|
---|
347 | } SERVICE_ASYNC_INFO,*PSERVICE_ASYNC_INFO,*LPSERVICE_ASYNC_INFO;
|
---|
348 |
|
---|
349 | #define EnumProtocols __MINGW_NAME_AW(EnumProtocols)
|
---|
350 | #define GetAddressByName __MINGW_NAME_AW(GetAddressByName)
|
---|
351 | #define GetTypeByName __MINGW_NAME_AW(GetTypeByName)
|
---|
352 | #define GetNameByType __MINGW_NAME_AW(GetNameByType)
|
---|
353 | #define SetService __MINGW_NAME_AW(SetService)
|
---|
354 | #define GetService __MINGW_NAME_AW(GetService)
|
---|
355 |
|
---|
356 | INT WINAPI EnumProtocolsA(LPINT lpiProtocols,LPVOID lpProtocolBuffer,LPDWORD lpdwBufferLength);
|
---|
357 | INT WINAPI EnumProtocolsW(LPINT lpiProtocols,LPVOID lpProtocolBuffer,LPDWORD lpdwBufferLength);
|
---|
358 | INT WINAPI GetAddressByNameA(DWORD dwNameSpace,LPGUID lpServiceType,LPSTR lpServiceName,LPINT lpiProtocols,DWORD dwResolution,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,LPVOID lpCsaddrBuffer,LPDWORD lpdwBufferLength,LPSTR lpAliasBuffer,LPDWORD lpdwAliasBufferLength);
|
---|
359 | INT WINAPI GetAddressByNameW(DWORD dwNameSpace,LPGUID lpServiceType,LPWSTR lpServiceName,LPINT lpiProtocols,DWORD dwResolution,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,LPVOID lpCsaddrBuffer,LPDWORD lpdwBufferLength,LPWSTR lpAliasBuffer,LPDWORD lpdwAliasBufferLength);
|
---|
360 | INT WINAPI GetTypeByNameA(LPSTR lpServiceName,LPGUID lpServiceType);
|
---|
361 | INT WINAPI GetTypeByNameW(LPWSTR lpServiceName,LPGUID lpServiceType);
|
---|
362 | INT WINAPI GetNameByTypeA(LPGUID lpServiceType,LPSTR lpServiceName,DWORD dwNameLength);
|
---|
363 | INT WINAPI GetNameByTypeW(LPGUID lpServiceType,LPWSTR lpServiceName,DWORD dwNameLength);
|
---|
364 | INT WINAPI SetServiceA(DWORD dwNameSpace,DWORD dwOperation,DWORD dwFlags,LPSERVICE_INFOA lpServiceInfo,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,LPDWORD lpdwStatusFlags);
|
---|
365 | INT WINAPI SetServiceW(DWORD dwNameSpace,DWORD dwOperation,DWORD dwFlags,LPSERVICE_INFOW lpServiceInfo,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,LPDWORD lpdwStatusFlags);
|
---|
366 | INT WINAPI GetServiceA(DWORD dwNameSpace,LPGUID lpGuid,LPSTR lpServiceName,DWORD dwProperties,LPVOID lpBuffer,LPDWORD lpdwBufferSize,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo);
|
---|
367 | INT WINAPI GetServiceW(DWORD dwNameSpace,LPGUID lpGuid,LPWSTR lpServiceName,DWORD dwProperties,LPVOID lpBuffer,LPDWORD lpdwBufferSize,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo);
|
---|
368 |
|
---|
369 | #ifdef __cplusplus
|
---|
370 | }
|
---|
371 | #endif
|
---|
372 | #endif
|
---|