📄 rpc_lsa.h
字号:
uint32 luid_low; uint32 luid_high; UNISTR2 name; } LSA_PRIV_ENTRY;/* LSA_Q_ENUM_PRIVS - LSA enum privileges */typedef struct lsa_q_enum_privs{ POLICY_HND pol; /* policy handle */ uint32 enum_context; uint32 pref_max_length;} LSA_Q_ENUM_PRIVS;typedef struct lsa_r_enum_privs{ uint32 enum_context; uint32 count; uint32 ptr; uint32 count1; LSA_PRIV_ENTRY *privs; NTSTATUS status;} LSA_R_ENUM_PRIVS;/* LSA_Q_ENUM_ACCT_RIGHTS - LSA enum account rights */typedef struct{ POLICY_HND pol; /* policy handle */ DOM_SID2 sid;} LSA_Q_ENUM_ACCT_RIGHTS;/* LSA_R_ENUM_ACCT_RIGHTS - LSA enum account rights */typedef struct{ uint32 count; UNISTR4_ARRAY *rights; NTSTATUS status;} LSA_R_ENUM_ACCT_RIGHTS;/* LSA_Q_ADD_ACCT_RIGHTS - LSA add account rights */typedef struct{ POLICY_HND pol; /* policy handle */ DOM_SID2 sid; uint32 count; UNISTR4_ARRAY *rights;} LSA_Q_ADD_ACCT_RIGHTS;/* LSA_R_ADD_ACCT_RIGHTS - LSA add account rights */typedef struct{ NTSTATUS status;} LSA_R_ADD_ACCT_RIGHTS;/* LSA_Q_REMOVE_ACCT_RIGHTS - LSA remove account rights */typedef struct{ POLICY_HND pol; /* policy handle */ DOM_SID2 sid; uint32 removeall; uint32 count; UNISTR4_ARRAY *rights;} LSA_Q_REMOVE_ACCT_RIGHTS;/* LSA_R_REMOVE_ACCT_RIGHTS - LSA remove account rights */typedef struct{ NTSTATUS status;} LSA_R_REMOVE_ACCT_RIGHTS;/* LSA_Q_PRIV_GET_DISPNAME - LSA get privilege display name */typedef struct lsa_q_priv_get_dispname{ POLICY_HND pol; /* policy handle */ UNIHDR hdr_name; UNISTR2 name; uint16 lang_id; uint16 lang_id_sys;} LSA_Q_PRIV_GET_DISPNAME;typedef struct lsa_r_priv_get_dispname{ uint32 ptr_info; UNIHDR hdr_desc; UNISTR2 desc; /* Don't align ! */ uint16 lang_id; /* align */ NTSTATUS status;} LSA_R_PRIV_GET_DISPNAME;/* LSA_Q_ENUM_ACCOUNTS */typedef struct lsa_q_enum_accounts{ POLICY_HND pol; /* policy handle */ uint32 enum_context; uint32 pref_max_length;} LSA_Q_ENUM_ACCOUNTS;/* LSA_R_ENUM_ACCOUNTS */typedef struct lsa_r_enum_accounts{ uint32 enum_context; LSA_SID_ENUM sids; NTSTATUS status;} LSA_R_ENUM_ACCOUNTS;/* LSA_Q_UNK_GET_CONNUSER - gets username\domain of connected user called when "Take Ownership" is clicked -SK */typedef struct lsa_q_unk_get_connuser{ uint32 ptr_srvname; UNISTR2 uni2_srvname; uint32 unk1; /* 3 unknown uint32's are seen right after uni2_srvname */ uint32 unk2; /* unk2 appears to be a ptr, unk1 = unk3 = 0 usually */ uint32 unk3; } LSA_Q_UNK_GET_CONNUSER;/* LSA_R_UNK_GET_CONNUSER */typedef struct lsa_r_unk_get_connuser{ uint32 ptr_user_name; UNIHDR hdr_user_name; UNISTR2 uni2_user_name; uint32 unk1; uint32 ptr_dom_name; UNIHDR hdr_dom_name; UNISTR2 uni2_dom_name; NTSTATUS status;} LSA_R_UNK_GET_CONNUSER;typedef struct lsa_q_createaccount{ POLICY_HND pol; /* policy handle */ DOM_SID2 sid; uint32 access; /* access */} LSA_Q_CREATEACCOUNT;typedef struct lsa_r_createaccount{ POLICY_HND pol; /* policy handle */ NTSTATUS status;} LSA_R_CREATEACCOUNT;typedef struct lsa_q_openaccount{ POLICY_HND pol; /* policy handle */ DOM_SID2 sid; uint32 access; /* desired access */} LSA_Q_OPENACCOUNT;typedef struct lsa_r_openaccount{ POLICY_HND pol; /* policy handle */ NTSTATUS status;} LSA_R_OPENACCOUNT;typedef struct lsa_q_enumprivsaccount{ POLICY_HND pol; /* policy handle */} LSA_Q_ENUMPRIVSACCOUNT;typedef struct lsa_r_enumprivsaccount{ uint32 ptr; uint32 count; PRIVILEGE_SET set; NTSTATUS status;} LSA_R_ENUMPRIVSACCOUNT;typedef struct lsa_q_getsystemaccount{ POLICY_HND pol; /* policy handle */} LSA_Q_GETSYSTEMACCOUNT;typedef struct lsa_r_getsystemaccount{ uint32 access; NTSTATUS status;} LSA_R_GETSYSTEMACCOUNT;typedef struct lsa_q_setsystemaccount{ POLICY_HND pol; /* policy handle */ uint32 access;} LSA_Q_SETSYSTEMACCOUNT;typedef struct lsa_r_setsystemaccount{ NTSTATUS status;} LSA_R_SETSYSTEMACCOUNT;typedef struct { UNIHDR hdr; UNISTR2 unistring;} LSA_STRING;typedef struct { POLICY_HND pol; /* policy handle */ LSA_STRING privname;} LSA_Q_LOOKUP_PRIV_VALUE;typedef struct { LUID luid; NTSTATUS status;} LSA_R_LOOKUP_PRIV_VALUE;typedef struct lsa_q_addprivs{ POLICY_HND pol; /* policy handle */ uint32 count; PRIVILEGE_SET set;} LSA_Q_ADDPRIVS;typedef struct lsa_r_addprivs{ NTSTATUS status;} LSA_R_ADDPRIVS;typedef struct lsa_q_removeprivs{ POLICY_HND pol; /* policy handle */ uint32 allrights; uint32 ptr; uint32 count; PRIVILEGE_SET set;} LSA_Q_REMOVEPRIVS;typedef struct lsa_r_removeprivs{ NTSTATUS status;} LSA_R_REMOVEPRIVS;/*******************************************************/#if 0 /* jerry, I think this not correct - gd */typedef struct { POLICY_HND handle; uint32 count; /* ??? this is what ethereal calls it */ DOM_SID sid;} LSA_Q_OPEN_TRUSTED_DOMAIN;#endif/* LSA_Q_OPEN_TRUSTED_DOMAIN - LSA Query Open Trusted Domain */typedef struct lsa_q_open_trusted_domain{ POLICY_HND pol; /* policy handle */ DOM_SID2 sid; /* domain sid */ uint32 access_mask; /* access mask */ } LSA_Q_OPEN_TRUSTED_DOMAIN;/* LSA_R_OPEN_TRUSTED_DOMAIN - response to LSA Query Open Trusted Domain */typedef struct { POLICY_HND handle; /* trustdom policy handle */ NTSTATUS status; /* return code */} LSA_R_OPEN_TRUSTED_DOMAIN;/*******************************************************/typedef struct { POLICY_HND handle; UNISTR4 secretname; uint32 access;} LSA_Q_OPEN_SECRET;typedef struct { POLICY_HND handle; NTSTATUS status;} LSA_R_OPEN_SECRET;/*******************************************************/typedef struct { POLICY_HND handle;} LSA_Q_DELETE_OBJECT;typedef struct { NTSTATUS status;} LSA_R_DELETE_OBJECT;/*******************************************************/typedef struct { POLICY_HND handle; UNISTR4 secretname; uint32 access;} LSA_Q_CREATE_SECRET;typedef struct { POLICY_HND handle; NTSTATUS status;} LSA_R_CREATE_SECRET;/*******************************************************/typedef struct { POLICY_HND handle; UNISTR4 secretname; uint32 access;} LSA_Q_CREATE_TRUSTED_DOMAIN;typedef struct { POLICY_HND handle; NTSTATUS status;} LSA_R_CREATE_TRUSTED_DOMAIN;/*******************************************************/typedef struct { uint32 size; /* size is written on the wire twice so I can only assume that one is supposed to be a max length and one is a size */ UNISTR2 *data; /* not really a UNICODE string but the parsing is the same */} LSA_DATA_BLOB;typedef struct { POLICY_HND handle; LSA_DATA_BLOB *old_value; LSA_DATA_BLOB *new_value;} LSA_Q_SET_SECRET;typedef struct { NTSTATUS status;} LSA_R_SET_SECRET;/* LSA_Q_QUERY_TRUSTED_DOMAIN_INFO - LSA query trusted domain info */typedef struct lsa_query_trusted_domain_info{ POLICY_HND pol; /* policy handle */ uint16 info_class; /* info class */} LSA_Q_QUERY_TRUSTED_DOMAIN_INFO;/* LSA_Q_QUERY_TRUSTED_DOMAIN_INFO_BY_SID - LSA query trusted domain info */typedef struct lsa_query_trusted_domain_info_by_sid{ POLICY_HND pol; /* policy handle */ DOM_SID2 dom_sid; /* domain sid */ uint16 info_class; /* info class */ } LSA_Q_QUERY_TRUSTED_DOMAIN_INFO_BY_SID;/* LSA_Q_QUERY_TRUSTED_DOMAIN_INFO_BY_NAME - LSA query trusted domain info */typedef struct lsa_query_trusted_domain_info_by_name{ POLICY_HND pol; /* policy handle */ LSA_STRING domain_name; /* domain name */ uint16 info_class; /* info class */ } LSA_Q_QUERY_TRUSTED_DOMAIN_INFO_BY_NAME;typedef struct trusted_domain_info_name { LSA_STRING netbios_name; } TRUSTED_DOMAIN_INFO_NAME;typedef struct trusted_domain_info_posix_offset { uint32 posix_offset;} TRUSTED_DOMAIN_INFO_POSIX_OFFSET;typedef struct lsa_data_buf { uint32 size; uint32 offset; uint32 length; uint8 *data;} LSA_DATA_BUF;typedef struct lsa_data_buf_hdr { uint32 length; uint32 size; uint32 data_ptr;} LSA_DATA_BUF_HDR;typedef struct lsa_data_buf2 { uint32 size; uint8 *data;} LSA_DATA_BUF2;typedef struct trusted_domain_info_password { uint32 ptr_password; uint32 ptr_old_password; LSA_DATA_BUF_HDR password_hdr; LSA_DATA_BUF_HDR old_password_hdr; LSA_DATA_BUF password; LSA_DATA_BUF old_password;} TRUSTED_DOMAIN_INFO_PASSWORD;typedef struct trusted_domain_info_basic { LSA_STRING netbios_name; DOM_SID2 sid;} TRUSTED_DOMAIN_INFO_BASIC;typedef struct trusted_domain_info_ex { LSA_STRING domain_name; LSA_STRING netbios_name; DOM_SID2 sid; uint32 trust_direction; uint32 trust_type; uint32 trust_attributes;} TRUSTED_DOMAIN_INFO_EX;typedef struct trust_domain_info_buffer { NTTIME last_update_time; uint32 secret_type; LSA_DATA_BUF2 data;} LSA_TRUSTED_DOMAIN_INFO_BUFFER;typedef struct trusted_domain_info_auth_info { uint32 incoming_count; LSA_TRUSTED_DOMAIN_INFO_BUFFER incoming_current_auth_info; LSA_TRUSTED_DOMAIN_INFO_BUFFER incoming_previous_auth_info; uint32 outgoing_count; LSA_TRUSTED_DOMAIN_INFO_BUFFER outgoing_current_auth_info; LSA_TRUSTED_DOMAIN_INFO_BUFFER outgoing_previous_auth_info;} TRUSTED_DOMAIN_INFO_AUTH_INFO;typedef struct trusted_domain_info_full_info { TRUSTED_DOMAIN_INFO_EX info_ex; TRUSTED_DOMAIN_INFO_POSIX_OFFSET posix_offset; TRUSTED_DOMAIN_INFO_AUTH_INFO auth_info;} TRUSTED_DOMAIN_INFO_FULL_INFO;typedef struct trusted_domain_info_11 { TRUSTED_DOMAIN_INFO_EX info_ex; LSA_DATA_BUF2 data1;} TRUSTED_DOMAIN_INFO_11;typedef struct trusted_domain_info_all { TRUSTED_DOMAIN_INFO_EX info_ex; LSA_DATA_BUF2 data1; TRUSTED_DOMAIN_INFO_POSIX_OFFSET posix_offset; TRUSTED_DOMAIN_INFO_AUTH_INFO auth_info;} TRUSTED_DOMAIN_INFO_ALL;/* LSA_TRUSTED_DOMAIN_INFO */typedef union lsa_trusted_domain_info{ uint16 info_class; TRUSTED_DOMAIN_INFO_NAME name; /* deprecated - gd TRUSTED_DOMAIN_INFO_CONTROLLERS_INFO controllers; */ TRUSTED_DOMAIN_INFO_POSIX_OFFSET posix_offset; TRUSTED_DOMAIN_INFO_PASSWORD password; TRUSTED_DOMAIN_INFO_BASIC basic; TRUSTED_DOMAIN_INFO_EX info_ex; TRUSTED_DOMAIN_INFO_AUTH_INFO auth_info; TRUSTED_DOMAIN_INFO_FULL_INFO full_info; TRUSTED_DOMAIN_INFO_11 info11; TRUSTED_DOMAIN_INFO_ALL info_all;} LSA_TRUSTED_DOMAIN_INFO;/* LSA_R_QUERY_TRUSTED_DOMAIN_INFO - LSA query trusted domain info */typedef struct r_lsa_query_trusted_domain_info{ LSA_TRUSTED_DOMAIN_INFO *info; NTSTATUS status;} LSA_R_QUERY_TRUSTED_DOMAIN_INFO;#endif /* _RPC_LSA_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -