1 | /*
|
---|
2 | * Copyright 2002 Andriy Palamarchuk
|
---|
3 | *
|
---|
4 | * User information Net API.
|
---|
5 | *
|
---|
6 | * This library is free software; you can redistribute it and/or
|
---|
7 | * modify it under the terms of the GNU Lesser General Public
|
---|
8 | * License as published by the Free Software Foundation; either
|
---|
9 | * version 2.1 of the License, or (at your option) any later version.
|
---|
10 | *
|
---|
11 | * This library is distributed in the hope that it will be useful,
|
---|
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
---|
14 | * Lesser General Public License for more details.
|
---|
15 | *
|
---|
16 | * You should have received a copy of the GNU Lesser General Public
|
---|
17 | * License along with this library; if not, write to the Free Software
|
---|
18 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
---|
19 | */
|
---|
20 |
|
---|
21 | /*
|
---|
22 | * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
|
---|
23 | * other than GPL or LGPL is available it will apply instead, Sun elects to use only
|
---|
24 | * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
|
---|
25 | * a choice of LGPL license versions is made available with the language indicating
|
---|
26 | * that LGPLv2 or any later version may be used, or where a choice of which version
|
---|
27 | * of the LGPL is applied is otherwise unspecified.
|
---|
28 | */
|
---|
29 |
|
---|
30 | #ifndef __WINE_LMACCESS_H
|
---|
31 | #define __WINE_LMACCESS_H
|
---|
32 |
|
---|
33 | #ifdef __cplusplus
|
---|
34 | extern "C" {
|
---|
35 | #endif
|
---|
36 |
|
---|
37 | #include <lmcons.h>
|
---|
38 |
|
---|
39 | #define UF_SCRIPT 0x000001
|
---|
40 | #define UF_ACCOUNTDISABLE 0x000002
|
---|
41 | #define UF_HOMEDIR_REQUIRED 0x000008
|
---|
42 | #define UF_LOCKOUT 0x000010
|
---|
43 | #define UF_PASSWD_NOTREQD 0x000020
|
---|
44 | #define UF_PASSWD_CANT_CHANGE 0x000040
|
---|
45 | #define UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED 0x000080
|
---|
46 | #define UF_TEMP_DUPLICATE_ACCOUNT 0x000100
|
---|
47 | #define UF_NORMAL_ACCOUNT 0x000200
|
---|
48 | #define UF_INTERDOMAIN_TRUST_ACCOUNT 0x000800
|
---|
49 | #define UF_WORKSTATION_TRUST_ACCOUNT 0x001000
|
---|
50 | #define UF_SERVER_TRUST_ACCOUNT 0x002000
|
---|
51 | #define UF_DONT_EXPIRE_PASSWD 0x010000
|
---|
52 | #define UF_MNS_LOGON_ACCOUNT 0x020000
|
---|
53 | #define UF_SMARTCARD_REQUIRED 0x040000
|
---|
54 | #define UF_TRUSTED_FOR_DELEGATION 0x080000
|
---|
55 | #define UF_NOT_DELEGATED 0x100000
|
---|
56 | #define UF_USE_DES_KEY_ONLY 0x200000
|
---|
57 | #define UF_DONT_REQUIRE_PREAUTH 0x400000
|
---|
58 | #define UF_PASSWORD_EXPIRED 0x800000
|
---|
59 |
|
---|
60 |
|
---|
61 | #define UF_MACHINE_ACCOUNT_MASK ( \
|
---|
62 | UF_INTERDOMAIN_TRUST_ACCOUNT | \
|
---|
63 | UF_WORKSTATION_TRUST_ACCOUNT | \
|
---|
64 | UF_SERVER_TRUST_ACCOUNT)
|
---|
65 |
|
---|
66 | #define UF_ACCOUNT_TYPE_MASK ( \
|
---|
67 | UF_TEMP_DUPLICATE_ACCOUNT | \
|
---|
68 | UF_NORMAL_ACCOUNT | \
|
---|
69 | UF_INTERDOMAIN_TRUST_ACCOUNT | \
|
---|
70 | UF_WORKSTATION_TRUST_ACCOUNT | \
|
---|
71 | UF_SERVER_TRUST_ACCOUNT)
|
---|
72 |
|
---|
73 | #define UF_SETTABLE_BITS ( \
|
---|
74 | UF_SCRIPT | \
|
---|
75 | UF_ACCOUNTDISABLE | \
|
---|
76 | UF_LOCKOUT | \
|
---|
77 | UF_HOMEDIR_REQUIRED | \
|
---|
78 | UF_PASSWD_NOTREQD | \
|
---|
79 | UF_PASSWD_CANT_CHANGE | \
|
---|
80 | UF_ACCOUNT_TYPE_MASK | \
|
---|
81 | UF_DONT_EXPIRE_PASSWD | \
|
---|
82 | UF_MNS_LOGON_ACCOUNT |\
|
---|
83 | UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED |\
|
---|
84 | UF_SMARTCARD_REQUIRED | \
|
---|
85 | UF_TRUSTED_FOR_DELEGATION | \
|
---|
86 | UF_NOT_DELEGATED | \
|
---|
87 | UF_USE_DES_KEY_ONLY | \
|
---|
88 | UF_DONT_REQUIRE_PREAUTH |\
|
---|
89 | UF_PASSWORD_EXPIRED)
|
---|
90 |
|
---|
91 | #if defined(__GNUC__)
|
---|
92 | # define GROUP_SPECIALGRP_USERS (const WCHAR []){ 'U','S','E','R','S',0 }
|
---|
93 | #elif defined(_MSC_VER)
|
---|
94 | # define GROUP_SPECIALGRP_USERS L"USERS"
|
---|
95 | #else
|
---|
96 | static const WCHAR GROUP_SPECIALGRP_USERS[] = { 'U','S','E','R','S',0 };
|
---|
97 | #endif
|
---|
98 |
|
---|
99 | #if defined(__GNUC__)
|
---|
100 | # define GROUP_SPECIALGRP_ADMINS (const WCHAR []){ 'A','D','M','I','N','S',0 }
|
---|
101 | #elif defined(_MSC_VER)
|
---|
102 | # define GROUP_SPECIALGRP_ADMINS L"ADMINS"
|
---|
103 | #else
|
---|
104 | static const WCHAR GROUP_SPECIALGRP_ADMINS[] = { 'A','D','M','I','N','S',0 };
|
---|
105 | #endif
|
---|
106 |
|
---|
107 | #if defined(__GNUC__)
|
---|
108 | # define GROUP_SPECIALGRP_GUESTS (const WCHAR []){ 'G','U','E','S','T','S',0 }
|
---|
109 | #elif defined(_MSC_VER)
|
---|
110 | # define GROUP_SPECIALGRP_GUESTS L"GUESTS"
|
---|
111 | #else
|
---|
112 | static const WCHAR GROUP_SPECIALGRP_GUESTS[] = { 'G','U','E','S','T','S',0 };
|
---|
113 | #endif
|
---|
114 |
|
---|
115 | #if defined(__GNUC__)
|
---|
116 | # define GROUP_SPECIALGRP_LOCAL (const WCHAR []){ 'L','O','C','A','L',0 }
|
---|
117 | #elif defined(_MSC_VER)
|
---|
118 | # define GROUP_SPECIALGRP_LOCAL L"LOCAL"
|
---|
119 | #else
|
---|
120 | static const WCHAR GROUP_SPECIALGRP_LOCAL[] = { 'L','O','C','A','L',0 };
|
---|
121 | #endif
|
---|
122 |
|
---|
123 | #ifndef WINE_NTSTATUS_DECLARED
|
---|
124 | #define WINE_NTSTATUS_DECLARED
|
---|
125 | typedef LONG NTSTATUS;
|
---|
126 | #endif
|
---|
127 | #ifndef WINE_PNTSTATUS_DECLARED
|
---|
128 | #define WINE_PNTSTATUS_DECLARED
|
---|
129 | typedef NTSTATUS *PNTSTATUS;
|
---|
130 | #endif
|
---|
131 |
|
---|
132 | /* NetGetUserInfo structures */
|
---|
133 | typedef struct _USER_INFO_0 {
|
---|
134 | LPWSTR usri0_name;
|
---|
135 | } USER_INFO_0, *PUSER_INFO_0, *LPUSER_INFO_0;
|
---|
136 |
|
---|
137 | typedef struct _USER_INFO_1 {
|
---|
138 | LPWSTR usri1_name;
|
---|
139 | LPWSTR usri1_password;
|
---|
140 | DWORD usri1_password_age;
|
---|
141 | DWORD usri1_priv;
|
---|
142 | LPWSTR usri1_home_dir;
|
---|
143 | LPWSTR usri1_comment;
|
---|
144 | DWORD usri1_flags;
|
---|
145 | LPWSTR usri1_script_path;
|
---|
146 | } USER_INFO_1, *PUSER_INFO_1, *LPUSER_INFO_1;
|
---|
147 |
|
---|
148 | typedef struct _USER_INFO_2 {
|
---|
149 | LPWSTR usri2_name;
|
---|
150 | LPWSTR usri2_password;
|
---|
151 | DWORD usri2_password_age;
|
---|
152 | DWORD usri2_priv;
|
---|
153 | LPWSTR usri2_home_dir;
|
---|
154 | LPWSTR usri2_comment;
|
---|
155 | DWORD usri2_flags;
|
---|
156 | LPWSTR usri2_script_path;
|
---|
157 | DWORD usri2_auth_flags;
|
---|
158 | LPWSTR usri2_full_name;
|
---|
159 | LPWSTR usri2_usr_comment;
|
---|
160 | LPWSTR usri2_parms;
|
---|
161 | LPWSTR usri2_workstations;
|
---|
162 | DWORD usri2_last_logon;
|
---|
163 | DWORD usri2_last_logoff;
|
---|
164 | DWORD usri2_acct_expires;
|
---|
165 | DWORD usri2_max_storage;
|
---|
166 | DWORD usri2_units_per_week;
|
---|
167 | PBYTE usri2_logon_hours;
|
---|
168 | DWORD usri2_bad_pw_count;
|
---|
169 | DWORD usri2_num_logons;
|
---|
170 | LPWSTR usri2_logon_server;
|
---|
171 | DWORD usri2_country_code;
|
---|
172 | DWORD usri2_code_page;
|
---|
173 | } USER_INFO_2, *PUSER_INFO_2, *LPUSER_INFO_2;
|
---|
174 |
|
---|
175 | typedef struct _USER_INFO_3 {
|
---|
176 | LPWSTR usri3_name;
|
---|
177 | LPWSTR usri3_password;
|
---|
178 | DWORD usri3_password_age;
|
---|
179 | DWORD usri3_priv;
|
---|
180 | LPWSTR usri3_home_dir;
|
---|
181 | LPWSTR usri3_comment;
|
---|
182 | DWORD usri3_flags;
|
---|
183 | LPWSTR usri3_script_path;
|
---|
184 | DWORD usri3_auth_flags;
|
---|
185 | LPWSTR usri3_full_name;
|
---|
186 | LPWSTR usri3_usr_comment;
|
---|
187 | LPWSTR usri3_parms;
|
---|
188 | LPWSTR usri3_workstations;
|
---|
189 | DWORD usri3_last_logon;
|
---|
190 | DWORD usri3_last_logoff;
|
---|
191 | DWORD usri3_acct_expires;
|
---|
192 | DWORD usri3_max_storage;
|
---|
193 | DWORD usri3_units_per_week;
|
---|
194 | PBYTE usri3_logon_hours;
|
---|
195 | DWORD usri3_bad_pw_count;
|
---|
196 | DWORD usri3_num_logons;
|
---|
197 | LPWSTR usri3_logon_server;
|
---|
198 | DWORD usri3_country_code;
|
---|
199 | DWORD usri3_code_page;
|
---|
200 | DWORD usri3_user_id;
|
---|
201 | DWORD usri3_primary_group_id;
|
---|
202 | LPWSTR usri3_profile;
|
---|
203 | LPWSTR usri3_home_dir_drive;
|
---|
204 | DWORD usri3_password_expired;
|
---|
205 | } USER_INFO_3, *PUSER_INFO_3, *LPUSER_INFO_3;
|
---|
206 |
|
---|
207 | typedef struct _USER_INFO_4 {
|
---|
208 | LPWSTR usri4_name;
|
---|
209 | LPWSTR usri4_password;
|
---|
210 | DWORD usri4_password_age;
|
---|
211 | DWORD usri4_priv;
|
---|
212 | LPWSTR usri4_home_dir;
|
---|
213 | LPWSTR usri4_comment;
|
---|
214 | DWORD usri4_flags;
|
---|
215 | LPWSTR usri4_script_path;
|
---|
216 | DWORD usri4_auth_flags;
|
---|
217 | LPWSTR usri4_full_name;
|
---|
218 | LPWSTR usri4_usr_comment;
|
---|
219 | LPWSTR usri4_parms;
|
---|
220 | LPWSTR usri4_workstations;
|
---|
221 | DWORD usri4_last_logon;
|
---|
222 | DWORD usri4_last_logoff;
|
---|
223 | DWORD usri4_acct_expires;
|
---|
224 | DWORD usri4_max_storage;
|
---|
225 | DWORD usri4_units_per_week;
|
---|
226 | PBYTE usri4_logon_hours;
|
---|
227 | DWORD usri4_bad_pw_count;
|
---|
228 | DWORD usri4_num_logons;
|
---|
229 | LPWSTR usri4_logon_server;
|
---|
230 | DWORD usri4_country_code;
|
---|
231 | DWORD usri4_code_page;
|
---|
232 | PSID usri4_user_sid;
|
---|
233 | DWORD usri4_primary_group_id;
|
---|
234 | LPWSTR usri4_profile;
|
---|
235 | LPWSTR usri4_home_dir_drive;
|
---|
236 | DWORD usri4_password_expired;
|
---|
237 | } USER_INFO_4, *PUSER_INFO_4, *LPUSER_INFO_4;
|
---|
238 |
|
---|
239 | typedef struct _USER_INFO_10 {
|
---|
240 | LPWSTR usri10_name;
|
---|
241 | LPWSTR usri10_comment;
|
---|
242 | LPWSTR usri10_usr_comment;
|
---|
243 | LPWSTR usri10_full_name;
|
---|
244 | } USER_INFO_10, *PUSER_INFO_10, *LPUSER_INFO_10;
|
---|
245 |
|
---|
246 | typedef struct _USER_INFO_11 {
|
---|
247 | LPWSTR usri11_name;
|
---|
248 | LPWSTR usri11_comment;
|
---|
249 | LPWSTR usri11_usr_comment;
|
---|
250 | LPWSTR usri11_full_name;
|
---|
251 | DWORD usri11_priv;
|
---|
252 | DWORD usri11_auth_flags;
|
---|
253 | DWORD usri11_password_age;
|
---|
254 | LPWSTR usri11_home_dir;
|
---|
255 | LPWSTR usri11_parms;
|
---|
256 | DWORD usri11_last_logon;
|
---|
257 | DWORD usri11_last_logoff;
|
---|
258 | DWORD usri11_bad_pw_count;
|
---|
259 | DWORD usri11_num_logons;
|
---|
260 | LPWSTR usri11_logon_server;
|
---|
261 | DWORD usri11_country_code;
|
---|
262 | LPWSTR usri11_workstations;
|
---|
263 | DWORD usri11_max_storage;
|
---|
264 | DWORD usri11_units_per_week;
|
---|
265 | PBYTE usri11_logon_hours;
|
---|
266 | DWORD usri11_code_page;
|
---|
267 | } USER_INFO_11, *PUSER_INFO_11, *LPUSER_INFO_11;
|
---|
268 |
|
---|
269 | typedef struct _USER_INFO_20 {
|
---|
270 | LPWSTR usri20_name;
|
---|
271 | LPWSTR usri20_full_name;
|
---|
272 | LPWSTR usri20_comment;
|
---|
273 | DWORD usri20_flags;
|
---|
274 | DWORD usri20_user_id;
|
---|
275 | } USER_INFO_20, *PUSER_INFO_20, *LPUSER_INFO_20;
|
---|
276 |
|
---|
277 | typedef struct _USER_INFO_23 {
|
---|
278 | LPWSTR usri23_name;
|
---|
279 | LPWSTR usri23_full_name;
|
---|
280 | LPWSTR usri23_comment;
|
---|
281 | DWORD usri23_flags;
|
---|
282 | PSID usri23_user_sid;
|
---|
283 | } USER_INFO_23, *PUSER_INFO_23, *LPUSER_INFO_23;
|
---|
284 |
|
---|
285 | typedef struct _USER_INFO_1003 {
|
---|
286 | LPWSTR usri1003_password;
|
---|
287 | } USER_INFO_1003, *PUSER_INFO_1003, *LPUSER_INFO_1003;
|
---|
288 |
|
---|
289 | typedef struct _USER_INFO_1005 {
|
---|
290 | DWORD usri1005_priv;
|
---|
291 | } USER_INFO_1005, *PUSER_INFO_1005, *LPUSER_INFO_1005;
|
---|
292 |
|
---|
293 | typedef struct _USER_INFO_1006 {
|
---|
294 | LPWSTR usri1006_home_dir;
|
---|
295 | } USER_INFO_1006, *PUSER_INFO_1006, *LPUSER_INFO_1006;
|
---|
296 |
|
---|
297 | typedef struct _USER_INFO_1007 {
|
---|
298 | LPWSTR usri1007_comment;
|
---|
299 | } USER_INFO_1007, *PUSER_INFO_1007, *LPUSER_INFO_1007;
|
---|
300 |
|
---|
301 | typedef struct _USER_INFO_1008 {
|
---|
302 | DWORD usri1008_flags;
|
---|
303 | } USER_INFO_1008, *PUSER_INFO_1008, *LPUSER_INFO_1008;
|
---|
304 |
|
---|
305 | typedef struct _USER_INFO_1009 {
|
---|
306 | LPWSTR usri1009_script_path;
|
---|
307 | } USER_INFO_1009, *PUSER_INFO_1009, *LPUSER_INFO_1009;
|
---|
308 |
|
---|
309 | typedef struct _USER_INFO_1010 {
|
---|
310 | DWORD usri1010_auth_flags;
|
---|
311 | } USER_INFO_1010, *PUSER_INFO_1010, *LPUSER_INFO_1010;
|
---|
312 |
|
---|
313 | typedef struct _USER_INFO_1011 {
|
---|
314 | LPWSTR usri1011_full_name;
|
---|
315 | } USER_INFO_1011, *PUSER_INFO_1011, *LPUSER_INFO_1011;
|
---|
316 |
|
---|
317 | typedef struct _USER_INFO_1012 {
|
---|
318 | LPWSTR usri1012_usr_comment;
|
---|
319 | } USER_INFO_1012, *PUSER_INFO_1012, *LPUSER_INFO_1012;
|
---|
320 |
|
---|
321 | typedef struct _USER_INFO_1013 {
|
---|
322 | LPWSTR usri1013_parms;
|
---|
323 | } USER_INFO_1013, *PUSER_INFO_1013, *LPUSER_INFO_1013;
|
---|
324 |
|
---|
325 | typedef struct _USER_INFO_1014 {
|
---|
326 | LPWSTR usri1014_workstations;
|
---|
327 | } USER_INFO_1014, *PUSER_INFO_1014, *LPUSER_INFO_1014;
|
---|
328 |
|
---|
329 | typedef struct _USER_INFO_1017 {
|
---|
330 | DWORD usri1017_acct_expires;
|
---|
331 | } USER_INFO_1017, *PUSER_INFO_1017, *LPUSER_INFO_1017;
|
---|
332 |
|
---|
333 | typedef struct _USER_INFO_1018 {
|
---|
334 | DWORD usri1018_max_storage;
|
---|
335 | } USER_INFO_1018, *PUSER_INFO_1018, *LPUSER_INFO_1018;
|
---|
336 |
|
---|
337 | typedef struct _USER_INFO_1020 {
|
---|
338 | DWORD usri1020_units_per_week;
|
---|
339 | LPBYTE usri1020_logon_hours;
|
---|
340 | } USER_INFO_1020, *PUSER_INFO_1020, *LPUSER_INFO_1020;
|
---|
341 |
|
---|
342 | typedef struct _USER_INFO_1023 {
|
---|
343 | LPWSTR usri1023_logon_server;
|
---|
344 | } USER_INFO_1023, *PUSER_INFO_1023, *LPUSER_INFO_1023;
|
---|
345 |
|
---|
346 | typedef struct _USER_INFO_1024 {
|
---|
347 | DWORD usri1024_country_code;
|
---|
348 | } USER_INFO_1024, *PUSER_INFO_1024, *LPUSER_INFO_1024;
|
---|
349 |
|
---|
350 | typedef struct _USER_INFO_1025 {
|
---|
351 | DWORD usri1025_code_page;
|
---|
352 | } USER_INFO_1025, *PUSER_INFO_1025, *LPUSER_INFO_1025;
|
---|
353 |
|
---|
354 | typedef struct _USER_INFO_1051 {
|
---|
355 | DWORD usri1051_primary_group_id;
|
---|
356 | } USER_INFO_1051, *PUSER_INFO_1051, *LPUSER_INFO_1051;
|
---|
357 |
|
---|
358 | typedef struct _USER_INFO_1052 {
|
---|
359 | LPWSTR usri1052_profile;
|
---|
360 | } USER_INFO_1052, *PUSER_INFO_1052, *LPUSER_INFO_1052;
|
---|
361 |
|
---|
362 | typedef struct _USER_INFO_1053 {
|
---|
363 | LPWSTR usri1053_home_dir_drive;
|
---|
364 | } USER_INFO_1053, *PUSER_INFO_1053, *LPUSER_INFO_1053;
|
---|
365 |
|
---|
366 | typedef struct _USER_MODALS_INFO_0 {
|
---|
367 | DWORD usrmod0_min_passwd_len;
|
---|
368 | DWORD usrmod0_max_passwd_age;
|
---|
369 | DWORD usrmod0_min_passwd_age;
|
---|
370 | DWORD usrmod0_force_logoff;
|
---|
371 | DWORD usrmod0_password_hist_len;
|
---|
372 | } USER_MODALS_INFO_0, *PUSER_MODALS_INFO_0, *LPUSER_MODALS_INFO_0;
|
---|
373 |
|
---|
374 | typedef struct _USER_MODALS_INFO_1 {
|
---|
375 | DWORD usrmod1_role;
|
---|
376 | LPWSTR usrmod1_primary;
|
---|
377 | } USER_MODALS_INFO_1, *PUSER_MODALS_INFO_1, *LPUSER_MODALS_INFO_1;
|
---|
378 |
|
---|
379 | typedef struct _USER_MODALS_INFO_2 {
|
---|
380 | LPWSTR usrmod2_domain_name;
|
---|
381 | PSID usrmod2_domain_id;
|
---|
382 | } USER_MODALS_INFO_2, *PUSER_MODALS_INFO_2, *LPUSER_MODALS_INFO_2;
|
---|
383 |
|
---|
384 | typedef struct _USER_MODALS_INFO_3 {
|
---|
385 | DWORD usrmod3_lockout_duration;
|
---|
386 | DWORD usrmod3_lockout_observation_window;
|
---|
387 | DWORD usrmod3_lockout_threshold;
|
---|
388 | } USER_MODALS_INFO_3, *PUSER_MODALS_INFO_3, *LPUSER_MODALS_INFO_3;
|
---|
389 |
|
---|
390 | typedef struct _NET_DISPLAY_USER {
|
---|
391 | LPWSTR usri1_name;
|
---|
392 | LPWSTR usri1_comment;
|
---|
393 | DWORD usri1_flags;
|
---|
394 | LPWSTR usri1_full_name;
|
---|
395 | DWORD usri1_user_id;
|
---|
396 | DWORD usri1_next_index;
|
---|
397 | } NET_DISPLAY_USER, *PNET_DISPLAY_USER;
|
---|
398 |
|
---|
399 | typedef struct _NET_DISPLAY_MACHINE {
|
---|
400 | LPWSTR usri2_name;
|
---|
401 | LPWSTR usri2_comment;
|
---|
402 | DWORD usri2_flags;
|
---|
403 | DWORD usri2_user_id;
|
---|
404 | DWORD usri2_next_index;
|
---|
405 | } NET_DISPLAY_MACHINE, *PNET_DISPLAY_MACHINE;
|
---|
406 |
|
---|
407 | typedef struct _NET_DISPLAY_GROUP {
|
---|
408 | LPWSTR grpi3_name;
|
---|
409 | LPWSTR grpi3_comment;
|
---|
410 | DWORD grpi3_group_id;
|
---|
411 | DWORD grpi3_attributes;
|
---|
412 | DWORD grpi3_next_index;
|
---|
413 | } NET_DISPLAY_GROUP, *PNET_DISPLAY_GROUP;
|
---|
414 |
|
---|
415 | typedef struct _LOCALGROUP_INFO_0 {
|
---|
416 | LPWSTR lgrpi0_name;
|
---|
417 | } LOCALGROUP_INFO_0, *PLOCALGROUP_INFO_0, *LPLOCALGROUP_INFO_0;
|
---|
418 |
|
---|
419 | typedef struct _LOCALGROUP_INFO_1 {
|
---|
420 | LPWSTR lgrpi1_name;
|
---|
421 | LPWSTR lgrpi1_comment;
|
---|
422 | } LOCALGROUP_INFO_1, *PLOCALGROUP_INFO_1, *LPLOCALGROUP_INFO_1;
|
---|
423 |
|
---|
424 | typedef struct _LOCALGROUP_INFO_1002 {
|
---|
425 | LPWSTR lgrpi1002_comment;
|
---|
426 | } LOCALGROUP_INFO_1002, *PLOCALGROUP_INFO_1002, *LPLOCALGROUP_INFO_1002;
|
---|
427 |
|
---|
428 | typedef struct _LOCALGROUP_MEMBERS_INFO_0 {
|
---|
429 | PSID lgrmi0_sid;
|
---|
430 | } LOCALGROUP_MEMBERS_INFO_0, *PLOCALGROUP_MEMBERS_INFO_0, *LPLOCALGROUP_MEMBERS_INFO_0;
|
---|
431 |
|
---|
432 | typedef struct _LOCALGROUP_MEMBERS_INFO_1 {
|
---|
433 | PSID lgrmi1_sid;
|
---|
434 | SID_NAME_USE lgrmi1_sidusage;
|
---|
435 | LPWSTR lgrmi1_name;
|
---|
436 | } LOCALGROUP_MEMBERS_INFO_1, *PLOCALGROUP_MEMBERS_INFO_1, *LPLOCALGROUP_MEMBERS_INFO_1;
|
---|
437 |
|
---|
438 | typedef struct _LOCALGROUP_MEMBERS_INFO_2 {
|
---|
439 | PSID lgrmi2_sid;
|
---|
440 | SID_NAME_USE lgrmi2_sidusage;
|
---|
441 | LPWSTR lgrmi2_domainandname;
|
---|
442 | } LOCALGROUP_MEMBERS_INFO_2, *PLOCALGROUP_MEMBERS_INFO_2, *LPLOCALGROUP_MEMBERS_INFO_2;
|
---|
443 |
|
---|
444 | typedef struct _LOCALGROUP_MEMBERS_INFO_3 {
|
---|
445 | LPWSTR lgrmi3_domainandname;
|
---|
446 | } LOCALGROUP_MEMBERS_INFO_3, *PLOCALGROUP_MEMBERS_INFO_3, *LPLOCALGROUP_MEMBERS_INFO_3;
|
---|
447 |
|
---|
448 | typedef struct _LOCALGROUP_USERS_INFO_0 {
|
---|
449 | LPWSTR lgrui0_name;
|
---|
450 | } LOCALGROUP_USERS_INFO_0, *PLOCALGROUP_USERS_INFO_0, *LPLOCALGROUP_USERS_INFO_0;
|
---|
451 |
|
---|
452 | #define USER_PRIV_GUEST 0
|
---|
453 | #define USER_PRIV_USER 1
|
---|
454 | #define USER_PRIV_ADMIN 2
|
---|
455 | #define USER_PRIV_MASK 3
|
---|
456 |
|
---|
457 | #define LOCALGROUP_NAME_PARMNUM 1
|
---|
458 | #define LOCALGROUP_COMMENT_PARMNUM 2
|
---|
459 |
|
---|
460 | NET_API_STATUS WINAPI NetGetDCName(LPCWSTR,LPCWSTR,LPBYTE*);
|
---|
461 | NET_API_STATUS WINAPI NetGroupEnum(LPCWSTR,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
|
---|
462 | NET_API_STATUS WINAPI NetLocalGroupAdd(LPCWSTR,DWORD,LPBYTE,LPDWORD);
|
---|
463 | NET_API_STATUS WINAPI NetLocalGroupAddMember(LPCWSTR,LPCWSTR,PSID);
|
---|
464 | NET_API_STATUS WINAPI NetLocalGroupAddMembers(LPCWSTR,LPCWSTR,DWORD,LPBYTE,DWORD);
|
---|
465 | NET_API_STATUS WINAPI NetLocalGroupDel(LPCWSTR,LPCWSTR);
|
---|
466 | NET_API_STATUS WINAPI NetLocalGroupDelMember(LPCWSTR,LPCWSTR,PSID);
|
---|
467 | NET_API_STATUS WINAPI NetLocalGroupDelMembers(LPCWSTR,LPCWSTR,DWORD,LPBYTE,DWORD);
|
---|
468 | NET_API_STATUS WINAPI NetLocalGroupEnum(LPCWSTR,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,PDWORD_PTR);
|
---|
469 | NET_API_STATUS WINAPI NetLocalGroupGetInfo(LPCWSTR,LPCWSTR,DWORD,LPBYTE*);
|
---|
470 | NET_API_STATUS WINAPI NetLocalGroupGetMembers(LPCWSTR,LPCWSTR,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,PDWORD_PTR);
|
---|
471 | NET_API_STATUS WINAPI NetLocalGroupSetInfo(LPCWSTR,LPCWSTR,DWORD,LPBYTE,LPDWORD);
|
---|
472 | NET_API_STATUS WINAPI NetLocalGroupSetMembers(LPCWSTR,LPCWSTR,DWORD,LPBYTE,DWORD);
|
---|
473 | NET_API_STATUS WINAPI NetQueryDisplayInformation(LPCWSTR,DWORD,DWORD,DWORD,DWORD,LPDWORD,PVOID*);
|
---|
474 | NET_API_STATUS WINAPI NetUserAdd(LPCWSTR,DWORD,LPBYTE,LPDWORD);
|
---|
475 | NET_API_STATUS WINAPI NetUserChangePassword(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
|
---|
476 | NET_API_STATUS WINAPI NetUserDel(LPCWSTR,LPCWSTR);
|
---|
477 | NET_API_STATUS WINAPI NetUserEnum(LPCWSTR,DWORD,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
|
---|
478 | NET_API_STATUS WINAPI NetUserGetInfo(LPCWSTR,LPCWSTR,DWORD,LPBYTE*);
|
---|
479 | NET_API_STATUS WINAPI NetUserGetGroups(LPCWSTR,LPCWSTR,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD);
|
---|
480 | NET_API_STATUS WINAPI NetUserGetLocalGroups(LPCWSTR,LPCWSTR,DWORD,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD);
|
---|
481 | NET_API_STATUS WINAPI NetUserModalsGet(LPCWSTR,DWORD,LPBYTE*);
|
---|
482 |
|
---|
483 | #ifdef __cplusplus
|
---|
484 | }
|
---|
485 | #endif
|
---|
486 |
|
---|
487 | #endif
|
---|