1 /* header auto-generated by pidl */
10 struct policy_handle *handle;
26 struct samr_SetSecurity {
36 struct samr_QuerySecurity {
46 struct samr_Shutdown {
62 struct samr_LookupDomain {
64 struct policy_handle *handle;
65 struct samr_Name *domain;
75 struct samr_SamEntry {
77 struct samr_Name name;
80 struct samr_SamArray {
82 struct samr_SamEntry *entries;
85 struct samr_EnumDomains {
87 struct policy_handle *handle;
88 uint32 *resume_handle;
93 uint32 *resume_handle;
94 struct samr_SamArray *sam;
101 struct samr_OpenDomain {
103 struct policy_handle *handle;
105 struct dom_sid2 *sid;
109 struct policy_handle *domain_handle;
115 struct samr_DomInfo1 {
116 uint16 min_length_password;
117 uint16 password_history;
120 NTTIME min_passwordage;
123 struct samr_DomInfo2 {
124 HYPER_T force_logoff_time;
125 struct samr_Name unknown_name;
126 struct samr_Name domain;
127 struct samr_Name primary;
128 HYPER_T sequence_num;
137 struct samr_DomInfo3 {
138 HYPER_T force_logoff_time;
141 struct samr_DomInfo4 {
142 struct samr_Name unknown_name;
145 struct samr_DomInfo5 {
146 struct samr_Name domain;
149 struct samr_DomInfo6 {
150 struct samr_Name primary;
153 struct samr_DomInfo7 {
157 struct samr_DomInfo8 {
158 HYPER_T sequence_num;
159 NTTIME last_xxx_time;
162 struct samr_DomInfo9 {
166 struct samr_DomInfo11 {
167 HYPER_T force_logoff_time;
168 struct samr_Name unknown_name;
169 struct samr_Name domain;
170 struct samr_Name primary;
171 HYPER_T sequence_num;
178 HYPER_T lockout_duration;
179 HYPER_T lockout_window;
180 uint16 lockout_threshold;
183 struct samr_DomInfo12 {
184 HYPER_T lockout_duration;
185 HYPER_T lockout_window;
186 uint16 lockout_threshold;
189 struct samr_DomInfo13 {
190 HYPER_T sequence_num;
191 NTTIME last_xxx_time;
196 union samr_DomainInfo {
197 /* [case(1)] */ struct samr_DomInfo1 info1;
198 /* [case(2)] */ struct samr_DomInfo2 info2;
199 /* [case(3)] */ struct samr_DomInfo3 info3;
200 /* [case(4)] */ struct samr_DomInfo4 info4;
201 /* [case(5)] */ struct samr_DomInfo5 info5;
202 /* [case(6)] */ struct samr_DomInfo6 info6;
203 /* [case(7)] */ struct samr_DomInfo7 info7;
204 /* [case(8)] */ struct samr_DomInfo8 info8;
205 /* [case(9)] */ struct samr_DomInfo9 info9;
206 /* [case(11)] */ struct samr_DomInfo11 info11;
207 /* [case(12)] */ struct samr_DomInfo12 info12;
208 /* [case(13)] */ struct samr_DomInfo13 info13;
211 struct samr_QueryDomainInfo {
213 struct policy_handle *handle;
218 union samr_DomainInfo *info;
224 struct samr_SET_DOMAIN_INFO {
234 struct samr_CREATE_DOM_GROUP {
244 struct samr_EnumDomainGroups {
246 struct policy_handle *handle;
247 uint32 *resume_handle;
252 uint32 *resume_handle;
253 struct samr_SamArray *sam;
260 struct samr_CREATE_USER_IN_DOMAIN {
270 struct samr_EnumDomainUsers {
272 struct policy_handle *handle;
273 uint32 *resume_handle;
279 uint32 *resume_handle;
280 struct samr_SamArray *sam;
287 struct samr_CREATE_DOM_ALIAS {
297 struct samr_EnumDomainAliases {
299 struct policy_handle *handle;
300 uint32 *resume_handle;
305 uint32 *resume_handle;
306 struct samr_SamArray *sam;
313 struct samr_GET_ALIAS_MEMBERSHIP {
323 struct samr_LOOKUP_NAMES {
333 struct samr_LOOKUP_RIDS {
343 struct samr_OPEN_GROUP {
353 struct samr_QUERY_GROUPINFO {
363 struct samr_SET_GROUPINFO {
373 struct samr_ADD_GROUPMEM {
383 struct samr_DELETE_DOM_GROUP {
393 struct samr_DEL_GROUPMEM {
403 struct samr_QUERY_GROUPMEM {
413 struct samr_SET_MEMBER_ATTRIBUTES_OF_GROUP {
423 struct samr_OPEN_ALIAS {
433 struct samr_QUERY_ALIASINFO {
443 struct samr_SET_ALIASINFO {
453 struct samr_DELETE_DOM_ALIAS {
463 struct samr_ADD_ALIASMEM {
473 struct samr_DEL_ALIASMEM {
483 struct samr_GET_MEMBERS_IN_ALIAS {
493 struct samr_OpenUser {
495 struct policy_handle *handle;
501 struct policy_handle *acct_handle;
507 struct samr_DELETE_DOM_USER {
517 struct samr_UserInfo1 {
518 struct samr_Name username;
519 struct samr_Name full_name;
520 uint32 primary_group_rid;
521 struct samr_Name description;
522 struct samr_Name comment;
525 struct samr_UserInfo2 {
526 struct samr_Name comment;
533 struct samr_UserInfo3 {
534 struct samr_Name username;
535 struct samr_Name full_name;
537 uint32 primary_group_rid;
538 struct samr_Name home_directory;
539 struct samr_Name home_drive;
540 struct samr_Name logon_script;
541 struct samr_Name profile;
542 struct samr_Name workstations;
545 NTTIME last_pwd_change;
546 NTTIME allow_pwd_change;
547 NTTIME force_pwd_change;
548 uint32 units_per_week;
550 uint16 bad_pwd_count;
555 struct samr_UserInfo4 {
556 uint32 units_per_week;
560 struct samr_UserInfo5 {
561 struct samr_Name username;
562 struct samr_Name full_name;
564 uint32 primary_group_rid;
565 struct samr_Name home_directory;
566 struct samr_Name home_drive;
567 struct samr_Name logon_script;
568 struct samr_Name profile;
569 struct samr_Name descriptiom;
570 struct samr_Name workstations;
573 uint32 units_per_week;
576 NTTIME last_pwd_change;
581 struct samr_UserInfo6 {
582 struct samr_Name userid;
583 struct samr_Name full_name;
586 struct samr_UserInfo7 {
587 struct samr_Name userid;
590 struct samr_UserInfo8 {
591 struct samr_Name full_name;
594 struct samr_UserInfo9 {
595 uint32 PrimaryGroupRid;
598 struct samr_UserInfo10 {
599 struct samr_Name home_dir;
600 struct samr_Name home_drive;
603 struct samr_UserInfo11 {
604 struct samr_Name logon_script;
607 struct samr_UserInfo12 {
608 struct samr_Name profile;
611 struct samr_UserInfo13 {
612 struct samr_Name descriptiom;
615 struct samr_UserInfo14 {
616 struct samr_Name workstations;
619 struct samr_UserInfo16 {
623 struct samr_UserInfo17 {
627 struct samr_UserInfo20 {
628 struct samr_Name callback;
631 union samr_UserInfo {
632 /* [case(1)] */ struct samr_UserInfo1 info1;
633 /* [case(2)] */ struct samr_UserInfo2 info2;
634 /* [case(3)] */ struct samr_UserInfo3 info3;
635 /* [case(4)] */ struct samr_UserInfo4 info4;
636 /* [case(5)] */ struct samr_UserInfo5 info5;
637 /* [case(6)] */ struct samr_UserInfo6 info6;
638 /* [case(7)] */ struct samr_UserInfo7 info7;
639 /* [case(8)] */ struct samr_UserInfo8 info8;
640 /* [case(9)] */ struct samr_UserInfo9 info9;
641 /* [case(10)] */ struct samr_UserInfo10 info10;
642 /* [case(11)] */ struct samr_UserInfo11 info11;
643 /* [case(12)] */ struct samr_UserInfo12 info12;
644 /* [case(13)] */ struct samr_UserInfo13 info13;
645 /* [case(14)] */ struct samr_UserInfo14 info14;
646 /* [case(16)] */ struct samr_UserInfo16 info16;
647 /* [case(17)] */ struct samr_UserInfo17 info17;
648 /* [case(20)] */ struct samr_UserInfo20 info20;
651 struct samr_QueryUserInfo {
653 struct policy_handle *handle;
658 union samr_UserInfo *info;
664 struct samr_SET_USERINFO {
674 struct samr_CHANGE_PASSWORD_USER {
684 struct samr_GET_GROUPS_FOR_USER {
694 struct samr_QUERY_DISPINFO {
704 struct samr_GET_DISPLAY_ENUMERATION_INDEX {
714 struct samr_TEST_PRIVATE_FUNCTIONS_DOMAIN {
724 struct samr_TEST_PRIVATE_FUNCTIONS_USER {
734 struct samr_GET_USRDOM_PWINFO {
744 struct samr_REMOVE_MEMBER_FROM_FOREIGN_DOMAIN {
754 struct samr_QUERY_INFORMATION_DOMAIN2 {
764 struct samr_QUERY_INFORMATION_USER2 {
774 struct samr_QUERY_DISPINFO2 {
784 struct samr_GET_DISPLAY_ENUMERATION_INDEX2 {
794 struct samr_CREATE_USER2_IN_DOMAIN {
804 struct samr_QUERY_DISPINFO3 {
814 struct samr_ADD_MULTIPLE_MEMBERS_TO_ALIAS {
824 struct samr_REMOVE_MULTIPLE_MEMBERS_FROM_ALIAS {
834 struct samr_OEM_CHANGE_PASSWORD_USER2 {
844 struct samr_UNICODE_CHANGE_PASSWORD_USER2 {
854 struct samr_GET_DOM_PWINFO {
864 struct samr_CONNECT2 {
874 struct samr_SET_USERINFO2 {
884 struct samr_SET_BOOT_KEY_INFORMATION {
894 struct samr_GET_BOOT_KEY_INFORMATION {
904 struct samr_CONNECT3 {
914 struct samr_Connect4 {
916 const char *system_name;
922 struct policy_handle *handle;
928 struct samr_UNICODE_CHANGE_PASSWORD_USER3 {
938 struct samr_CONNECT5 {
948 struct samr_RID_TO_SID {
958 struct samr_SET_DSRM_PASSWORD {
968 struct samr_VALIDATE_PASSWORD {
978 #define DCERPC_SAMR_CONNECT 0
979 #define DCERPC_SAMR_CLOSE 1
980 #define DCERPC_SAMR_SETSECURITY 2
981 #define DCERPC_SAMR_QUERYSECURITY 3
982 #define DCERPC_SAMR_SHUTDOWN 4
983 #define DCERPC_SAMR_LOOKUPDOMAIN 5
984 #define DCERPC_SAMR_ENUMDOMAINS 6
985 #define DCERPC_SAMR_OPENDOMAIN 7
986 #define DCERPC_SAMR_QUERYDOMAININFO 8
987 #define DCERPC_SAMR_SET_DOMAIN_INFO 9
988 #define DCERPC_SAMR_CREATE_DOM_GROUP 10
989 #define DCERPC_SAMR_ENUMDOMAINGROUPS 11
990 #define DCERPC_SAMR_CREATE_USER_IN_DOMAIN 12
991 #define DCERPC_SAMR_ENUMDOMAINUSERS 13
992 #define DCERPC_SAMR_CREATE_DOM_ALIAS 14
993 #define DCERPC_SAMR_ENUMDOMAINALIASES 15
994 #define DCERPC_SAMR_GET_ALIAS_MEMBERSHIP 16
995 #define DCERPC_SAMR_LOOKUP_NAMES 17
996 #define DCERPC_SAMR_LOOKUP_RIDS 18
997 #define DCERPC_SAMR_OPEN_GROUP 19
998 #define DCERPC_SAMR_QUERY_GROUPINFO 20
999 #define DCERPC_SAMR_SET_GROUPINFO 21
1000 #define DCERPC_SAMR_ADD_GROUPMEM 22
1001 #define DCERPC_SAMR_DELETE_DOM_GROUP 23
1002 #define DCERPC_SAMR_DEL_GROUPMEM 24
1003 #define DCERPC_SAMR_QUERY_GROUPMEM 25
1004 #define DCERPC_SAMR_SET_MEMBER_ATTRIBUTES_OF_GROUP 26
1005 #define DCERPC_SAMR_OPEN_ALIAS 27
1006 #define DCERPC_SAMR_QUERY_ALIASINFO 28
1007 #define DCERPC_SAMR_SET_ALIASINFO 29
1008 #define DCERPC_SAMR_DELETE_DOM_ALIAS 30
1009 #define DCERPC_SAMR_ADD_ALIASMEM 31
1010 #define DCERPC_SAMR_DEL_ALIASMEM 32
1011 #define DCERPC_SAMR_GET_MEMBERS_IN_ALIAS 33
1012 #define DCERPC_SAMR_OPENUSER 34
1013 #define DCERPC_SAMR_DELETE_DOM_USER 35
1014 #define DCERPC_SAMR_QUERYUSERINFO 36
1015 #define DCERPC_SAMR_SET_USERINFO 37
1016 #define DCERPC_SAMR_CHANGE_PASSWORD_USER 38
1017 #define DCERPC_SAMR_GET_GROUPS_FOR_USER 39
1018 #define DCERPC_SAMR_QUERY_DISPINFO 40
1019 #define DCERPC_SAMR_GET_DISPLAY_ENUMERATION_INDEX 41
1020 #define DCERPC_SAMR_TEST_PRIVATE_FUNCTIONS_DOMAIN 42
1021 #define DCERPC_SAMR_TEST_PRIVATE_FUNCTIONS_USER 43
1022 #define DCERPC_SAMR_GET_USRDOM_PWINFO 44
1023 #define DCERPC_SAMR_REMOVE_MEMBER_FROM_FOREIGN_DOMAIN 45
1024 #define DCERPC_SAMR_QUERY_INFORMATION_DOMAIN2 46
1025 #define DCERPC_SAMR_QUERY_INFORMATION_USER2 47
1026 #define DCERPC_SAMR_QUERY_DISPINFO2 48
1027 #define DCERPC_SAMR_GET_DISPLAY_ENUMERATION_INDEX2 49
1028 #define DCERPC_SAMR_CREATE_USER2_IN_DOMAIN 50
1029 #define DCERPC_SAMR_QUERY_DISPINFO3 51
1030 #define DCERPC_SAMR_ADD_MULTIPLE_MEMBERS_TO_ALIAS 52
1031 #define DCERPC_SAMR_REMOVE_MULTIPLE_MEMBERS_FROM_ALIAS 53
1032 #define DCERPC_SAMR_OEM_CHANGE_PASSWORD_USER2 54
1033 #define DCERPC_SAMR_UNICODE_CHANGE_PASSWORD_USER2 55
1034 #define DCERPC_SAMR_GET_DOM_PWINFO 56
1035 #define DCERPC_SAMR_CONNECT2 57
1036 #define DCERPC_SAMR_SET_USERINFO2 58
1037 #define DCERPC_SAMR_SET_BOOT_KEY_INFORMATION 59
1038 #define DCERPC_SAMR_GET_BOOT_KEY_INFORMATION 60
1039 #define DCERPC_SAMR_CONNECT3 61
1040 #define DCERPC_SAMR_CONNECT4 62
1041 #define DCERPC_SAMR_UNICODE_CHANGE_PASSWORD_USER3 63
1042 #define DCERPC_SAMR_CONNECT5 64
1043 #define DCERPC_SAMR_RID_TO_SID 65
1044 #define DCERPC_SAMR_SET_DSRM_PASSWORD 66
1045 #define DCERPC_SAMR_VALIDATE_PASSWORD 67