winapi_ui_automation/um/
mschapp.rs1use shared::basetsd::SIZE_T;
7use shared::minwindef::{DWORD, UCHAR};
8use um::winnt::{BOOLEAN, CHAR, PWSTR};
9pub const CYPHER_BLOCK_LENGTH: SIZE_T = 8;
10STRUCT!{struct CYPHER_BLOCK {
11 data: [CHAR; CYPHER_BLOCK_LENGTH],
12}}
13STRUCT!{struct LM_OWF_PASSWORD {
14 data: [CYPHER_BLOCK; 2],
15}}
16pub type PLM_OWF_PASSWORD = *mut LM_OWF_PASSWORD;
17pub type NT_OWF_PASSWORD = LM_OWF_PASSWORD;
18pub type PNT_OWF_PASSWORD = *mut NT_OWF_PASSWORD;
19STRUCT!{struct SAMPR_ENCRYPTED_USER_PASSWORD {
20 Buffer: [UCHAR; (256 * 2) + 4],
21}}
22pub type PSAMPR_ENCRYPTED_USER_PASSWORD = *mut SAMPR_ENCRYPTED_USER_PASSWORD;
23STRUCT!{struct ENCRYPTED_LM_OWF_PASSWORD {
24 data: [CYPHER_BLOCK; 2],
25}}
26pub type PENCRYPTED_LM_OWF_PASSWORD = *mut ENCRYPTED_LM_OWF_PASSWORD;
27pub type ENCRYPTED_NT_OWF_PASSWORD = ENCRYPTED_LM_OWF_PASSWORD;
28pub type PENCRYPTED_NT_OWF_PASSWORD = *mut ENCRYPTED_NT_OWF_PASSWORD;
29extern "system" {
30 pub fn MSChapSrvChangePassword(
31 ServerName: PWSTR,
32 UserName: PWSTR,
33 LmOldPresent: BOOLEAN,
34 LmOldOwfPassword: PLM_OWF_PASSWORD,
35 LmNewOwfPassword: PLM_OWF_PASSWORD,
36 NtOldOwfPassword: PNT_OWF_PASSWORD,
37 NtNewOwfPassword: PNT_OWF_PASSWORD,
38 ) -> DWORD;
39 pub fn MSChapSrvChangePassword2(
40 ServerName: PWSTR,
41 UserName: PWSTR,
42 NewPasswordEncryptedWithOldNt: PSAMPR_ENCRYPTED_USER_PASSWORD,
43 OldNtOwfPasswordEncryptedWithNewNt: PENCRYPTED_NT_OWF_PASSWORD,
44 LmPresent: BOOLEAN,
45 NewPasswordEncryptedWithOldLm: PSAMPR_ENCRYPTED_USER_PASSWORD,
46 OldLmOwfPasswordEncryptedWithNewLmOrNt: PENCRYPTED_LM_OWF_PASSWORD,
47 ) -> DWORD;
48}