4 wkssvc interface definitions
7 import
"srvsvc.idl", "lsa.idl";
9 [ uuid("6bffd098-a112-3610-9833-46c3f87e345a"),
11 pointer_default(unique),
12 helpstring("Workstation Service"),
13 endpoint("ncacn_np:[\\pipe\\wkssvc]","ncacn_ip_tcp:","ncalrpc:")
16 typedef [v1_enum] enum srvsvc_PlatformId srvsvc_PlatformId
;
24 srvsvc_PlatformId platform_id
;
25 [string,charset
(UTF16
)] uint16
*server_name
;
26 [string,charset
(UTF16
)] uint16
*domain_name
;
29 } wkssvc_NetWkstaInfo100
;
32 srvsvc_PlatformId platform_id
;
33 [string,charset
(UTF16
)] uint16
*server_name
;
34 [string,charset
(UTF16
)] uint16
*domain_name
;
37 [string,charset
(UTF16
)] uint16
*lan_root
;
38 } wkssvc_NetWkstaInfo101
;
41 srvsvc_PlatformId platform_id
;
42 [string,charset
(UTF16
)] uint16
*server_name
;
43 [string,charset
(UTF16
)] uint16
*domain_name
;
46 [string,charset
(UTF16
)] uint16
*lan_root
;
47 uint32 logged_on_users
;
48 } wkssvc_NetWkstaInfo102
;
54 uint32 collection_time
;
55 uint32 maximum_collection_count
;
56 uint32 keep_connection
;
58 uint32 session_timeout
;
62 uint32 lock_increment
;
64 uint32 pipe_increment
;
66 uint32 cache_file_timeout
;
67 uint32 dormant_file_limit
;
68 uint32 read_ahead_throughput
;
69 uint32 num_mailslot_buffers
;
70 uint32 num_srv_announce_buffers
;
71 uint32 max_illegal_dgram_events
;
72 uint32 dgram_event_reset_freq
;
73 BOOL log_election_packets
;
74 BOOL use_opportunistic_locking
;
75 BOOL use_unlock_behind
;
76 BOOL use_close_behind
;
78 BOOL use_lock_read_unlock
;
79 BOOL utilize_nt_caching
;
82 BOOL use_write_raw_data
;
84 BOOL buf_files_deny_write
;
85 BOOL buf_read_only_files
;
86 BOOL force_core_create_mode
;
87 BOOL use_512_byte_max_transfer
;
88 } wkssvc_NetWkstaInfo502
;
92 } wkssvc_NetWkstaInfo1010
;
95 uint32 collection_time
;
96 } wkssvc_NetWkstaInfo1011
;
99 uint32 maximum_collection_count
;
100 } wkssvc_NetWkstaInfo1012
;
103 uint32 keep_connection
;
104 } wkssvc_NetWkstaInfo1013
;
107 uint32 session_timeout
;
108 } wkssvc_NetWkstaInfo1018
;
111 uint32 size_char_buf
;
112 } wkssvc_NetWkstaInfo1023
;
116 } wkssvc_NetWkstaInfo1027
;
120 uint32 print_buf_time
;
121 } wkssvc_NetWkstaInfo1028
;
125 uint32 wrk_heuristics
;
126 } wkssvc_NetWkstaInfo1032
;
130 } wkssvc_NetWkstaInfo1033
;
134 } wkssvc_NetWkstaInfo1041
;
137 uint32 lock_increment
;
138 } wkssvc_NetWkstaInfo1042
;
142 } wkssvc_NetWkstaInfo1043
;
145 uint32 pipe_increment
;
146 } wkssvc_NetWkstaInfo1044
;
150 } wkssvc_NetWkstaInfo1045
;
153 uint32 dormant_file_limit
;
154 } wkssvc_NetWkstaInfo1046
;
157 uint32 cache_file_timeout
;
158 } wkssvc_NetWkstaInfo1047
;
161 uint32 use_opportunistic_locking
;
162 } wkssvc_NetWkstaInfo1048
;
165 uint32 use_unlock_behind
;
166 } wkssvc_NetWkstaInfo1049
;
169 uint32 use_close_behind
;
170 } wkssvc_NetWkstaInfo1050
;
173 uint32 buf_named_pipes
;
174 } wkssvc_NetWkstaInfo1051
;
177 uint32 use_lock_read_unlock
;
178 } wkssvc_NetWkstaInfo1052
;
181 uint32 utilize_nt_caching
;
182 } wkssvc_NetWkstaInfo1053
;
186 } wkssvc_NetWkstaInfo1054
;
189 uint32 use_raw_write
;
190 } wkssvc_NetWkstaInfo1055
;
193 uint32 use_write_raw_data
;
194 } wkssvc_NetWkstaInfo1056
;
197 uint32 use_encryption
;
198 } wkssvc_NetWkstaInfo1057
;
201 uint32 buf_files_deny_write
;
202 } wkssvc_NetWkstaInfo1058
;
205 uint32 buf_read_only_files
;
206 } wkssvc_NetWkstaInfo1059
;
209 uint32 force_core_create_mode
;
210 } wkssvc_NetWkstaInfo1060
;
213 uint32 use_512_byte_max_transfer
;
214 } wkssvc_NetWkstaInfo1061
;
217 uint32 read_ahead_throughput
;
218 } wkssvc_NetWkstaInfo1062
;
221 [case(100)] wkssvc_NetWkstaInfo100
*info100
;
222 [case(101)] wkssvc_NetWkstaInfo101
*info101
;
223 [case(102)] wkssvc_NetWkstaInfo102
*info102
;
224 [case(502)] wkssvc_NetWkstaInfo502
*info502
;
225 [case(1010)] wkssvc_NetWkstaInfo1010
*info1010
;
226 [case(1011)] wkssvc_NetWkstaInfo1011
*info1011
;
227 [case(1012)] wkssvc_NetWkstaInfo1012
*info1012
;
228 [case(1013)] wkssvc_NetWkstaInfo1013
*info1013
;
229 [case(1018)] wkssvc_NetWkstaInfo1018
*info1018
;
230 [case(1023)] wkssvc_NetWkstaInfo1023
*info1023
;
231 [case(1027)] wkssvc_NetWkstaInfo1027
*info1027
;
232 [case(1028)] wkssvc_NetWkstaInfo1028
*info1028
;
233 [case(1032)] wkssvc_NetWkstaInfo1032
*info1032
;
234 [case(1033)] wkssvc_NetWkstaInfo1033
*info1033
;
235 [case(1041)] wkssvc_NetWkstaInfo1041
*info1041
;
236 [case(1042)] wkssvc_NetWkstaInfo1042
*info1042
;
237 [case(1043)] wkssvc_NetWkstaInfo1043
*info1043
;
238 [case(1044)] wkssvc_NetWkstaInfo1044
*info1044
;
239 [case(1045)] wkssvc_NetWkstaInfo1045
*info1045
;
240 [case(1046)] wkssvc_NetWkstaInfo1046
*info1046
;
241 [case(1047)] wkssvc_NetWkstaInfo1047
*info1047
;
242 [case(1048)] wkssvc_NetWkstaInfo1048
*info1048
;
243 [case(1049)] wkssvc_NetWkstaInfo1049
*info1049
;
244 [case(1050)] wkssvc_NetWkstaInfo1050
*info1050
;
245 [case(1051)] wkssvc_NetWkstaInfo1051
*info1051
;
246 [case(1052)] wkssvc_NetWkstaInfo1052
*info1052
;
247 [case(1053)] wkssvc_NetWkstaInfo1053
*info1053
;
248 [case(1054)] wkssvc_NetWkstaInfo1054
*info1054
;
249 [case(1055)] wkssvc_NetWkstaInfo1055
*info1055
;
250 [case(1056)] wkssvc_NetWkstaInfo1056
*info1056
;
251 [case(1057)] wkssvc_NetWkstaInfo1057
*info1057
;
252 [case(1058)] wkssvc_NetWkstaInfo1058
*info1058
;
253 [case(1059)] wkssvc_NetWkstaInfo1059
*info1059
;
254 [case(1060)] wkssvc_NetWkstaInfo1060
*info1060
;
255 [case(1061)] wkssvc_NetWkstaInfo1061
*info1061
;
256 [case(1062)] wkssvc_NetWkstaInfo1062
*info1062
;
258 } wkssvc_NetWkstaInfo
;
260 WERROR wkssvc_NetWkstaGetInfo
(
261 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
263 [out,switch_is(level
),ref] wkssvc_NetWkstaInfo
*info
269 WERROR wkssvc_NetWkstaSetInfo
(
270 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
272 [in,switch_is(level
),ref] wkssvc_NetWkstaInfo
*info
,
273 [in,out,ref] uint32
*parm_error
277 /*****************************/
280 [string,charset
(UTF16
)] uint16
*user_name
;
281 } wkssvc_NetrWkstaUserInfo0
;
285 [size_is(entries_read
)] wkssvc_NetrWkstaUserInfo0
*user0
;
286 } wkssvc_NetWkstaEnumUsersCtr0
;
289 [string,charset
(UTF16
)] uint16
*user_name
;
290 [string,charset
(UTF16
)] uint16
*logon_domain
;
291 [string,charset
(UTF16
)] uint16
*other_domains
;
292 [string,charset
(UTF16
)] uint16
*logon_server
;
293 } wkssvc_NetrWkstaUserInfo1
;
297 [size_is(entries_read
)] wkssvc_NetrWkstaUserInfo1
*user1
;
298 } wkssvc_NetWkstaEnumUsersCtr1
;
300 typedef [switch_type(uint32
)] union {
301 [case(0)] wkssvc_NetWkstaEnumUsersCtr0
*user0
;
302 [case(1)] wkssvc_NetWkstaEnumUsersCtr1
*user1
;
303 } wkssvc_NetWkstaEnumUsersCtr
;
307 [switch_is(level
)] wkssvc_NetWkstaEnumUsersCtr ctr
;
308 } wkssvc_NetWkstaEnumUsersInfo
;
310 WERROR wkssvc_NetWkstaEnumUsers
(
311 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
312 [in,out,ref] wkssvc_NetWkstaEnumUsersInfo
*info
,
313 [in] uint32 prefmaxlen
,
314 [out,ref] uint32
*entries_read
,
315 [in,out,unique] uint32
*resume_handle
318 /*****************************/
321 [string,charset
(UTF16
)] uint16
*other_domains
;
322 } wkssvc_NetrWkstaUserInfo1101
;
324 typedef [switch_type(uint32
)] union {
325 [case(0)] wkssvc_NetrWkstaUserInfo0
*info0
;
326 [case(1)] wkssvc_NetrWkstaUserInfo1
*info1
;
327 [case(1101)] wkssvc_NetrWkstaUserInfo1101
*info1101
;
328 } wkssvc_NetrWkstaUserInfo
;
330 WERROR wkssvc_NetrWkstaUserGetInfo
(
331 [in,unique] [string,charset
(UTF16
)] uint16
*unknown
,
333 [out,ref] [switch_is(level
)] wkssvc_NetrWkstaUserInfo
*info
336 /*****************************/
338 WERROR wkssvc_NetrWkstaUserSetInfo
(
339 [in,unique] [string,charset
(UTF16
)] uint16
*unknown
,
341 [in,ref] [switch_is(level
)] wkssvc_NetrWkstaUserInfo
*info
,
342 [in,out,unique] uint32
*parm_err
345 /*****************************/
349 uint32 quality_of_service
;
351 [string,charset
(UTF16
)] uint16
*name
;
352 [string,charset
(UTF16
)] uint16
*address
;
354 } wkssvc_NetWkstaTransportInfo0
;
358 [size_is(count
)] wkssvc_NetWkstaTransportInfo0
*array
;
359 } wkssvc_NetWkstaTransportCtr0
;
362 [case(0)] wkssvc_NetWkstaTransportCtr0
*ctr0
;
363 } wkssvc_NetWkstaTransportCtr
;
367 [switch_is(level
)] wkssvc_NetWkstaTransportCtr ctr
;
368 } wkssvc_NetWkstaTransportInfo
;
370 WERROR wkssvc_NetWkstaTransportEnum
(
371 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
372 [in,out,ref] wkssvc_NetWkstaTransportInfo
*info
,
373 [in] uint32 max_buffer
,
374 [out,ref] uint32
*total_entries
,
375 [in,out,unique] uint32
*resume_handle
378 /*****************************/
380 /* only supported on NT */
381 WERROR wkssvc_NetrWkstaTransportAdd
(
382 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
383 [in] uint32 level
, /* must be 0 */
384 [in,ref] wkssvc_NetWkstaTransportInfo0
*info0
,
385 [in,out,unique] uint32
*parm_err
388 /*****************************/
390 /* only supported on NT */
391 WERROR wkssvc_NetrWkstaTransportDel
(
392 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
393 [in,unique] [string,charset
(UTF16
)] uint16
*transport_name
,
397 /*****************************/
400 [string,charset
(UTF16
)] uint16
*unknown1
;
401 [string,charset
(UTF16
)] uint16
*unknown2
;
402 } wkssvc_NetrUseInfo3
;
405 [string,charset
(UTF16
)] uint16
*local;
406 [string,charset
(UTF16
)] uint16
*remote
;
407 [string,charset
(UTF16
)] uint16
*password
;
412 [string,charset
(UTF16
)] uint16
*user_name
;
413 [string,charset
(UTF16
)] uint16
*domain_name
;
414 } wkssvc_NetrUseInfo2
;
417 [string,charset
(UTF16
)] uint16
*local;
418 [string,charset
(UTF16
)] uint16
*remote
;
419 [string,charset
(UTF16
)] uint16
*password
;
424 } wkssvc_NetrUseInfo1
;
427 [string,charset
(UTF16
)] uint16
*local;
428 [string,charset
(UTF16
)] uint16
*remote
;
429 } wkssvc_NetrUseInfo0
;
431 typedef [switch_type(uint32
)] union {
432 [case(0)] wkssvc_NetrUseInfo0
*info0
;
433 [case(1)] wkssvc_NetrUseInfo1
*info1
;
434 [case(2)] wkssvc_NetrUseInfo2
*info2
;
435 [case(3)] wkssvc_NetrUseInfo3
*info3
;
436 } wkssvc_NetrUseGetInfoCtr
;
438 WERROR wkssvc_NetrUseAdd
(
439 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
441 [in,ref] [switch_is(level
)] wkssvc_NetrUseGetInfoCtr
*ctr
,
442 [in,out,unique] uint32
*parm_err
445 /*****************************/
447 WERROR wkssvc_NetrUseGetInfo
(
448 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
449 [in,ref] [string,charset
(UTF16
)] uint16
*use_name
,
451 [out,ref] [switch_is(level
)] wkssvc_NetrUseGetInfoCtr
*ctr
454 /*****************************/
456 WERROR wkssvc_NetrUseDel
(
457 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
458 [in,ref] [string,charset
(UTF16
)] uint16
*use_name
,
459 [in] uint32 force_cond
462 /*****************************/
466 [size_is(count
)] wkssvc_NetrUseInfo2
*array
;
467 } wkssvc_NetrUseEnumCtr2
;
471 [size_is(count
)] wkssvc_NetrUseInfo1
*array
;
472 } wkssvc_NetrUseEnumCtr1
;
476 [size_is(count
)] wkssvc_NetrUseInfo0
*array
;
477 } wkssvc_NetrUseEnumCtr0
;
479 typedef [switch_type(uint32
)] union {
480 [case(0)] wkssvc_NetrUseEnumCtr0
*ctr0
;
481 [case(1)] wkssvc_NetrUseEnumCtr1
*ctr1
;
482 [case(2)] wkssvc_NetrUseEnumCtr2
*ctr2
;
483 } wkssvc_NetrUseEnumCtr
;
487 [switch_is(level
)] wkssvc_NetrUseEnumCtr ctr
;
488 } wkssvc_NetrUseEnumInfo
;
490 WERROR wkssvc_NetrUseEnum
(
491 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
492 [in,out,ref] wkssvc_NetrUseEnumInfo
*info
,
493 [in] uint32 prefmaxlen
,
494 [out,ref] uint32
*entries_read
,
495 [in,out,unique] uint32
*resume_handle
498 /*****************************/
500 WERROR wkssvc_NetrMessageBufferSend
(
501 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
502 [in,ref] [string,charset
(UTF16
)] uint16
*message_name
,
503 [in,unique] [string,charset
(UTF16
)] uint16
*message_sender_name
,
504 [in,ref] [size_is(message_size
)] uint8
*message_buffer
,
505 [in] uint32 message_size
508 /*****************************/
551 } wkssvc_NetrWorkstationStatistics
;
553 WERROR wkssvc_NetrWorkstationStatisticsGet
(
554 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
555 [in,unique] [string,charset
(UTF16
)] uint16
*unknown2
,
556 [in] uint32 unknown3
,
557 [in] uint32 unknown4
,
558 [out,ref] wkssvc_NetrWorkstationStatistics
**info
561 /*****************************/
563 WERROR wkssvc_NetrLogonDomainNameAdd
(
564 [in,ref] [string,charset
(UTF16
)] uint16
*domain_name
567 /*****************************/
569 WERROR wkssvc_NetrLogonDomainNameDel
(
570 [in,ref] [string,charset
(UTF16
)] uint16
*domain_name
573 /*****************************/
575 WERROR wkssvc_NetrJoinDomain
(
576 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
577 [in,ref] [string,charset
(UTF16
)] uint16
*domain_name
,
578 [in,unique] [string,charset
(UTF16
)] uint16
*account_ou
,
579 [in,unique] [string,charset
(UTF16
)] uint16
*Account
,
580 [in,unique] [string,charset
(UTF16
)] uint16
*password
,
581 [in] wkssvc_joinflags join_flags
584 /*****************************/
586 WERROR wkssvc_NetrUnjoinDomain
(
587 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
588 [in,unique] [string,charset
(UTF16
)] uint16
*Account
,
589 [in,unique] [string,charset
(UTF16
)] uint16
*password
,
590 [in] wkssvc_joinflags unjoin_flags
593 /*****************************/
595 typedef [bitmap32bit
] bitmap
{
596 /* TRUE: create the account in the domain */
597 WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE
= 0x00000002
598 } wkssvc_renameflags
;
600 WERROR wkssvc_NetrRenameMachineInDomain
(
601 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
602 [in,unique] [string,charset
(UTF16
)] uint16
*NewMachineName
,
603 [in,unique] [string,charset
(UTF16
)] uint16
*Account
,
604 [in,unique] [string,charset
(UTF16
)] uint16
*password
,
605 [in] wkssvc_renameflags RenameOptions
608 /*****************************/
613 NetSetupWorkgroup
= 2,
615 NetSetupNonExistentDomain
= 4,
616 NetSetupDnsMachine
= 5
617 } wkssvc_NetValidateNameType
;
619 WERROR wkssvc_NetrValidateName
(
620 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
621 [in,ref] [string,charset
(UTF16
)] uint16
*name
,
622 [in,unique] [string,charset
(UTF16
)] uint16
*Account
,
623 [in,unique] [string,charset
(UTF16
)] uint16
*Password
,
624 [in] wkssvc_NetValidateNameType name_type
627 /*****************************/
630 NET_SETUP_UNKNOWN_STATUS
= 0,
631 NET_SETUP_UNJOINED
= 1,
632 NET_SETUP_WORKGROUP_NAME
= 2,
633 NET_SETUP_DOMAIN_NAME
= 3
634 } wkssvc_NetJoinStatus
;
636 WERROR wkssvc_NetrGetJoinInformation
(
637 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
638 [in,out,ref] [string,charset
(UTF16
)] uint16
**name_buffer
,
639 [out,ref] wkssvc_NetJoinStatus
*name_type
642 /*****************************/
644 WERROR wkssvc_NetrGetJoinableOus
(
645 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
646 [in,ref] [string,charset
(UTF16
)] uint16
*domain_name
,
647 [in,unique] [string,charset
(UTF16
)] uint16
*Account
,
648 [in,unique] [string,charset
(UTF16
)] uint16
*unknown
,
649 [in,out,ref] uint32
*num_ous
,
651 * this is a [ref] pointer to a [unique] pointer to an
652 * array of [unique] pointers to a string array
654 [out,ref] [size_is(,*num_ous
)] [string,charset
(UTF16
)] uint16
***ous
657 typedef [flag
(NDR_PAHEX
)] struct {
659 } wkssvc_PasswordBuffer
;
661 typedef [bitmap32bit
] bitmap
{
662 WKSSVC_JOIN_FLAGS_IGNORE_UNSUPPORTED_FLAGS
= 0x10000000,
663 WKSSVC_JOIN_FLAGS_JOIN_WITH_NEW_NAME
= 0x00000400,
664 WKSSVC_JOIN_FLAGS_JOIN_DC_ACCOUNT
= 0x00000200,
665 /* TRUE: defer setting the SPN and dNSHostName until a rename operation */
666 WKSSVC_JOIN_FLAGS_DEFER_SPN
= 0x00000100,
668 /* TRUE: set the machine password to the provided one after the join completes */
669 WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED
= 0x00000080,
671 /* TRUE: perform an unsecured join */
672 WKSSVC_JOIN_FLAGS_JOIN_UNSECURE
= 0x00000040,
674 /* TRUE: allow the join to complete even if the account already exists */
675 WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED
= 0x00000020,
677 /* TRUE: this join is part of a w9x upgrade */
678 WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE
= 0x00000010,
680 /* TRUE: delete the account when the domain is left */
681 WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE
= 0x00000004,
683 /* TRUE: create the account in the domain */
684 WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE
= 0x00000002,
686 /* TRUE: join domain FALSE: join workgroup */
687 WKSSVC_JOIN_FLAGS_JOIN_TYPE
= 0x00000001
691 /*****************************/
693 WERROR wkssvc_NetrJoinDomain2
(
694 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
695 [in,ref] [string,charset
(UTF16
)] uint16
*domain_name
,
696 [in,unique] [string,charset
(UTF16
)] uint16
*account_ou
,
697 [in,unique] [string,charset
(UTF16
)] uint16
*admin_account
,
698 [in,unique] wkssvc_PasswordBuffer
*encrypted_password
,
699 [in] wkssvc_joinflags join_flags
702 /*****************************/
704 WERROR wkssvc_NetrUnjoinDomain2
(
705 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
706 [in,unique] [string,charset
(UTF16
)] uint16
*account
,
707 [in,unique] wkssvc_PasswordBuffer
*encrypted_password
,
708 [in] wkssvc_joinflags unjoin_flags
711 /*****************************/
713 WERROR wkssvc_NetrRenameMachineInDomain2
(
714 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
715 [in,unique] [string,charset
(UTF16
)] uint16
*NewMachineName
,
716 [in,unique] [string,charset
(UTF16
)] uint16
*Account
,
717 [in,unique] wkssvc_PasswordBuffer
*EncryptedPassword
,
718 [in] wkssvc_renameflags RenameOptions
721 /*****************************/
723 WERROR wkssvc_NetrValidateName2
(
724 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
725 [in,ref] [string,charset
(UTF16
)] uint16
*name
,
726 [in,unique] [string,charset
(UTF16
)] uint16
*Account
,
727 [in,unique] wkssvc_PasswordBuffer
*EncryptedPassword
,
728 [in] wkssvc_NetValidateNameType name_type
731 /*****************************/
733 WERROR wkssvc_NetrGetJoinableOus2
(
734 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
735 [in,ref] [string,charset
(UTF16
)] uint16
*domain_name
,
736 [in,unique] [string,charset
(UTF16
)] uint16
*Account
,
737 [in,unique] wkssvc_PasswordBuffer
*EncryptedPassword
,
738 [in,out,ref] uint32
*num_ous
,
740 * this is a [ref] pointer to a [unique] pointer to an
741 * array of [unique] pointers to a string array
743 [out,ref] [size_is(,*num_ous
)] [string,charset
(UTF16
)] uint16
***ous
746 /*****************************/
748 WERROR wkssvc_NetrAddAlternateComputerName
(
749 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
750 [in,unique] [string,charset
(UTF16
)] uint16
*NewAlternateMachineName
,
751 [in,unique] [string,charset
(UTF16
)] uint16
*Account
,
752 [in,unique] wkssvc_PasswordBuffer
*EncryptedPassword
,
756 /*****************************/
758 WERROR wkssvc_NetrRemoveAlternateComputerName
(
759 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
760 [in,unique] [string,charset
(UTF16
)] uint16
*AlternateMachineNameToRemove
,
761 [in,unique] [string,charset
(UTF16
)] uint16
*Account
,
762 [in,unique] wkssvc_PasswordBuffer
*EncryptedPassword
,
766 /*****************************/
768 WERROR wkssvc_NetrSetPrimaryComputername
(
769 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
770 [in,unique] [string,charset
(UTF16
)] uint16
*primary_name
,
771 [in,unique] [string,charset
(UTF16
)] uint16
*Account
,
772 [in,unique] wkssvc_PasswordBuffer
*EncryptedPassword
,
776 /*****************************/
779 NetPrimaryComputerName
= 0,
780 NetAlternateComputerNames
= 1,
781 NetAllComputerNames
= 2,
782 NetComputerNameTypeMax
= 3
783 } wkssvc_ComputerNameType
;
787 [size_is(count
)] lsa_String
*computer_name
;
788 } wkssvc_ComputerNamesCtr
;
790 WERROR wkssvc_NetrEnumerateComputerNames
(
791 [in,unique] [string,charset
(UTF16
)] uint16
*server_name
,
792 [in] wkssvc_ComputerNameType name_type
,
793 [in] uint32 Reserved
,
794 [out,ref] wkssvc_ComputerNamesCtr
**ctr