1 /* header auto-generated by pidl */
3 #define DCERPC_SAMR_UUID "12345778-1234-abcd-ef00-0123456789ac"
4 #define DCERPC_SAMR_VERSION 1.0
5 #define DCERPC_SAMR_NAME "samr"
7 #define DCERPC_SAMR_CONNECT 0
8 #define DCERPC_SAMR_CLOSE 1
9 #define DCERPC_SAMR_SETSECURITY 2
10 #define DCERPC_SAMR_QUERYSECURITY 3
11 #define DCERPC_SAMR_SHUTDOWN 4
12 #define DCERPC_SAMR_LOOKUPDOMAIN 5
13 #define DCERPC_SAMR_ENUMDOMAINS 6
14 #define DCERPC_SAMR_OPENDOMAIN 7
15 #define DCERPC_SAMR_QUERYDOMAININFO 8
16 #define DCERPC_SAMR_SET_DOMAIN_INFO 9
17 #define DCERPC_SAMR_CREATE_DOM_GROUP 10
18 #define DCERPC_SAMR_ENUMDOMAINGROUPS 11
19 #define DCERPC_SAMR_CREATEUSER 12
20 #define DCERPC_SAMR_ENUMDOMAINUSERS 13
21 #define DCERPC_SAMR_CREATE_DOM_ALIAS 14
22 #define DCERPC_SAMR_ENUMDOMAINALIASES 15
23 #define DCERPC_SAMR_GETALIASMEMBERSHIP 16
24 #define DCERPC_SAMR_LOOKUP_NAMES 17
25 #define DCERPC_SAMR_LOOKUP_RIDS 18
26 #define DCERPC_SAMR_OPENGROUP 19
27 #define DCERPC_SAMR_QUERYGROUPINFO 20
28 #define DCERPC_SAMR_SET_GROUPINFO 21
29 #define DCERPC_SAMR_ADD_GROUPMEM 22
30 #define DCERPC_SAMR_DELETE_DOM_GROUP 23
31 #define DCERPC_SAMR_DEL_GROUPMEM 24
32 #define DCERPC_SAMR_QUERY_GROUPMEM 25
33 #define DCERPC_SAMR_SET_MEMBER_ATTRIBUTES_OF_GROUP 26
34 #define DCERPC_SAMR_OPENALIAS 27
35 #define DCERPC_SAMR_QUERYALIASINFO 28
36 #define DCERPC_SAMR_SET_ALIASINFO 29
37 #define DCERPC_SAMR_DELETE_DOM_ALIAS 30
38 #define DCERPC_SAMR_ADD_ALIASMEM 31
39 #define DCERPC_SAMR_DEL_ALIASMEM 32
40 #define DCERPC_SAMR_GET_MEMBERS_IN_ALIAS 33
41 #define DCERPC_SAMR_OPENUSER 34
42 #define DCERPC_SAMR_DELETEUSER 35
43 #define DCERPC_SAMR_QUERYUSERINFO 36
44 #define DCERPC_SAMR_SET_USERINFO 37
45 #define DCERPC_SAMR_CHANGE_PASSWORD_USER 38
46 #define DCERPC_SAMR_GET_GROUPS_FOR_USER 39
47 #define DCERPC_SAMR_QUERY_DISPINFO 40
48 #define DCERPC_SAMR_GET_DISPLAY_ENUMERATION_INDEX 41
49 #define DCERPC_SAMR_TEST_PRIVATE_FUNCTIONS_DOMAIN 42
50 #define DCERPC_SAMR_TEST_PRIVATE_FUNCTIONS_USER 43
51 #define DCERPC_SAMR_GET_USRDOM_PWINFO 44
52 #define DCERPC_SAMR_REMOVE_MEMBER_FROM_FOREIGN_DOMAIN 45
53 #define DCERPC_SAMR_QUERY_INFORMATION_DOMAIN2 46
54 #define DCERPC_SAMR_QUERY_INFORMATION_USER2 47
55 #define DCERPC_SAMR_QUERY_DISPINFO2 48
56 #define DCERPC_SAMR_GET_DISPLAY_ENUMERATION_INDEX2 49
57 #define DCERPC_SAMR_CREATE_USER2_IN_DOMAIN 50
58 #define DCERPC_SAMR_QUERY_DISPINFO3 51
59 #define DCERPC_SAMR_ADD_MULTIPLE_MEMBERS_TO_ALIAS 52
60 #define DCERPC_SAMR_REMOVE_MULTIPLE_MEMBERS_FROM_ALIAS 53
61 #define DCERPC_SAMR_OEM_CHANGE_PASSWORD_USER2 54
62 #define DCERPC_SAMR_UNICODE_CHANGE_PASSWORD_USER2 55
63 #define DCERPC_SAMR_GET_DOM_PWINFO 56
64 #define DCERPC_SAMR_CONNECT2 57
65 #define DCERPC_SAMR_SET_USERINFO2 58
66 #define DCERPC_SAMR_SET_BOOT_KEY_INFORMATION 59
67 #define DCERPC_SAMR_GET_BOOT_KEY_INFORMATION 60
68 #define DCERPC_SAMR_CONNECT3 61
69 #define DCERPC_SAMR_CONNECT4 62
70 #define DCERPC_SAMR_UNICODE_CHANGE_PASSWORD_USER3 63
71 #define DCERPC_SAMR_CONNECT5 64
72 #define DCERPC_SAMR_RID_TO_SID 65
73 #define DCERPC_SAMR_SET_DSRM_PASSWORD 66
74 #define DCERPC_SAMR_VALIDATE_PASSWORD 67
84 struct policy_handle *handle;
92 struct policy_handle *handle;
96 struct policy_handle *handle;
102 struct samr_SetSecurity {
112 struct samr_QuerySecurity {
114 struct policy_handle *handle;
120 struct security_descriptor *sd;
126 struct samr_Shutdown {
142 struct samr_LookupDomain {
144 struct policy_handle *handle;
145 struct samr_Name *domain;
149 struct dom_sid2 *sid;
155 struct samr_SamEntry {
157 struct samr_Name name;
160 struct samr_SamArray {
162 struct samr_SamEntry *entries;
165 struct samr_EnumDomains {
167 struct policy_handle *handle;
168 uint32 *resume_handle;
173 uint32 *resume_handle;
174 struct samr_SamArray *sam;
181 struct samr_OpenDomain {
183 struct policy_handle *handle;
185 struct dom_sid2 *sid;
189 struct policy_handle *domain_handle;
195 struct samr_DomInfo1 {
196 uint16 min_length_password;
197 uint16 password_history;
200 NTTIME min_passwordage;
203 struct samr_DomInfo2 {
204 HYPER_T force_logoff_time;
205 struct samr_Name unknown1;
206 struct samr_Name domain;
207 struct samr_Name primary;
208 HYPER_T sequence_num;
217 struct samr_DomInfo3 {
218 HYPER_T force_logoff_time;
221 struct samr_DomInfo4 {
222 struct samr_Name unknown;
225 struct samr_DomInfo5 {
226 struct samr_Name domain;
229 struct samr_DomInfo6 {
230 struct samr_Name primary;
233 struct samr_DomInfo7 {
237 struct samr_DomInfo8 {
238 HYPER_T sequence_num;
239 NTTIME last_xxx_time;
242 struct samr_DomInfo9 {
246 struct samr_DomInfo11 {
247 HYPER_T force_logoff_time;
248 struct samr_Name unknown1;
249 struct samr_Name domain;
250 struct samr_Name primary;
251 HYPER_T sequence_num;
258 HYPER_T lockout_duration;
259 HYPER_T lockout_window;
260 uint16 lockout_threshold;
263 struct samr_DomInfo12 {
264 HYPER_T lockout_duration;
265 HYPER_T lockout_window;
266 uint16 lockout_threshold;
269 struct samr_DomInfo13 {
270 HYPER_T sequence_num;
271 NTTIME last_xxx_time;
276 union samr_DomainInfo {
277 /* [case(1)] */ struct samr_DomInfo1 info1;
278 /* [case(2)] */ struct samr_DomInfo2 info2;
279 /* [case(3)] */ struct samr_DomInfo3 info3;
280 /* [case(4)] */ struct samr_DomInfo4 info4;
281 /* [case(5)] */ struct samr_DomInfo5 info5;
282 /* [case(6)] */ struct samr_DomInfo6 info6;
283 /* [case(7)] */ struct samr_DomInfo7 info7;
284 /* [case(8)] */ struct samr_DomInfo8 info8;
285 /* [case(9)] */ struct samr_DomInfo9 info9;
286 /* [case(11)] */ struct samr_DomInfo11 info11;
287 /* [case(12)] */ struct samr_DomInfo12 info12;
288 /* [case(13)] */ struct samr_DomInfo13 info13;
291 struct samr_QueryDomainInfo {
293 struct policy_handle *handle;
298 union samr_DomainInfo *info;
304 struct samr_SET_DOMAIN_INFO {
314 struct samr_CREATE_DOM_GROUP {
324 struct samr_EnumDomainGroups {
326 struct policy_handle *handle;
327 uint32 *resume_handle;
332 uint32 *resume_handle;
333 struct samr_SamArray *sam;
340 struct samr_CreateUser {
342 struct policy_handle *handle;
343 struct samr_Name *username;
348 struct policy_handle *acct_handle;
355 struct samr_EnumDomainUsers {
357 struct policy_handle *handle;
358 uint32 *resume_handle;
364 uint32 *resume_handle;
365 struct samr_SamArray *sam;
372 struct samr_CREATE_DOM_ALIAS {
382 struct samr_EnumDomainAliases {
384 struct policy_handle *handle;
385 uint32 *resume_handle;
390 uint32 *resume_handle;
391 struct samr_SamArray *sam;
400 struct dom_sid2 *sids;
408 struct samr_GetAliasMembership {
410 struct policy_handle *handle;
411 struct samr_Sids *sids;
415 struct samr_Rids *rids;
421 struct samr_LOOKUP_NAMES {
431 struct samr_LOOKUP_RIDS {
441 struct samr_OpenGroup {
443 struct policy_handle *handle;
449 struct policy_handle *acct_handle;
455 struct samr_GroupInfoAll {
456 struct samr_Name name;
459 struct samr_Name description;
462 struct samr_GroupInfoName {
463 struct samr_Name Name;
466 struct samr_GroupInfoX {
470 struct samr_GroupInfoDesciption {
471 struct samr_Name description;
474 union samr_GroupInfo {
475 /* [case(1)] */ struct samr_GroupInfoAll all;
476 /* [case(2)] */ struct samr_GroupInfoName name;
477 /* [case(3)] */ struct samr_GroupInfoX unknown;
478 /* [case(4)] */ struct samr_GroupInfoDesciption description;
481 struct samr_QueryGroupInfo {
483 struct policy_handle *handle;
488 union samr_GroupInfo *info;
494 struct samr_SET_GROUPINFO {
504 struct samr_ADD_GROUPMEM {
514 struct samr_DELETE_DOM_GROUP {
524 struct samr_DEL_GROUPMEM {
534 struct samr_QUERY_GROUPMEM {
544 struct samr_SET_MEMBER_ATTRIBUTES_OF_GROUP {
554 struct samr_OpenAlias {
556 struct policy_handle *handle;
562 struct policy_handle *acct_handle;
568 struct samr_AliasInfoAll {
569 struct samr_Name name;
571 struct samr_Name description;
574 struct samr_AliasInfoName {
575 struct samr_Name name;
578 struct samr_AliasInfoDescription {
579 struct samr_Name description;
582 union samr_AliasInfo {
583 /* [case(1)] */ struct samr_AliasInfoAll all;
584 /* [case(2)] */ struct samr_AliasInfoName name;
585 /* [case(3)] */ struct samr_AliasInfoDescription description;
588 struct samr_QueryAliasInfo {
590 struct policy_handle *handle;
595 union samr_AliasInfo *info;
601 struct samr_SET_ALIASINFO {
611 struct samr_DELETE_DOM_ALIAS {
621 struct samr_ADD_ALIASMEM {
631 struct samr_DEL_ALIASMEM {
641 struct samr_GET_MEMBERS_IN_ALIAS {
651 struct samr_OpenUser {
653 struct policy_handle *handle;
659 struct policy_handle *acct_handle;
665 struct samr_DeleteUser {
667 struct policy_handle *handle;
671 struct policy_handle *handle;
677 struct samr_UserInfo1 {
678 struct samr_Name username;
679 struct samr_Name full_name;
680 uint32 primary_group_rid;
681 struct samr_Name description;
682 struct samr_Name comment;
685 struct samr_UserInfo2 {
686 struct samr_Name comment;
693 struct samr_UserInfo3 {
694 struct samr_Name username;
695 struct samr_Name full_name;
697 uint32 primary_group_rid;
698 struct samr_Name home_directory;
699 struct samr_Name home_drive;
700 struct samr_Name logon_script;
701 struct samr_Name profile;
702 struct samr_Name workstations;
705 NTTIME last_pwd_change;
706 NTTIME allow_pwd_change;
707 NTTIME force_pwd_change;
708 uint32 units_per_week;
710 uint16 bad_pwd_count;
715 struct samr_UserInfo4 {
716 uint32 units_per_week;
720 struct samr_UserInfo5 {
721 struct samr_Name username;
722 struct samr_Name full_name;
724 uint32 primary_group_rid;
725 struct samr_Name home_directory;
726 struct samr_Name home_drive;
727 struct samr_Name logon_script;
728 struct samr_Name profile;
729 struct samr_Name descriptiom;
730 struct samr_Name workstations;
733 uint32 units_per_week;
736 NTTIME last_pwd_change;
741 struct samr_UserInfo6 {
742 struct samr_Name username;
743 struct samr_Name full_name;
746 struct samr_UserInfo7 {
747 struct samr_Name username;
750 struct samr_UserInfo8 {
751 struct samr_Name full_name;
754 struct samr_UserInfo9 {
755 uint32 PrimaryGroupRid;
758 struct samr_UserInfo10 {
759 struct samr_Name home_dir;
760 struct samr_Name home_drive;
763 struct samr_UserInfo11 {
764 struct samr_Name logon_script;
767 struct samr_UserInfo12 {
768 struct samr_Name profile;
771 struct samr_UserInfo13 {
772 struct samr_Name descriptiom;
775 struct samr_UserInfo14 {
776 struct samr_Name workstations;
779 struct samr_UserInfo16 {
783 struct samr_UserInfo17 {
787 struct samr_UserInfo20 {
788 struct samr_Name callback;
791 struct samr_UserInfo21 {
794 NTTIME last_pwd_change;
796 NTTIME allow_pwd_change;
797 NTTIME force_pwd_change;
798 struct samr_Name username;
799 struct samr_Name full_name;
800 struct samr_Name home_dir;
801 struct samr_Name home_drive;
802 struct samr_Name logon_script;
803 struct samr_Name profile;
804 struct samr_Name description;
805 struct samr_Name workstations;
806 struct samr_Name comment;
807 struct samr_Name callback;
808 struct samr_Name unknown1;
809 struct samr_Name unknown2;
810 struct samr_Name unknown3;
814 uint32 primary_group_rid;
816 uint32 fields_present;
817 uint32 units_per_week;
819 uint16 bad_pwd_count;
829 union samr_UserInfo {
830 /* [case(1)] */ struct samr_UserInfo1 info1;
831 /* [case(2)] */ struct samr_UserInfo2 info2;
832 /* [case(3)] */ struct samr_UserInfo3 info3;
833 /* [case(4)] */ struct samr_UserInfo4 info4;
834 /* [case(5)] */ struct samr_UserInfo5 info5;
835 /* [case(6)] */ struct samr_UserInfo6 info6;
836 /* [case(7)] */ struct samr_UserInfo7 info7;
837 /* [case(8)] */ struct samr_UserInfo8 info8;
838 /* [case(9)] */ struct samr_UserInfo9 info9;
839 /* [case(10)] */ struct samr_UserInfo10 info10;
840 /* [case(11)] */ struct samr_UserInfo11 info11;
841 /* [case(12)] */ struct samr_UserInfo12 info12;
842 /* [case(13)] */ struct samr_UserInfo13 info13;
843 /* [case(14)] */ struct samr_UserInfo14 info14;
844 /* [case(16)] */ struct samr_UserInfo16 info16;
845 /* [case(17)] */ struct samr_UserInfo17 info17;
846 /* [case(20)] */ struct samr_UserInfo20 info20;
847 /* [case(21)] */ struct samr_UserInfo21 info21;
850 struct samr_QueryUserInfo {
852 struct policy_handle *handle;
857 union samr_UserInfo *info;
863 struct samr_SET_USERINFO {
873 struct samr_CHANGE_PASSWORD_USER {
883 struct samr_GET_GROUPS_FOR_USER {
893 struct samr_QUERY_DISPINFO {
903 struct samr_GET_DISPLAY_ENUMERATION_INDEX {
913 struct samr_TEST_PRIVATE_FUNCTIONS_DOMAIN {
923 struct samr_TEST_PRIVATE_FUNCTIONS_USER {
933 struct samr_GET_USRDOM_PWINFO {
943 struct samr_REMOVE_MEMBER_FROM_FOREIGN_DOMAIN {
953 struct samr_QUERY_INFORMATION_DOMAIN2 {
963 struct samr_QUERY_INFORMATION_USER2 {
973 struct samr_QUERY_DISPINFO2 {
983 struct samr_GET_DISPLAY_ENUMERATION_INDEX2 {
993 struct samr_CREATE_USER2_IN_DOMAIN {
1003 struct samr_QUERY_DISPINFO3 {
1013 struct samr_ADD_MULTIPLE_MEMBERS_TO_ALIAS {
1023 struct samr_REMOVE_MULTIPLE_MEMBERS_FROM_ALIAS {
1033 struct samr_OEM_CHANGE_PASSWORD_USER2 {
1043 struct samr_UNICODE_CHANGE_PASSWORD_USER2 {
1053 struct samr_GET_DOM_PWINFO {
1063 struct samr_CONNECT2 {
1073 struct samr_SET_USERINFO2 {
1083 struct samr_SET_BOOT_KEY_INFORMATION {
1093 struct samr_GET_BOOT_KEY_INFORMATION {
1103 struct samr_CONNECT3 {
1113 struct samr_Connect4 {
1115 const char *system_name;
1121 struct policy_handle *handle;
1127 struct samr_UNICODE_CHANGE_PASSWORD_USER3 {
1137 struct samr_CONNECT5 {
1147 struct samr_RID_TO_SID {
1157 struct samr_SET_DSRM_PASSWORD {
1167 struct samr_VALIDATE_PASSWORD {