Hex Artifact Content

Not logged in

Artifact af13fe2a125c8d827fe36a435d56bd17b5042163:


0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0a 2a 20 20 20 20 20  ********\.*     
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0060: 20 20 20 20 20 20 20 20 20 6e 74 73 65 63 61 70           ntsecap
0070: 69 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20  i.d             
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20    *.*           
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20              *.* 
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50        Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20  I header module 
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20        *.*       
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  *.*             
0180: 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20 66      Translated f
0190: 72 6f 6d 20 4d 69 6e 47 57 20 57 69 6e 64 6f 77  rom MinGW Window
01a0: 73 20 68 65 61 64 65 72 73 20 20 20 20 20 20 20  s headers       
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20            *.*   
01c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01d0: 20 20 20 20 20 20 20 20 62 79 20 53 74 65 77 61          by Stewa
01e0: 72 74 20 47 6f 72 64 6f 6e 20 20 20 20 20 20 20  rt Gordon       
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0200: 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20      *.*         
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a                *.
0250: 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  *               
0260: 20 20 20 20 20 20 20 20 50 6c 61 63 65 64 20 69          Placed i
0270: 6e 74 6f 20 70 75 62 6c 69 63 20 64 6f 6d 61 69  nto public domai
0280: 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  n               
0290: 20 20 20 20 20 20 20 20 2a 0a 5c 2a 2a 2a 2a 2a          *.\*****
02a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02e0: 2a 2a 2f 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32  **/.module win32
02f0: 2e 6e 74 73 65 63 61 70 69 3b 0a 0a 70 72 69 76  .ntsecapi;..priv
0300: 61 74 65 20 69 6d 70 6f 72 74 0a 20 20 77 69 6e  ate import.  win
0310: 33 32 2e 62 61 73 65 74 79 70 73 2c 20 77 69 6e  32.basetyps, win
0320: 33 32 2e 6e 74 64 65 66 2c 20 77 69 6e 33 32 2e  32.ntdef, win32.
0330: 77 69 6e 64 65 66 2c 20 77 69 6e 33 32 2e 77 69  windef, win32.wi
0340: 6e 6e 74 2c 20 77 69 6e 33 32 2e 77 33 32 61 70  nnt, win32.w32ap
0350: 69 3b 0a 0a 2f 2f 20 46 49 58 4d 45 3a 20 63 68  i;..// FIXME: ch
0360: 65 63 6b 20 74 79 70 65 73 20 61 6e 64 20 67 72  eck types and gr
0370: 6f 75 70 69 6e 67 20 6f 66 20 63 6f 6e 73 74 61  ouping of consta
0380: 6e 74 73 0a 2f 2f 20 46 49 58 4d 45 3a 20 63 68  nts.// FIXME: ch
0390: 65 63 6b 20 57 69 6e 64 6f 77 73 20 76 65 72 73  eck Windows vers
03a0: 69 6f 6e 20 73 75 70 70 6f 72 74 0a 0a 63 6f 6e  ion support..con
03b0: 73 74 20 4b 45 52 42 5f 57 52 41 50 5f 4e 4f 5f  st KERB_WRAP_NO_
03c0: 45 4e 43 52 59 50 54 20 20 20 20 20 20 20 20 3d  ENCRYPT        =
03d0: 20 30 78 38 30 30 30 30 30 30 31 3b 0a 0a 63 6f   0x80000001;..co
03e0: 6e 73 74 20 4c 4f 47 4f 4e 5f 47 55 45 53 54 20  nst LOGON_GUEST 
03f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0400: 3d 20 30 78 30 30 30 30 30 30 30 31 3b 0a 63 6f  = 0x00000001;.co
0410: 6e 73 74 20 4c 4f 47 4f 4e 5f 4e 4f 45 4e 43 52  nst LOGON_NOENCR
0420: 59 50 54 49 4f 4e 20 20 20 20 20 20 20 20 20 20  YPTION          
0430: 3d 20 30 78 30 30 30 30 30 30 30 32 3b 0a 63 6f  = 0x00000002;.co
0440: 6e 73 74 20 4c 4f 47 4f 4e 5f 43 41 43 48 45 44  nst LOGON_CACHED
0450: 5f 41 43 43 4f 55 4e 54 20 20 20 20 20 20 20 20  _ACCOUNT        
0460: 3d 20 30 78 30 30 30 30 30 30 30 34 3b 0a 63 6f  = 0x00000004;.co
0470: 6e 73 74 20 4c 4f 47 4f 4e 5f 55 53 45 44 5f 4c  nst LOGON_USED_L
0480: 4d 5f 50 41 53 53 57 4f 52 44 20 20 20 20 20 20  M_PASSWORD      
0490: 3d 20 30 78 30 30 30 30 30 30 30 38 3b 0a 63 6f  = 0x00000008;.co
04a0: 6e 73 74 20 4c 4f 47 4f 4e 5f 45 58 54 52 41 5f  nst LOGON_EXTRA_
04b0: 53 49 44 53 20 20 20 20 20 20 20 20 20 20 20 20  SIDS            
04c0: 3d 20 30 78 30 30 30 30 30 30 32 30 3b 0a 63 6f  = 0x00000020;.co
04d0: 6e 73 74 20 4c 4f 47 4f 4e 5f 53 55 42 41 55 54  nst LOGON_SUBAUT
04e0: 48 5f 53 45 53 53 49 4f 4e 5f 4b 45 59 20 20 20  H_SESSION_KEY   
04f0: 3d 20 30 78 30 30 30 30 30 30 34 30 3b 0a 63 6f  = 0x00000040;.co
0500: 6e 73 74 20 4c 4f 47 4f 4e 5f 53 45 52 56 45 52  nst LOGON_SERVER
0510: 5f 54 52 55 53 54 5f 41 43 43 4f 55 4e 54 20 20  _TRUST_ACCOUNT  
0520: 3d 20 30 78 30 30 30 30 30 30 38 30 3b 0a 63 6f  = 0x00000080;.co
0530: 6e 73 74 20 4c 4f 47 4f 4e 5f 4e 54 4c 4d 56 32  nst LOGON_NTLMV2
0540: 5f 45 4e 41 42 4c 45 44 20 20 20 20 20 20 20 20  _ENABLED        
0550: 3d 20 30 78 30 30 30 30 30 31 30 30 3b 0a 63 6f  = 0x00000100;.co
0560: 6e 73 74 20 4c 4f 47 4f 4e 5f 52 45 53 4f 55 52  nst LOGON_RESOUR
0570: 43 45 5f 47 52 4f 55 50 53 20 20 20 20 20 20 20  CE_GROUPS       
0580: 3d 20 30 78 30 30 30 30 30 32 30 30 3b 0a 63 6f  = 0x00000200;.co
0590: 6e 73 74 20 4c 4f 47 4f 4e 5f 50 52 4f 46 49 4c  nst LOGON_PROFIL
05a0: 45 5f 50 41 54 48 5f 52 45 54 55 52 4e 45 44 20  E_PATH_RETURNED 
05b0: 3d 20 30 78 30 30 30 30 30 34 30 30 3b 0a 63 6f  = 0x00000400;.co
05c0: 6e 73 74 20 4c 4f 47 4f 4e 5f 47 52 41 43 45 5f  nst LOGON_GRACE_
05d0: 4c 4f 47 4f 4e 20 20 20 20 20 20 20 20 20 20 20  LOGON           
05e0: 3d 20 30 78 30 31 30 30 30 30 30 30 3b 0a 0a 65  = 0x01000000;..e
05f0: 6e 75 6d 20 7b 0a 09 4c 53 41 5f 4d 4f 44 45 5f  num {..LSA_MODE_
0600: 50 41 53 53 57 4f 52 44 5f 50 52 4f 54 45 43 54  PASSWORD_PROTECT
0610: 45 44 20 3d 20 31 2c 0a 09 4c 53 41 5f 4d 4f 44  ED = 1,..LSA_MOD
0620: 45 5f 49 4e 44 49 56 49 44 55 41 4c 5f 41 43 43  E_INDIVIDUAL_ACC
0630: 4f 55 4e 54 53 2c 0a 09 4c 53 41 5f 4d 4f 44 45  OUNTS,..LSA_MODE
0640: 5f 4d 41 4e 44 41 54 4f 52 59 5f 41 43 43 45 53  _MANDATORY_ACCES
0650: 53 2c 0a 09 4c 53 41 5f 4d 4f 44 45 5f 4c 4f 47  S,..LSA_MODE_LOG
0660: 5f 46 55 4c 4c 0a 7d 0a 0a 62 6f 6f 6c 20 4c 53  _FULL.}..bool LS
0670: 41 5f 53 55 43 43 45 53 53 28 69 6e 74 20 78 29  A_SUCCESS(int x)
0680: 20 7b 20 72 65 74 75 72 6e 20 78 20 3e 3d 20 30   { return x >= 0
0690: 3b 20 7d 0a 0a 2f 2a 09 54 4f 54 48 49 4e 4b 41  ; }../*.TOTHINKA
06a0: 42 4f 55 54 3a 20 54 68 65 73 65 20 63 6f 6e 73  BOUT: These cons
06b0: 74 61 6e 74 73 20 64 6f 6e 27 74 20 68 61 76 65  tants don't have
06c0: 20 41 4e 53 49 2f 55 6e 69 63 6f 64 65 20 76 65   ANSI/Unicode ve
06d0: 72 73 69 6f 6e 65 64 0a 20 2a 09 61 6c 69 61 73  rsioned. *.alias
06e0: 65 73 2e 20 20 53 68 6f 75 6c 64 20 77 65 20 6d  es.  Should we m
06f0: 65 72 67 65 20 74 68 65 6d 20 61 6e 79 77 61 79  erge them anyway
0700: 3f 0a 20 2a 2f 0a 63 6f 6e 73 74 20 63 68 61 72  ?. */.const char
0710: 5b 5d 20 20 4d 49 43 52 4f 53 4f 46 54 5f 4b 45  []  MICROSOFT_KE
0720: 52 42 45 52 4f 53 5f 4e 41 4d 45 5f 41 20 3d 20  RBEROS_NAME_A = 
0730: 22 4b 65 72 62 65 72 6f 73 22 3b 0a 63 6f 6e 73  "Kerberos";.cons
0740: 74 20 77 63 68 61 72 5b 5d 20 4d 49 43 52 4f 53  t wchar[] MICROS
0750: 4f 46 54 5f 4b 45 52 42 45 52 4f 53 5f 4e 41 4d  OFT_KERBEROS_NAM
0760: 45 5f 57 20 3d 20 22 4b 65 72 62 65 72 6f 73 22  E_W = "Kerberos"
0770: 3b 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 20  ;.const char[]  
0780: 4d 53 56 31 5f 30 5f 50 41 43 4b 41 47 45 5f 4e  MSV1_0_PACKAGE_N
0790: 41 4d 45 20 20 3d 20 22 4d 49 43 52 4f 53 4f 46  AME  = "MICROSOF
07a0: 54 5f 41 55 54 48 45 4e 54 49 43 41 54 49 4f 4e  T_AUTHENTICATION
07b0: 5f 50 41 43 4b 41 47 45 5f 56 31 5f 30 22 3b 0a  _PACKAGE_V1_0";.
07c0: 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 4d 53  const wchar[] MS
07d0: 56 31 5f 30 5f 50 41 43 4b 41 47 45 5f 4e 41 4d  V1_0_PACKAGE_NAM
07e0: 45 57 20 3d 20 22 4d 49 43 52 4f 53 4f 46 54 5f  EW = "MICROSOFT_
07f0: 41 55 54 48 45 4e 54 49 43 41 54 49 4f 4e 5f 50  AUTHENTICATION_P
0800: 41 43 4b 41 47 45 5f 56 31 5f 30 22 3b 0a 0a 63  ACKAGE_V1_0";..c
0810: 6f 6e 73 74 20 4d 53 56 31 5f 30 5f 41 4c 4c 4f  onst MSV1_0_ALLO
0820: 57 5f 53 45 52 56 45 52 5f 54 52 55 53 54 5f 41  W_SERVER_TRUST_A
0830: 43 43 4f 55 4e 54 20 20 20 20 20 20 3d 20 20 20  CCOUNT      =   
0840: 20 20 20 20 33 32 3b 0a 63 6f 6e 73 74 20 4d 53      32;.const MS
0850: 56 31 5f 30 5f 41 4c 4c 4f 57 5f 57 4f 52 4b 53  V1_0_ALLOW_WORKS
0860: 54 41 54 49 4f 4e 5f 54 52 55 53 54 5f 41 43 43  TATION_TRUST_ACC
0870: 4f 55 4e 54 20 3d 20 20 20 20 20 32 30 34 38 3b  OUNT =     2048;
0880: 0a 63 6f 6e 73 74 20 4d 53 56 31 5f 30 5f 43 4c  .const MSV1_0_CL
0890: 45 41 52 54 45 58 54 5f 50 41 53 53 57 4f 52 44  EARTEXT_PASSWORD
08a0: 5f 41 4c 4c 4f 57 45 44 20 20 20 20 20 20 3d 20  _ALLOWED      = 
08b0: 20 20 20 20 20 20 20 32 3b 0a 63 6f 6e 73 74 20         2;.const 
08c0: 4d 53 56 31 5f 30 5f 43 52 45 44 5f 4c 4d 5f 50  MSV1_0_CRED_LM_P
08d0: 52 45 53 45 4e 54 20 20 20 20 20 20 20 20 20 20  RESENT          
08e0: 20 20 20 20 20 20 20 3d 20 20 20 20 20 20 20 20         =        
08f0: 31 3b 0a 63 6f 6e 73 74 20 4d 53 56 31 5f 30 5f  1;.const MSV1_0_
0900: 43 52 45 44 5f 4e 54 5f 50 52 45 53 45 4e 54 20  CRED_NT_PRESENT 
0910: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0920: 3d 20 20 20 20 20 20 20 20 32 3b 0a 63 6f 6e 73  =        2;.cons
0930: 74 20 4d 53 56 31 5f 30 5f 43 52 45 44 5f 56 45  t MSV1_0_CRED_VE
0940: 52 53 49 4f 4e 20 20 20 20 20 20 20 20 20 20 20  RSION           
0950: 20 20 20 20 20 20 20 20 20 3d 20 20 20 20 20 20           =      
0960: 20 20 30 3b 0a 63 6f 6e 73 74 20 4d 53 56 31 5f    0;.const MSV1_
0970: 30 5f 44 4f 4e 54 5f 54 52 59 5f 47 55 45 53 54  0_DONT_TRY_GUEST
0980: 5f 41 43 43 4f 55 4e 54 20 20 20 20 20 20 20 20  _ACCOUNT        
0990: 20 20 3d 20 20 20 20 20 20 20 31 36 3b 0a 63 6f    =       16;.co
09a0: 6e 73 74 20 4d 53 56 31 5f 30 5f 4d 41 58 5f 4e  nst MSV1_0_MAX_N
09b0: 54 4c 4d 33 5f 4c 49 46 45 20 20 20 20 20 20 20  TLM3_LIFE       
09c0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 20 20             =    
09d0: 20 31 38 30 30 3b 0a 63 6f 6e 73 74 20 4d 53 56   1800;.const MSV
09e0: 31 5f 30 5f 4d 41 58 5f 41 56 4c 5f 53 49 5a 45  1_0_MAX_AVL_SIZE
09f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0a00: 20 20 20 20 3d 20 20 20 20 36 34 30 30 30 3b 0a      =    64000;.
0a10: 63 6f 6e 73 74 20 4d 53 56 31 5f 30 5f 4d 4e 53  const MSV1_0_MNS
0a20: 5f 4c 4f 47 4f 4e 20 20 20 20 20 20 20 20 20 20  _LOGON          
0a30: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 31               = 1
0a40: 36 37 37 37 32 31 36 3b 0a 0a 63 6f 6e 73 74 20  6777216;..const 
0a50: 73 69 7a 65 5f 74 0a 09 4d 53 56 31 5f 30 5f 43  size_t..MSV1_0_C
0a60: 48 41 4c 4c 45 4e 47 45 5f 4c 45 4e 47 54 48 20  HALLENGE_LENGTH 
0a70: 20 20 20 20 20 20 20 20 20 3d 20 38 2c 0a 09 4d           = 8,..M
0a80: 53 56 31 5f 30 5f 4c 41 4e 4d 41 4e 5f 53 45 53  SV1_0_LANMAN_SES
0a90: 53 49 4f 4e 5f 4b 45 59 5f 4c 45 4e 47 54 48 20  SION_KEY_LENGTH 
0aa0: 3d 20 38 2c 0a 09 4d 53 56 31 5f 30 5f 4e 54 4c  = 8,..MSV1_0_NTL
0ab0: 4d 33 5f 52 45 53 50 4f 4e 53 45 5f 4c 45 4e 47  M3_RESPONSE_LENG
0ac0: 54 48 20 20 20 20 20 3d 20 31 36 2c 0a 09 4d 53  TH     = 16,..MS
0ad0: 56 31 5f 30 5f 4e 54 4c 4d 33 5f 4f 57 46 5f 4c  V1_0_NTLM3_OWF_L
0ae0: 45 4e 47 54 48 20 20 20 20 20 20 20 20 20 20 3d  ENGTH          =
0af0: 20 31 36 2c 0a 09 4d 53 56 31 5f 30 5f 4e 54 4c   16,..MSV1_0_NTL
0b00: 4d 33 5f 49 4e 50 55 54 5f 4c 45 4e 47 54 48 20  M3_INPUT_LENGTH 
0b10: 20 20 20 20 20 20 20 3d 20 4d 53 56 31 5f 30 5f         = MSV1_0_
0b20: 4e 54 4c 4d 33 5f 52 45 53 50 4f 4e 53 45 2e 73  NTLM3_RESPONSE.s
0b30: 69 7a 65 6f 66 0a 09 20 20 20 20 20 20 20 20 20  izeof..         
0b40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0b50: 20 20 20 20 20 20 20 20 20 20 2d 20 4d 53 56 31            - MSV1
0b60: 5f 30 5f 4e 54 4c 4d 33 5f 52 45 53 50 4f 4e 53  _0_NTLM3_RESPONS
0b70: 45 5f 4c 45 4e 47 54 48 2c 0a 09 4d 53 56 31 5f  E_LENGTH,..MSV1_
0b80: 30 5f 4f 57 46 5f 50 41 53 53 57 4f 52 44 5f 4c  0_OWF_PASSWORD_L
0b90: 45 4e 47 54 48 20 20 20 20 20 20 20 3d 20 31 36  ENGTH       = 16
0ba0: 2c 0a 09 4d 53 56 31 5f 30 5f 50 41 43 4b 41 47  ,..MSV1_0_PACKAG
0bb0: 45 5f 4e 41 4d 45 57 5f 4c 45 4e 47 54 48 20 20  E_NAMEW_LENGTH  
0bc0: 20 20 20 20 3d 20 4d 53 56 31 5f 30 5f 50 41 43      = MSV1_0_PAC
0bd0: 4b 41 47 45 5f 4e 41 4d 45 57 2e 73 69 7a 65 6f  KAGE_NAMEW.sizeo
0be0: 66 0a 09 20 20 20 20 20 20 20 20 20 20 20 20 20  f..             
0bf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c00: 20 20 20 20 20 20 2d 20 57 43 48 41 52 2e 73 69        - WCHAR.si
0c10: 7a 65 6f 66 3b 0a 0a 63 6f 6e 73 74 20 4d 53 56  zeof;..const MSV
0c20: 31 5f 30 5f 52 45 54 55 52 4e 5f 55 53 45 52 5f  1_0_RETURN_USER_
0c30: 50 41 52 41 4d 45 54 45 52 53 20 20 20 20 20 20  PARAMETERS      
0c40: 3d 20 20 20 20 20 20 20 20 20 20 38 3b 0a 63 6f  =          8;.co
0c50: 6e 73 74 20 4d 53 56 31 5f 30 5f 52 45 54 55 52  nst MSV1_0_RETUR
0c60: 4e 5f 50 41 53 53 57 4f 52 44 5f 45 58 50 49 52  N_PASSWORD_EXPIR
0c70: 59 20 20 20 20 20 20 3d 20 20 20 20 20 20 20 20  Y      =        
0c80: 20 36 34 3b 0a 63 6f 6e 73 74 20 4d 53 56 31 5f   64;.const MSV1_
0c90: 30 5f 52 45 54 55 52 4e 5f 50 52 4f 46 49 4c 45  0_RETURN_PROFILE
0ca0: 5f 50 41 54 48 20 20 20 20 20 20 20 20 20 3d 20  _PATH         = 
0cb0: 20 20 20 20 20 20 20 35 31 32 3b 0a 63 6f 6e 73         512;.cons
0cc0: 74 20 4d 53 56 31 5f 30 5f 53 55 42 41 55 54 48  t MSV1_0_SUBAUTH
0cd0: 45 4e 54 49 43 41 54 49 4f 4e 5f 44 4c 4c 5f 45  ENTICATION_DLL_E
0ce0: 58 20 20 20 20 3d 20 20 20 20 31 30 34 38 35 37  X    =    104857
0cf0: 36 3b 0a 63 6f 6e 73 74 20 4d 53 56 31 5f 30 5f  6;.const MSV1_0_
0d00: 53 55 42 41 55 54 48 45 4e 54 49 43 41 54 49 4f  SUBAUTHENTICATIO
0d10: 4e 5f 44 4c 4c 20 20 20 20 20 20 20 3d 20 30 78  N_DLL       = 0x
0d20: 66 66 30 30 30 30 30 30 3b 0a 63 6f 6e 73 74 20  ff000000;.const 
0d30: 4d 53 56 31 5f 30 5f 53 55 42 41 55 54 48 45 4e  MSV1_0_SUBAUTHEN
0d40: 54 49 43 41 54 49 4f 4e 5f 44 4c 4c 5f 53 48 49  TICATION_DLL_SHI
0d50: 46 54 20 3d 20 20 20 20 20 20 20 20 20 32 34 3b  FT =         24;
0d60: 0a 63 6f 6e 73 74 20 4d 53 56 31 5f 30 5f 53 55  .const MSV1_0_SU
0d70: 42 41 55 54 48 45 4e 54 49 43 41 54 49 4f 4e 5f  BAUTHENTICATION_
0d80: 44 4c 4c 5f 52 41 53 20 20 20 3d 20 20 20 20 20  DLL_RAS   =     
0d90: 20 20 20 20 20 32 3b 0a 63 6f 6e 73 74 20 4d 53       2;.const MS
0da0: 56 31 5f 30 5f 53 55 42 41 55 54 48 45 4e 54 49  V1_0_SUBAUTHENTI
0db0: 43 41 54 49 4f 4e 5f 44 4c 4c 5f 49 49 53 20 20  CATION_DLL_IIS  
0dc0: 20 3d 20 20 20 20 20 20 20 20 31 33 32 3b 0a 63   =        132;.c
0dd0: 6f 6e 73 74 20 4d 53 56 31 5f 30 5f 53 55 42 41  onst MSV1_0_SUBA
0de0: 55 54 48 45 4e 54 49 43 41 54 49 4f 4e 5f 46 4c  UTHENTICATION_FL
0df0: 41 47 53 20 20 20 20 20 3d 20 30 78 66 66 30 30  AGS     = 0xff00
0e00: 30 30 30 30 3b 0a 63 6f 6e 73 74 20 4d 53 56 31  0000;.const MSV1
0e10: 5f 30 5f 54 52 59 5f 47 55 45 53 54 5f 41 43 43  _0_TRY_GUEST_ACC
0e20: 4f 55 4e 54 5f 4f 4e 4c 59 20 20 20 20 20 20 3d  OUNT_ONLY      =
0e30: 20 20 20 20 20 20 20 20 32 35 36 3b 0a 63 6f 6e          256;.con
0e40: 73 74 20 4d 53 56 31 5f 30 5f 54 52 59 5f 53 50  st MSV1_0_TRY_SP
0e50: 45 43 49 46 49 45 44 5f 44 4f 4d 41 49 4e 5f 4f  ECIFIED_DOMAIN_O
0e60: 4e 4c 59 20 20 20 3d 20 20 20 20 20 20 20 31 30  NLY   =       10
0e70: 32 34 3b 0a 63 6f 6e 73 74 20 4d 53 56 31 5f 30  24;.const MSV1_0
0e80: 5f 55 50 44 41 54 45 5f 4c 4f 47 4f 4e 5f 53 54  _UPDATE_LOGON_ST
0e90: 41 54 49 53 54 49 43 53 20 20 20 20 20 3d 20 20  ATISTICS     =  
0ea0: 20 20 20 20 20 20 20 20 34 3b 0a 63 6f 6e 73 74          4;.const
0eb0: 20 4d 53 56 31 5f 30 5f 55 53 45 5f 43 4c 49 45   MSV1_0_USE_CLIE
0ec0: 4e 54 5f 43 48 41 4c 4c 45 4e 47 45 20 20 20 20  NT_CHALLENGE    
0ed0: 20 20 20 20 3d 20 20 20 20 20 20 20 20 31 32 38      =        128
0ee0: 3b 0a 63 6f 6e 73 74 20 4d 53 56 31 5f 30 5f 55  ;.const MSV1_0_U
0ef0: 53 45 52 5f 53 45 53 53 49 4f 4e 5f 4b 45 59 5f  SER_SESSION_KEY_
0f00: 4c 45 4e 47 54 48 20 20 20 20 20 3d 20 20 20 20  LENGTH     =    
0f10: 20 20 20 20 20 31 36 3b 0a 0a 63 6f 6e 73 74 20       16;..const 
0f20: 63 68 61 72 5b 5d 0a 09 4d 53 56 31 5f 30 5f 53  char[]..MSV1_0_S
0f30: 55 42 41 55 54 48 45 4e 54 49 43 41 54 49 4f 4e  UBAUTHENTICATION
0f40: 5f 4b 45 59 0a 09 20 20 3d 20 60 53 79 73 74 65  _KEY..  = `Syste
0f50: 6d 5c 43 75 72 72 65 6e 74 43 6f 6e 74 72 6f 6c  m\CurrentControl
0f60: 53 65 74 5c 43 6f 6e 74 72 6f 6c 5c 4c 73 61 5c  Set\Control\Lsa\
0f70: 4d 53 56 31 5f 30 60 2c 0a 09 4d 53 56 31 5f 30  MSV1_0`,..MSV1_0
0f80: 5f 53 55 42 41 55 54 48 45 4e 54 49 43 41 54 49  _SUBAUTHENTICATI
0f90: 4f 4e 5f 56 41 4c 55 45 20 3d 20 22 41 75 74 68  ON_VALUE = "Auth
0fa0: 22 3b 0a 0a 63 6f 6e 73 74 20 41 43 43 45 53 53  ";..const ACCESS
0fb0: 5f 4d 41 53 4b 0a 09 50 4f 4c 49 43 59 5f 56 49  _MASK..POLICY_VI
0fc0: 45 57 5f 4c 4f 43 41 4c 5f 49 4e 46 4f 52 4d 41  EW_LOCAL_INFORMA
0fd0: 54 49 4f 4e 20 20 20 3d 20 30 78 30 30 30 31 2c  TION   = 0x0001,
0fe0: 0a 09 50 4f 4c 49 43 59 5f 56 49 45 57 5f 41 55  ..POLICY_VIEW_AU
0ff0: 44 49 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20  DIT_INFORMATION 
1000: 20 20 3d 20 30 78 30 30 30 32 2c 0a 09 50 4f 4c    = 0x0002,..POL
1010: 49 43 59 5f 47 45 54 5f 50 52 49 56 41 54 45 5f  ICY_GET_PRIVATE_
1020: 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 20 3d 20 30  INFORMATION  = 0
1030: 78 30 30 30 34 2c 0a 09 50 4f 4c 49 43 59 5f 54  x0004,..POLICY_T
1040: 52 55 53 54 5f 41 44 4d 49 4e 20 20 20 20 20 20  RUST_ADMIN      
1050: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 38          = 0x0008
1060: 2c 0a 09 50 4f 4c 49 43 59 5f 43 52 45 41 54 45  ,..POLICY_CREATE
1070: 5f 41 43 43 4f 55 4e 54 20 20 20 20 20 20 20 20  _ACCOUNT        
1080: 20 20 20 3d 20 30 78 30 30 31 30 2c 0a 09 50 4f     = 0x0010,..PO
1090: 4c 49 43 59 5f 43 52 45 41 54 45 5f 53 45 43 52  LICY_CREATE_SECR
10a0: 45 54 20 20 20 20 20 20 20 20 20 20 20 20 3d 20  ET            = 
10b0: 30 78 30 30 32 30 2c 0a 09 50 4f 4c 49 43 59 5f  0x0020,..POLICY_
10c0: 43 52 45 41 54 45 5f 50 52 49 56 49 4c 45 47 45  CREATE_PRIVILEGE
10d0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 34           = 0x004
10e0: 30 2c 0a 09 50 4f 4c 49 43 59 5f 53 45 54 5f 44  0,..POLICY_SET_D
10f0: 45 46 41 55 4c 54 5f 51 55 4f 54 41 5f 4c 49 4d  EFAULT_QUOTA_LIM
1100: 49 54 53 20 3d 20 30 78 30 30 38 30 2c 0a 09 50  ITS = 0x0080,..P
1110: 4f 4c 49 43 59 5f 53 45 54 5f 41 55 44 49 54 5f  OLICY_SET_AUDIT_
1120: 52 45 51 55 49 52 45 4d 45 4e 54 53 20 20 20 3d  REQUIREMENTS   =
1130: 20 30 78 30 31 30 30 2c 0a 09 50 4f 4c 49 43 59   0x0100,..POLICY
1140: 5f 41 55 44 49 54 5f 4c 4f 47 5f 41 44 4d 49 4e  _AUDIT_LOG_ADMIN
1150: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 32            = 0x02
1160: 30 30 2c 0a 09 50 4f 4c 49 43 59 5f 53 45 52 56  00,..POLICY_SERV
1170: 45 52 5f 41 44 4d 49 4e 20 20 20 20 20 20 20 20  ER_ADMIN        
1180: 20 20 20 20 20 3d 20 30 78 30 34 30 30 2c 0a 09       = 0x0400,..
1190: 50 4f 4c 49 43 59 5f 4c 4f 4f 4b 55 50 5f 4e 41  POLICY_LOOKUP_NA
11a0: 4d 45 53 20 20 20 20 20 20 20 20 20 20 20 20 20  MES             
11b0: 3d 20 30 78 30 38 30 30 2c 0a 0a 09 50 4f 4c 49  = 0x0800,...POLI
11c0: 43 59 5f 52 45 41 44 20 20 20 20 20 20 20 20 20  CY_READ         
11d0: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 53 54              = ST
11e0: 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 52 45  ANDARD_RIGHTS_RE
11f0: 41 44 20 20 20 20 20 7c 20 30 78 30 30 30 36 2c  AD     | 0x0006,
1200: 0a 09 50 4f 4c 49 43 59 5f 57 52 49 54 45 20 20  ..POLICY_WRITE  
1210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1220: 20 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47    = STANDARD_RIG
1230: 48 54 53 5f 57 52 49 54 45 20 20 20 20 7c 20 30  HTS_WRITE    | 0
1240: 78 30 37 46 38 2c 0a 09 50 4f 4c 49 43 59 5f 45  x07F8,..POLICY_E
1250: 58 45 43 55 54 45 20 20 20 20 20 20 20 20 20 20  XECUTE          
1260: 20 20 20 20 20 20 20 20 3d 20 53 54 41 4e 44 41          = STANDA
1270: 52 44 5f 52 49 47 48 54 53 5f 45 58 45 43 55 54  RD_RIGHTS_EXECUT
1280: 45 20 20 7c 20 30 78 30 38 30 31 2c 0a 09 50 4f  E  | 0x0801,..PO
1290: 4c 49 43 59 5f 41 4c 4c 5f 41 43 43 45 53 53 20  LICY_ALL_ACCESS 
12a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
12b0: 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f  STANDARD_RIGHTS_
12c0: 52 45 51 55 49 52 45 44 20 7c 20 30 78 30 46 46  REQUIRED | 0x0FF
12d0: 46 3b 0a 0a 63 6f 6e 73 74 20 50 4f 4c 49 43 59  F;..const POLICY
12e0: 5f 41 55 44 49 54 5f 45 56 45 4e 54 5f 55 4e 43  _AUDIT_EVENT_UNC
12f0: 48 41 4e 47 45 44 20 3d 20 30 3b 0a 63 6f 6e 73  HANGED = 0;.cons
1300: 74 20 50 4f 4c 49 43 59 5f 41 55 44 49 54 5f 45  t POLICY_AUDIT_E
1310: 56 45 4e 54 5f 53 55 43 43 45 53 53 20 20 20 3d  VENT_SUCCESS   =
1320: 20 31 3b 0a 63 6f 6e 73 74 20 50 4f 4c 49 43 59   1;.const POLICY
1330: 5f 41 55 44 49 54 5f 45 56 45 4e 54 5f 46 41 49  _AUDIT_EVENT_FAI
1340: 4c 55 52 45 20 20 20 3d 20 32 3b 0a 63 6f 6e 73  LURE   = 2;.cons
1350: 74 20 50 4f 4c 49 43 59 5f 41 55 44 49 54 5f 45  t POLICY_AUDIT_E
1360: 56 45 4e 54 5f 4e 4f 4e 45 20 20 20 20 20 20 3d  VENT_NONE      =
1370: 20 34 3b 0a 63 6f 6e 73 74 20 50 4f 4c 49 43 59   4;.const POLICY
1380: 5f 41 55 44 49 54 5f 45 56 45 4e 54 5f 4d 41 53  _AUDIT_EVENT_MAS
1390: 4b 20 20 20 20 20 20 3d 20 37 3b 0a 0a 65 6e 75  K      = 7;..enu
13a0: 6d 20 7b 0a 09 50 4f 4c 49 43 59 5f 4c 4f 43 41  m {..POLICY_LOCA
13b0: 54 49 4f 4e 5f 4c 4f 43 41 4c 20 3d 20 31 2c 0a  TION_LOCAL = 1,.
13c0: 09 50 4f 4c 49 43 59 5f 4c 4f 43 41 54 49 4f 4e  .POLICY_LOCATION
13d0: 5f 44 53 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 75 69  _DS.}..enum : ui
13e0: 6e 74 20 7b 0a 09 50 4f 4c 49 43 59 5f 4d 41 43  nt {..POLICY_MAC
13f0: 48 49 4e 45 5f 50 4f 4c 49 43 59 5f 4c 4f 43 41  HINE_POLICY_LOCA
1400: 4c 20 20 20 20 20 3d 20 20 20 20 20 20 20 20 20  L     =         
1410: 20 30 2c 0a 09 50 4f 4c 49 43 59 5f 4d 41 43 48   0,..POLICY_MACH
1420: 49 4e 45 5f 50 4f 4c 49 43 59 5f 44 45 46 41 55  INE_POLICY_DEFAU
1430: 4c 54 45 44 2c 0a 09 50 4f 4c 49 43 59 5f 4d 41  LTED,..POLICY_MA
1440: 43 48 49 4e 45 5f 50 4f 4c 49 43 59 5f 45 58 50  CHINE_POLICY_EXP
1450: 4c 49 43 49 54 2c 0a 09 50 4f 4c 49 43 59 5f 4d  LICIT,..POLICY_M
1460: 41 43 48 49 4e 45 5f 50 4f 4c 49 43 59 5f 55 4e  ACHINE_POLICY_UN
1470: 4b 4e 4f 57 4e 20 20 20 3d 20 30 78 46 46 46 46  KNOWN   = 0xFFFF
1480: 46 46 46 46 0a 7d 0a 0a 0a 63 6f 6e 73 74 20 50  FFFF.}...const P
1490: 4f 4c 49 43 59 5f 51 4f 53 5f 53 43 48 41 4e 45  OLICY_QOS_SCHANE
14a0: 4c 5f 52 45 51 55 49 52 45 44 20 20 20 20 20 20  L_REQUIRED      
14b0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 3b 0a        = 0x0001;.
14c0: 63 6f 6e 73 74 20 50 4f 4c 49 43 59 5f 51 4f 53  const POLICY_QOS
14d0: 5f 4f 55 54 42 4f 55 4e 44 5f 49 4e 54 45 47 52  _OUTBOUND_INTEGR
14e0: 49 54 59 20 20 20 20 20 20 20 20 20 20 3d 20 30  ITY          = 0
14f0: 78 30 30 30 32 3b 0a 63 6f 6e 73 74 20 50 4f 4c  x0002;.const POL
1500: 49 43 59 5f 51 4f 53 5f 4f 55 54 42 4f 55 4e 44  ICY_QOS_OUTBOUND
1510: 5f 43 4f 4e 46 49 44 45 4e 54 49 41 4c 49 54 59  _CONFIDENTIALITY
1520: 20 20 20 20 3d 20 30 78 30 30 30 34 3b 0a 63 6f      = 0x0004;.co
1530: 6e 73 74 20 50 4f 4c 49 43 59 5f 51 4f 53 5f 49  nst POLICY_QOS_I
1540: 4e 42 4f 55 4e 44 5f 49 4e 54 45 47 52 45 49 54  NBOUND_INTEGREIT
1550: 59 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30  Y          = 0x0
1560: 30 30 38 3b 0a 63 6f 6e 73 74 20 50 4f 4c 49 43  008;.const POLIC
1570: 59 5f 51 4f 53 5f 49 4e 42 4f 55 4e 44 5f 43 4f  Y_QOS_INBOUND_CO
1580: 4e 46 49 44 45 4e 54 49 41 4c 49 54 59 20 20 20  NFIDENTIALITY   
1590: 20 20 3d 20 30 78 30 30 31 30 3b 0a 63 6f 6e 73    = 0x0010;.cons
15a0: 74 20 50 4f 4c 49 43 59 5f 51 4f 53 5f 41 4c 4c  t POLICY_QOS_ALL
15b0: 4f 57 5f 4c 4f 43 41 4c 5f 52 4f 4f 54 5f 43 45  OW_LOCAL_ROOT_CE
15c0: 52 54 5f 53 54 4f 52 45 20 3d 20 30 78 30 30 32  RT_STORE = 0x002
15d0: 30 3b 0a 63 6f 6e 73 74 20 50 4f 4c 49 43 59 5f  0;.const POLICY_
15e0: 51 4f 53 5f 52 41 53 5f 53 45 52 56 45 52 5f 41  QOS_RAS_SERVER_A
15f0: 4c 4c 4f 57 45 44 20 20 20 20 20 20 20 20 20 20  LLOWED          
1600: 3d 20 30 78 30 30 34 30 3b 0a 63 6f 6e 73 74 20  = 0x0040;.const 
1610: 50 4f 4c 49 43 59 5f 51 4f 53 5f 44 48 43 50 5f  POLICY_QOS_DHCP_
1620: 53 45 52 56 45 52 5f 41 4c 4c 4f 57 44 20 20 20  SERVER_ALLOWD   
1630: 20 20 20 20 20 20 20 3d 20 30 78 30 30 38 30 3b         = 0x0080;
1640: 0a 0a 63 6f 6e 73 74 20 50 4f 4c 49 43 59 5f 4b  ..const POLICY_K
1650: 45 52 42 45 52 4f 53 5f 46 4f 52 57 41 52 44 41  ERBEROS_FORWARDA
1660: 42 4c 45 20 20 3d 20 31 3b 0a 63 6f 6e 73 74 20  BLE  = 1;.const 
1670: 50 4f 4c 49 43 59 5f 4b 45 52 42 45 52 4f 53 5f  POLICY_KERBEROS_
1680: 50 52 4f 58 59 41 42 4c 45 20 20 20 20 3d 20 32  PROXYABLE    = 2
1690: 3b 0a 63 6f 6e 73 74 20 50 4f 4c 49 43 59 5f 4b  ;.const POLICY_K
16a0: 45 52 42 45 52 4f 53 5f 52 45 4e 45 57 41 42 4c  ERBEROS_RENEWABL
16b0: 45 20 20 20 20 3d 20 34 3b 0a 63 6f 6e 73 74 20  E    = 4;.const 
16c0: 50 4f 4c 49 43 59 5f 4b 45 52 42 45 52 4f 53 5f  POLICY_KERBEROS_
16d0: 50 4f 53 54 44 41 54 45 41 42 4c 45 20 3d 20 38  POSTDATEABLE = 8
16e0: 3b 0a 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 0a  ;..const char[].
16f0: 09 53 41 4d 5f 50 41 53 53 57 4f 52 44 5f 43 48  .SAM_PASSWORD_CH
1700: 41 4e 47 45 5f 4e 4f 54 49 46 59 5f 52 4f 55 54  ANGE_NOTIFY_ROUT
1710: 49 4e 45 20 3d 20 22 50 61 73 73 77 6f 72 64 43  INE = "PasswordC
1720: 68 61 6e 67 65 4e 6f 74 69 66 79 22 2c 0a 09 53  hangeNotify",..S
1730: 41 4d 5f 49 4e 49 54 5f 4e 4f 54 49 46 49 43 41  AM_INIT_NOTIFICA
1740: 54 49 4f 4e 5f 52 4f 55 54 49 4e 45 20 20 20 20  TION_ROUTINE    
1750: 20 20 3d 20 22 49 6e 69 74 69 61 6c 69 7a 65 43    = "InitializeC
1760: 68 61 6e 67 65 4e 6f 74 69 66 79 22 2c 0a 09 53  hangeNotify",..S
1770: 41 4d 5f 50 41 53 53 57 4f 52 44 5f 46 49 4c 54  AM_PASSWORD_FILT
1780: 45 52 5f 52 4f 55 54 49 4e 45 20 20 20 20 20 20  ER_ROUTINE      
1790: 20 20 3d 20 22 50 61 73 73 77 6f 72 64 46 69 6c    = "PasswordFil
17a0: 74 65 72 22 3b 0a 0a 63 6f 6e 73 74 20 54 43 48  ter";..const TCH
17b0: 41 52 5b 5d 0a 09 53 45 5f 49 4e 54 45 52 41 43  AR[]..SE_INTERAC
17c0: 54 49 56 45 5f 4c 4f 47 4f 4e 5f 4e 41 4d 45 20  TIVE_LOGON_NAME 
17d0: 20 20 20 20 20 20 20 20 20 3d 20 22 53 65 49 6e           = "SeIn
17e0: 74 65 72 61 63 74 69 76 65 4c 6f 67 6f 6e 52 69  teractiveLogonRi
17f0: 67 68 74 22 2c 0a 09 53 45 5f 4e 45 54 57 4f 52  ght",..SE_NETWOR
1800: 4b 5f 4c 4f 47 4f 4e 5f 4e 41 4d 45 20 20 20 20  K_LOGON_NAME    
1810: 20 20 20 20 20 20 20 20 20 20 3d 20 22 53 65 4e            = "SeN
1820: 65 74 77 6f 72 6b 4c 6f 67 6f 6e 52 69 67 68 74  etworkLogonRight
1830: 22 2c 0a 09 53 45 5f 42 41 54 43 48 5f 4c 4f 47  ",..SE_BATCH_LOG
1840: 4f 4e 5f 4e 41 4d 45 20 20 20 20 20 20 20 20 20  ON_NAME         
1850: 20 20 20 20 20 20 20 3d 20 22 53 65 42 61 74 63         = "SeBatc
1860: 68 4c 6f 67 6f 6e 52 69 67 68 74 22 2c 0a 09 53  hLogonRight",..S
1870: 45 5f 53 45 52 56 49 43 45 5f 4c 4f 47 4f 4e 5f  E_SERVICE_LOGON_
1880: 4e 41 4d 45 20 20 20 20 20 20 20 20 20 20 20 20  NAME            
1890: 20 20 3d 20 22 53 65 53 65 72 76 69 63 65 4c 6f    = "SeServiceLo
18a0: 67 6f 6e 52 69 67 68 74 22 3b 0a 0a 65 6e 75 6d  gonRight";..enum
18b0: 20 7b 0a 09 54 52 55 53 54 5f 41 54 54 52 49 42   {..TRUST_ATTRIB
18c0: 55 54 45 5f 4e 4f 4e 5f 54 52 41 4e 53 49 54 49  UTE_NON_TRANSITI
18d0: 56 45 20 3d 20 20 20 20 20 20 20 20 20 31 2c 0a  VE =         1,.
18e0: 09 54 52 55 53 54 5f 41 54 54 52 49 42 55 54 45  .TRUST_ATTRIBUTE
18f0: 5f 55 50 4c 45 56 45 4c 5f 4f 4e 4c 59 20 20 20  _UPLEVEL_ONLY   
1900: 3d 20 20 20 20 20 20 20 20 20 32 2c 0a 09 54 52  =         2,..TR
1910: 55 53 54 5f 41 54 54 52 49 42 55 54 45 5f 54 52  UST_ATTRIBUTE_TR
1920: 45 45 5f 50 41 52 45 4e 54 20 20 20 20 3d 20 20  EE_PARENT    =  
1930: 20 34 31 39 34 33 30 34 2c 0a 09 54 52 55 53 54   4194304,..TRUST
1940: 5f 41 54 54 52 49 42 55 54 45 53 5f 56 41 4c 49  _ATTRIBUTES_VALI
1950: 44 20 20 20 20 20 20 20 20 20 3d 20 2d 31 36 35  D         = -165
1960: 38 30 36 30 39 0a 7d 0a 0a 65 6e 75 6d 20 7b 0a  80609.}..enum {.
1970: 09 54 52 55 53 54 5f 41 55 54 48 5f 54 59 50 45  .TRUST_AUTH_TYPE
1980: 5f 4e 4f 4e 45 2c 0a 09 54 52 55 53 54 5f 41 55  _NONE,..TRUST_AU
1990: 54 48 5f 54 59 50 45 5f 4e 54 34 4f 57 46 2c 0a  TH_TYPE_NT4OWF,.
19a0: 09 54 52 55 53 54 5f 41 55 54 48 5f 54 59 50 45  .TRUST_AUTH_TYPE
19b0: 5f 43 4c 45 41 52 0a 7d 0a 0a 65 6e 75 6d 20 7b  _CLEAR.}..enum {
19c0: 0a 09 54 52 55 53 54 5f 44 49 52 45 43 54 49 4f  ..TRUST_DIRECTIO
19d0: 4e 5f 44 49 53 41 42 4c 45 44 2c 0a 09 54 52 55  N_DISABLED,..TRU
19e0: 53 54 5f 44 49 52 45 43 54 49 4f 4e 5f 49 4e 42  ST_DIRECTION_INB
19f0: 4f 55 4e 44 2c 0a 09 54 52 55 53 54 5f 44 49 52  OUND,..TRUST_DIR
1a00: 45 43 54 49 4f 4e 5f 4f 55 54 42 4f 55 4e 44 2c  ECTION_OUTBOUND,
1a10: 0a 09 54 52 55 53 54 5f 44 49 52 45 43 54 49 4f  ..TRUST_DIRECTIO
1a20: 4e 5f 42 49 44 49 52 45 43 54 49 4f 4e 41 4c 0a  N_BIDIRECTIONAL.
1a30: 7d 0a 0a 65 6e 75 6d 20 7b 0a 09 54 52 55 53 54  }..enum {..TRUST
1a40: 5f 54 59 50 45 5f 44 4f 57 4e 4c 45 56 45 4c 20  _TYPE_DOWNLEVEL 
1a50: 3d 20 31 2c 0a 09 54 52 55 53 54 5f 54 59 50 45  = 1,..TRUST_TYPE
1a60: 5f 55 50 4c 45 56 45 4c 2c 0a 09 54 52 55 53 54  _UPLEVEL,..TRUST
1a70: 5f 54 59 50 45 5f 4d 49 54 2c 0a 09 54 52 55 53  _TYPE_MIT,..TRUS
1a80: 54 5f 54 59 50 45 5f 44 43 45 0a 7d 0a 0a 61 6c  T_TYPE_DCE.}..al
1a90: 69 61 73 20 55 4e 49 43 4f 44 45 5f 53 54 52 49  ias UNICODE_STRI
1aa0: 4e 47 20 4c 53 41 5f 55 4e 49 43 4f 44 45 5f 53  NG LSA_UNICODE_S
1ab0: 54 52 49 4e 47 3b 0a 61 6c 69 61 73 20 55 4e 49  TRING;.alias UNI
1ac0: 43 4f 44 45 5f 53 54 52 49 4e 47 2a 20 50 4c 53  CODE_STRING* PLS
1ad0: 41 5f 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47  A_UNICODE_STRING
1ae0: 3b 0a 61 6c 69 61 73 20 53 54 52 49 4e 47 20 4c  ;.alias STRING L
1af0: 53 41 5f 53 54 52 49 4e 47 3b 0a 61 6c 69 61 73  SA_STRING;.alias
1b00: 20 53 54 52 49 4e 47 2a 20 50 4c 53 41 5f 53 54   STRING* PLSA_ST
1b10: 52 49 4e 47 3b 0a 0a 65 6e 75 6d 20 4d 53 56 31  RING;..enum MSV1
1b20: 5f 30 5f 4c 4f 47 4f 4e 5f 53 55 42 4d 49 54 5f  _0_LOGON_SUBMIT_
1b30: 54 59 50 45 20 7b 0a 09 4d 73 56 31 5f 30 49 6e  TYPE {..MsV1_0In
1b40: 74 65 72 61 63 74 69 76 65 4c 6f 67 6f 6e 20 20  teractiveLogon  
1b50: 20 20 20 20 20 3d 20 32 2c 0a 09 4d 73 56 31 5f       = 2,..MsV1_
1b60: 30 4c 6d 32 30 4c 6f 67 6f 6e 2c 0a 09 4d 73 56  0Lm20Logon,..MsV
1b70: 31 5f 30 4e 65 74 77 6f 72 6b 4c 6f 67 6f 6e 2c  1_0NetworkLogon,
1b80: 0a 09 4d 73 56 31 5f 30 53 75 62 41 75 74 68 4c  ..MsV1_0SubAuthL
1b90: 6f 67 6f 6e 2c 0a 09 4d 73 56 31 5f 30 57 6f 72  ogon,..MsV1_0Wor
1ba0: 6b 73 74 61 74 69 6f 6e 55 6e 6c 6f 63 6b 4c 6f  kstationUnlockLo
1bb0: 67 6f 6e 20 3d 20 37 0a 7d 0a 61 6c 69 61 73 20  gon = 7.}.alias 
1bc0: 4d 53 56 31 5f 30 5f 4c 4f 47 4f 4e 5f 53 55 42  MSV1_0_LOGON_SUB
1bd0: 4d 49 54 5f 54 59 50 45 2a 20 50 4d 53 56 31 5f  MIT_TYPE* PMSV1_
1be0: 30 5f 4c 4f 47 4f 4e 5f 53 55 42 4d 49 54 5f 54  0_LOGON_SUBMIT_T
1bf0: 59 50 45 3b 0a 0a 65 6e 75 6d 20 4d 53 56 31 5f  YPE;..enum MSV1_
1c00: 30 5f 50 52 4f 46 49 4c 45 5f 42 55 46 46 45 52  0_PROFILE_BUFFER
1c10: 5f 54 59 50 45 20 7b 0a 09 4d 73 56 31 5f 30 49  _TYPE {..MsV1_0I
1c20: 6e 74 65 72 61 63 74 69 76 65 50 72 6f 66 69 6c  nteractiveProfil
1c30: 65 20 3d 20 32 2c 0a 09 4d 73 56 31 5f 30 4c 6d  e = 2,..MsV1_0Lm
1c40: 32 30 4c 6f 67 6f 6e 50 72 6f 66 69 6c 65 2c 0a  20LogonProfile,.
1c50: 09 4d 73 56 31 5f 30 53 6d 61 72 74 43 61 72 64  .MsV1_0SmartCard
1c60: 50 72 6f 66 69 6c 65 0a 7d 0a 61 6c 69 61 73 20  Profile.}.alias 
1c70: 4d 53 56 31 5f 30 5f 50 52 4f 46 49 4c 45 5f 42  MSV1_0_PROFILE_B
1c80: 55 46 46 45 52 5f 54 59 50 45 2a 20 50 4d 53 56  UFFER_TYPE* PMSV
1c90: 31 5f 30 5f 50 52 4f 46 49 4c 45 5f 42 55 46 46  1_0_PROFILE_BUFF
1ca0: 45 52 5f 54 59 50 45 3b 0a 0a 0a 65 6e 75 6d 20  ER_TYPE;...enum 
1cb0: 4d 53 56 31 5f 30 5f 41 56 49 44 20 7b 0a 09 4d  MSV1_0_AVID {..M
1cc0: 73 76 41 76 45 4f 4c 2c 0a 09 4d 73 76 41 76 4e  svAvEOL,..MsvAvN
1cd0: 62 43 6f 6d 70 75 74 65 72 4e 61 6d 65 2c 0a 09  bComputerName,..
1ce0: 4d 73 76 41 76 4e 62 44 6f 6d 61 69 6e 4e 61 6d  MsvAvNbDomainNam
1cf0: 65 2c 0a 09 4d 73 76 41 76 44 6e 73 43 6f 6d 70  e,..MsvAvDnsComp
1d00: 75 74 65 72 4e 61 6d 65 2c 0a 09 4d 73 76 41 76  uterName,..MsvAv
1d10: 44 6e 73 44 6f 6d 61 69 6e 4e 61 6d 65 0a 7d 0a  DnsDomainName.}.
1d20: 0a 65 6e 75 6d 20 4d 53 56 31 5f 30 5f 50 52 4f  .enum MSV1_0_PRO
1d30: 54 4f 43 4f 4c 5f 4d 45 53 53 41 47 45 5f 54 59  TOCOL_MESSAGE_TY
1d40: 50 45 20 7b 0a 09 4d 73 56 31 5f 30 4c 6d 32 30  PE {..MsV1_0Lm20
1d50: 43 68 61 6c 6c 65 6e 67 65 52 65 71 75 65 73 74  ChallengeRequest
1d60: 20 3d 20 30 2c 0a 09 4d 73 56 31 5f 30 4c 6d 32   = 0,..MsV1_0Lm2
1d70: 30 47 65 74 43 68 61 6c 6c 65 6e 67 65 52 65 73  0GetChallengeRes
1d80: 70 6f 6e 73 65 2c 0a 09 4d 73 56 31 5f 30 45 6e  ponse,..MsV1_0En
1d90: 75 6d 65 72 61 74 65 55 73 65 72 73 2c 0a 09 4d  umerateUsers,..M
1da0: 73 56 31 5f 30 47 65 74 55 73 65 72 49 6e 66 6f  sV1_0GetUserInfo
1db0: 2c 0a 09 4d 73 56 31 5f 30 52 65 4c 6f 67 6f 6e  ,..MsV1_0ReLogon
1dc0: 55 73 65 72 73 2c 0a 09 4d 73 56 31 5f 30 43 68  Users,..MsV1_0Ch
1dd0: 61 6e 67 65 50 61 73 73 77 6f 72 64 2c 0a 09 4d  angePassword,..M
1de0: 73 56 31 5f 30 43 68 61 6e 67 65 43 61 63 68 65  sV1_0ChangeCache
1df0: 64 50 61 73 73 77 6f 72 64 2c 0a 09 4d 73 56 31  dPassword,..MsV1
1e00: 5f 30 47 65 6e 65 72 69 63 50 61 73 73 74 68 72  _0GenericPassthr
1e10: 6f 75 67 68 2c 0a 09 4d 73 56 31 5f 30 43 61 63  ough,..MsV1_0Cac
1e20: 68 65 4c 6f 67 6f 6e 2c 0a 09 4d 73 56 31 5f 30  heLogon,..MsV1_0
1e30: 53 75 62 41 75 74 68 2c 0a 09 4d 73 56 31 5f 30  SubAuth,..MsV1_0
1e40: 44 65 72 69 76 65 43 72 65 64 65 6e 74 69 61 6c  DeriveCredential
1e50: 2c 0a 09 4d 73 56 31 5f 30 43 61 63 68 65 4c 6f  ,..MsV1_0CacheLo
1e60: 6f 6b 75 70 0a 7d 0a 61 6c 69 61 73 20 4d 53 56  okup.}.alias MSV
1e70: 31 5f 30 5f 50 52 4f 54 4f 43 4f 4c 5f 4d 45 53  1_0_PROTOCOL_MES
1e80: 53 41 47 45 5f 54 59 50 45 2a 20 50 4d 53 56 31  SAGE_TYPE* PMSV1
1e90: 5f 30 5f 50 52 4f 54 4f 43 4f 4c 5f 4d 45 53 53  _0_PROTOCOL_MESS
1ea0: 41 47 45 5f 54 59 50 45 3b 0a 0a 65 6e 75 6d 20  AGE_TYPE;..enum 
1eb0: 50 4f 4c 49 43 59 5f 4c 53 41 5f 53 45 52 56 45  POLICY_LSA_SERVE
1ec0: 52 5f 52 4f 4c 45 20 7b 0a 09 50 6f 6c 69 63 79  R_ROLE {..Policy
1ed0: 53 65 72 76 65 72 52 6f 6c 65 42 61 63 6b 75 70  ServerRoleBackup
1ee0: 20 3d 20 32 2c 0a 09 50 6f 6c 69 63 79 53 65 72   = 2,..PolicySer
1ef0: 76 65 72 52 6f 6c 65 50 72 69 6d 61 72 79 0a 7d  verRolePrimary.}
1f00: 0a 61 6c 69 61 73 20 50 4f 4c 49 43 59 5f 4c 53  .alias POLICY_LS
1f10: 41 5f 53 45 52 56 45 52 5f 52 4f 4c 45 2a 20 50  A_SERVER_ROLE* P
1f20: 50 4f 4c 49 43 59 5f 4c 53 41 5f 53 45 52 56 45  POLICY_LSA_SERVE
1f30: 52 5f 52 4f 4c 45 3b 0a 0a 65 6e 75 6d 20 50 4f  R_ROLE;..enum PO
1f40: 4c 49 43 59 5f 53 45 52 56 45 52 5f 45 4e 41 42  LICY_SERVER_ENAB
1f50: 4c 45 5f 53 54 41 54 45 20 7b 0a 09 50 6f 6c 69  LE_STATE {..Poli
1f60: 63 79 53 65 72 76 65 72 45 6e 61 62 6c 65 64 20  cyServerEnabled 
1f70: 3d 20 32 2c 0a 09 50 6f 6c 69 63 79 53 65 72 76  = 2,..PolicyServ
1f80: 65 72 44 69 73 61 62 6c 65 64 0a 7d 0a 61 6c 69  erDisabled.}.ali
1f90: 61 73 20 50 4f 4c 49 43 59 5f 53 45 52 56 45 52  as POLICY_SERVER
1fa0: 5f 45 4e 41 42 4c 45 5f 53 54 41 54 45 2a 20 50  _ENABLE_STATE* P
1fb0: 50 4f 4c 49 43 59 5f 53 45 52 56 45 52 5f 45 4e  POLICY_SERVER_EN
1fc0: 41 42 4c 45 5f 53 54 41 54 45 3b 0a 0a 65 6e 75  ABLE_STATE;..enu
1fd0: 6d 20 50 4f 4c 49 43 59 5f 49 4e 46 4f 52 4d 41  m POLICY_INFORMA
1fe0: 54 49 4f 4e 5f 43 4c 41 53 53 20 7b 0a 09 50 6f  TION_CLASS {..Po
1ff0: 6c 69 63 79 41 75 64 69 74 4c 6f 67 49 6e 66 6f  licyAuditLogInfo
2000: 72 6d 61 74 69 6f 6e 20 3d 20 31 2c 0a 09 50 6f  rmation = 1,..Po
2010: 6c 69 63 79 41 75 64 69 74 45 76 65 6e 74 73 49  licyAuditEventsI
2020: 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 50 6f 6c  nformation,..Pol
2030: 69 63 79 50 72 69 6d 61 72 79 44 6f 6d 61 69 6e  icyPrimaryDomain
2040: 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 50 6f  Information,..Po
2050: 6c 69 63 79 50 64 41 63 63 6f 75 6e 74 49 6e 66  licyPdAccountInf
2060: 6f 72 6d 61 74 69 6f 6e 2c 0a 09 50 6f 6c 69 63  ormation,..Polic
2070: 79 41 63 63 6f 75 6e 74 44 6f 6d 61 69 6e 49 6e  yAccountDomainIn
2080: 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 50 6f 6c 69  formation,..Poli
2090: 63 79 4c 73 61 53 65 72 76 65 72 52 6f 6c 65 49  cyLsaServerRoleI
20a0: 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 50 6f 6c  nformation,..Pol
20b0: 69 63 79 52 65 70 6c 69 63 61 53 6f 75 72 63 65  icyReplicaSource
20c0: 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 50 6f  Information,..Po
20d0: 6c 69 63 79 44 65 66 61 75 6c 74 51 75 6f 74 61  licyDefaultQuota
20e0: 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 50 6f  Information,..Po
20f0: 6c 69 63 79 4d 6f 64 69 66 69 63 61 74 69 6f 6e  licyModification
2100: 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 50 6f  Information,..Po
2110: 6c 69 63 79 41 75 64 69 74 46 75 6c 6c 53 65 74  licyAuditFullSet
2120: 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 50 6f  Information,..Po
2130: 6c 69 63 79 41 75 64 69 74 46 75 6c 6c 51 75 65  licyAuditFullQue
2140: 72 79 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09  ryInformation,..
2150: 50 6f 6c 69 63 79 44 6e 73 44 6f 6d 61 69 6e 49  PolicyDnsDomainI
2160: 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 50 6f 6c  nformation,..Pol
2170: 69 63 79 45 66 73 49 6e 66 6f 72 6d 61 74 69 6f  icyEfsInformatio
2180: 6e 0a 7d 0a 61 6c 69 61 73 20 50 4f 4c 49 43 59  n.}.alias POLICY
2190: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41  _INFORMATION_CLA
21a0: 53 53 2a 20 50 50 4f 4c 49 43 59 5f 49 4e 46 4f  SS* PPOLICY_INFO
21b0: 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 3b 0a 0a  RMATION_CLASS;..
21c0: 65 6e 75 6d 20 50 4f 4c 49 43 59 5f 41 55 44 49  enum POLICY_AUDI
21d0: 54 5f 45 56 45 4e 54 5f 54 59 50 45 20 7b 0a 09  T_EVENT_TYPE {..
21e0: 41 75 64 69 74 43 61 74 65 67 6f 72 79 53 79 73  AuditCategorySys
21f0: 74 65 6d 2c 0a 09 41 75 64 69 74 43 61 74 65 67  tem,..AuditCateg
2200: 6f 72 79 4c 6f 67 6f 6e 2c 0a 09 41 75 64 69 74  oryLogon,..Audit
2210: 43 61 74 65 67 6f 72 79 4f 62 6a 65 63 74 41 63  CategoryObjectAc
2220: 63 65 73 73 2c 0a 09 41 75 64 69 74 43 61 74 65  cess,..AuditCate
2230: 67 6f 72 79 50 72 69 76 69 6c 65 67 65 55 73 65  goryPrivilegeUse
2240: 2c 0a 09 41 75 64 69 74 43 61 74 65 67 6f 72 79  ,..AuditCategory
2250: 44 65 74 61 69 6c 65 64 54 72 61 63 6b 69 6e 67  DetailedTracking
2260: 2c 0a 09 41 75 64 69 74 43 61 74 65 67 6f 72 79  ,..AuditCategory
2270: 50 6f 6c 69 63 79 43 68 61 6e 67 65 2c 0a 09 41  PolicyChange,..A
2280: 75 64 69 74 43 61 74 65 67 6f 72 79 41 63 63 6f  uditCategoryAcco
2290: 75 6e 74 4d 61 6e 61 67 65 6d 65 6e 74 2c 0a 09  untManagement,..
22a0: 41 75 64 69 74 43 61 74 65 67 6f 72 79 44 69 72  AuditCategoryDir
22b0: 65 63 74 6f 72 79 53 65 72 76 69 63 65 41 63 63  ectoryServiceAcc
22c0: 65 73 73 2c 0a 09 41 75 64 69 74 43 61 74 65 67  ess,..AuditCateg
22d0: 6f 72 79 41 63 63 6f 75 6e 74 4c 6f 67 6f 6e 0a  oryAccountLogon.
22e0: 7d 0a 61 6c 69 61 73 20 50 4f 4c 49 43 59 5f 41  }.alias POLICY_A
22f0: 55 44 49 54 5f 45 56 45 4e 54 5f 54 59 50 45 2a  UDIT_EVENT_TYPE*
2300: 20 50 50 4f 4c 49 43 59 5f 41 55 44 49 54 5f 45   PPOLICY_AUDIT_E
2310: 56 45 4e 54 5f 54 59 50 45 3b 0a 0a 65 6e 75 6d  VENT_TYPE;..enum
2320: 20 50 4f 4c 49 43 59 5f 4c 4f 43 41 4c 5f 49 4e   POLICY_LOCAL_IN
2330: 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 20  FORMATION_CLASS 
2340: 7b 0a 09 50 6f 6c 69 63 79 4c 6f 63 61 6c 41 75  {..PolicyLocalAu
2350: 64 69 74 45 76 65 6e 74 73 49 6e 66 6f 72 6d 61  ditEventsInforma
2360: 74 69 6f 6e 20 3d 20 31 2c 0a 09 50 6f 6c 69 63  tion = 1,..Polic
2370: 79 4c 6f 63 61 6c 50 64 41 63 63 6f 75 6e 74 49  yLocalPdAccountI
2380: 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 50 6f 6c  nformation,..Pol
2390: 69 63 79 4c 6f 63 61 6c 41 63 63 6f 75 6e 74 44  icyLocalAccountD
23a0: 6f 6d 61 69 6e 49 6e 66 6f 72 6d 61 74 69 6f 6e  omainInformation
23b0: 2c 0a 09 50 6f 6c 69 63 79 4c 6f 63 61 6c 4c 73  ,..PolicyLocalLs
23c0: 61 53 65 72 76 65 72 52 6f 6c 65 49 6e 66 6f 72  aServerRoleInfor
23d0: 6d 61 74 69 6f 6e 2c 0a 09 50 6f 6c 69 63 79 4c  mation,..PolicyL
23e0: 6f 63 61 6c 52 65 70 6c 69 63 61 53 6f 75 72 63  ocalReplicaSourc
23f0: 65 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 50  eInformation,..P
2400: 6f 6c 69 63 79 4c 6f 63 61 6c 4d 6f 64 69 66 69  olicyLocalModifi
2410: 63 61 74 69 6f 6e 49 6e 66 6f 72 6d 61 74 69 6f  cationInformatio
2420: 6e 2c 0a 09 50 6f 6c 69 63 79 4c 6f 63 61 6c 41  n,..PolicyLocalA
2430: 75 64 69 74 46 75 6c 6c 53 65 74 49 6e 66 6f 72  uditFullSetInfor
2440: 6d 61 74 69 6f 6e 2c 0a 09 50 6f 6c 69 63 79 4c  mation,..PolicyL
2450: 6f 63 61 6c 41 75 64 69 74 46 75 6c 6c 51 75 65  ocalAuditFullQue
2460: 72 79 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09  ryInformation,..
2470: 50 6f 6c 69 63 79 4c 6f 63 61 6c 44 6e 73 44 6f  PolicyLocalDnsDo
2480: 6d 61 69 6e 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c  mainInformation,
2490: 0a 09 50 6f 6c 69 63 79 4c 6f 63 61 6c 49 50 53  ..PolicyLocalIPS
24a0: 65 63 52 65 66 65 72 65 6e 63 65 49 6e 66 6f 72  ecReferenceInfor
24b0: 6d 61 74 69 6f 6e 2c 0a 09 50 6f 6c 69 63 79 4c  mation,..PolicyL
24c0: 6f 63 61 6c 4d 61 63 68 69 6e 65 50 61 73 73 77  ocalMachinePassw
24d0: 6f 72 64 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a  ordInformation,.
24e0: 09 50 6f 6c 69 63 79 4c 6f 63 61 6c 51 75 61 6c  .PolicyLocalQual
24f0: 69 74 79 4f 66 53 65 72 76 69 63 65 49 6e 66 6f  ityOfServiceInfo
2500: 72 6d 61 74 69 6f 6e 2c 0a 09 50 6f 6c 69 63 79  rmation,..Policy
2510: 4c 6f 63 61 6c 50 6f 6c 69 63 79 4c 6f 63 61 74  LocalPolicyLocat
2520: 69 6f 6e 49 6e 66 6f 72 6d 61 74 69 6f 6e 0a 7d  ionInformation.}
2530: 0a 61 6c 69 61 73 20 50 4f 4c 49 43 59 5f 4c 4f  .alias POLICY_LO
2540: 43 41 4c 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f  CAL_INFORMATION_
2550: 43 4c 41 53 53 2a 20 50 50 4f 4c 49 43 59 5f 4c  CLASS* PPOLICY_L
2560: 4f 43 41 4c 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  OCAL_INFORMATION
2570: 5f 43 4c 41 53 53 3b 0a 0a 65 6e 75 6d 20 50 4f  _CLASS;..enum PO
2580: 4c 49 43 59 5f 44 4f 4d 41 49 4e 5f 49 4e 46 4f  LICY_DOMAIN_INFO
2590: 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 20 7b 0a  RMATION_CLASS {.
25a0: 09 50 6f 6c 69 63 79 44 6f 6d 61 69 6e 49 50 53  .PolicyDomainIPS
25b0: 65 63 52 65 66 65 72 65 6e 63 65 49 6e 66 6f 72  ecReferenceInfor
25c0: 6d 61 74 69 6f 6e 20 3d 20 31 2c 0a 09 50 6f 6c  mation = 1,..Pol
25d0: 69 63 79 44 6f 6d 61 69 6e 51 75 61 6c 69 74 79  icyDomainQuality
25e0: 4f 66 53 65 72 76 69 63 65 49 6e 66 6f 72 6d 61  OfServiceInforma
25f0: 74 69 6f 6e 2c 0a 09 50 6f 6c 69 63 79 44 6f 6d  tion,..PolicyDom
2600: 61 69 6e 45 66 73 49 6e 66 6f 72 6d 61 74 69 6f  ainEfsInformatio
2610: 6e 2c 0a 09 50 6f 6c 69 63 79 44 6f 6d 61 69 6e  n,..PolicyDomain
2620: 50 75 62 6c 69 63 4b 65 79 49 6e 66 6f 72 6d 61  PublicKeyInforma
2630: 74 69 6f 6e 2c 0a 09 50 6f 6c 69 63 79 44 6f 6d  tion,..PolicyDom
2640: 61 69 6e 50 61 73 73 77 6f 72 64 50 6f 6c 69 63  ainPasswordPolic
2650: 79 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 50  yInformation,..P
2660: 6f 6c 69 63 79 44 6f 6d 61 69 6e 4c 6f 63 6b 6f  olicyDomainLocko
2670: 75 74 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09  utInformation,..
2680: 50 6f 6c 69 63 79 44 6f 6d 61 69 6e 4b 65 72 62  PolicyDomainKerb
2690: 65 72 6f 73 54 69 63 6b 65 74 49 6e 66 6f 72 6d  erosTicketInform
26a0: 61 74 69 6f 6e 0a 7d 0a 61 6c 69 61 73 20 50 4f  ation.}.alias PO
26b0: 4c 49 43 59 5f 44 4f 4d 41 49 4e 5f 49 4e 46 4f  LICY_DOMAIN_INFO
26c0: 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 2a 20 50  RMATION_CLASS* P
26d0: 50 4f 4c 49 43 59 5f 44 4f 4d 41 49 4e 5f 49 4e  POLICY_DOMAIN_IN
26e0: 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 3b  FORMATION_CLASS;
26f0: 0a 0a 65 6e 75 6d 20 53 45 43 55 52 49 54 59 5f  ..enum SECURITY_
2700: 4c 4f 47 4f 4e 5f 54 59 50 45 20 7b 0a 09 49 6e  LOGON_TYPE {..In
2710: 74 65 72 61 63 74 69 76 65 20 3d 20 32 2c 0a 09  teractive = 2,..
2720: 4e 65 74 77 6f 72 6b 2c 0a 09 42 61 74 63 68 2c  Network,..Batch,
2730: 0a 09 53 65 72 76 69 63 65 2c 0a 09 50 72 6f 78  ..Service,..Prox
2740: 79 2c 0a 09 55 6e 6c 6f 63 6b 0a 7d 0a 61 6c 69  y,..Unlock.}.ali
2750: 61 73 20 53 45 43 55 52 49 54 59 5f 4c 4f 47 4f  as SECURITY_LOGO
2760: 4e 5f 54 59 50 45 2a 20 50 53 45 43 55 52 49 54  N_TYPE* PSECURIT
2770: 59 5f 4c 4f 47 4f 4e 5f 54 59 50 45 3b 0a 0a 65  Y_LOGON_TYPE;..e
2780: 6e 75 6d 20 54 52 55 53 54 45 44 5f 49 4e 46 4f  num TRUSTED_INFO
2790: 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 20 7b 0a  RMATION_CLASS {.
27a0: 09 54 72 75 73 74 65 64 44 6f 6d 61 69 6e 4e 61  .TrustedDomainNa
27b0: 6d 65 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 3d 20  meInformation = 
27c0: 31 2c 0a 09 54 72 75 73 74 65 64 43 6f 6e 74 72  1,..TrustedContr
27d0: 6f 6c 6c 65 72 73 49 6e 66 6f 72 6d 61 74 69 6f  ollersInformatio
27e0: 6e 2c 0a 09 54 72 75 73 74 65 64 50 6f 73 69 78  n,..TrustedPosix
27f0: 4f 66 66 73 65 74 49 6e 66 6f 72 6d 61 74 69 6f  OffsetInformatio
2800: 6e 2c 0a 09 54 72 75 73 74 65 64 50 61 73 73 77  n,..TrustedPassw
2810: 6f 72 64 49 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a  ordInformation,.
2820: 09 54 72 75 73 74 65 64 44 6f 6d 61 69 6e 49 6e  .TrustedDomainIn
2830: 66 6f 72 6d 61 74 69 6f 6e 42 61 73 69 63 2c 0a  formationBasic,.
2840: 09 54 72 75 73 74 65 64 44 6f 6d 61 69 6e 49 6e  .TrustedDomainIn
2850: 66 6f 72 6d 61 74 69 6f 6e 45 78 2c 0a 09 54 72  formationEx,..Tr
2860: 75 73 74 65 64 44 6f 6d 61 69 6e 41 75 74 68 49  ustedDomainAuthI
2870: 6e 66 6f 72 6d 61 74 69 6f 6e 2c 0a 09 54 72 75  nformation,..Tru
2880: 73 74 65 64 44 6f 6d 61 69 6e 46 75 6c 6c 49 6e  stedDomainFullIn
2890: 66 6f 72 6d 61 74 69 6f 6e 0a 7d 0a 61 6c 69 61  formation.}.alia
28a0: 73 20 54 52 55 53 54 45 44 5f 49 4e 46 4f 52 4d  s TRUSTED_INFORM
28b0: 41 54 49 4f 4e 5f 43 4c 41 53 53 2a 20 50 54 52  ATION_CLASS* PTR
28c0: 55 53 54 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f  USTED_INFORMATIO
28d0: 4e 5f 43 4c 41 53 53 3b 0a 0a 73 74 72 75 63 74  N_CLASS;..struct
28e0: 20 44 4f 4d 41 49 4e 5f 50 41 53 53 57 4f 52 44   DOMAIN_PASSWORD
28f0: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b 0a 09  _INFORMATION {..
2900: 55 53 48 4f 52 54 20 20 20 20 20 20 20 20 4d 69  USHORT        Mi
2910: 6e 50 61 73 73 77 6f 72 64 4c 65 6e 67 74 68 3b  nPasswordLength;
2920: 0a 09 55 53 48 4f 52 54 20 20 20 20 20 20 20 20  ..USHORT        
2930: 50 61 73 73 77 6f 72 64 48 69 73 74 6f 72 79 4c  PasswordHistoryL
2940: 65 6e 67 74 68 3b 0a 09 55 4c 4f 4e 47 20 20 20  ength;..ULONG   
2950: 20 20 20 20 20 20 50 61 73 73 77 6f 72 64 50 72        PasswordPr
2960: 6f 70 65 72 74 69 65 73 3b 0a 09 4c 41 52 47 45  operties;..LARGE
2970: 5f 49 4e 54 45 47 45 52 20 4d 61 78 50 61 73 73  _INTEGER MaxPass
2980: 77 6f 72 64 41 67 65 3b 0a 09 4c 41 52 47 45 5f  wordAge;..LARGE_
2990: 49 4e 54 45 47 45 52 20 4d 69 6e 50 61 73 73 77  INTEGER MinPassw
29a0: 6f 72 64 41 67 65 3b 0a 7d 0a 61 6c 69 61 73 20  ordAge;.}.alias 
29b0: 44 4f 4d 41 49 4e 5f 50 41 53 53 57 4f 52 44 5f  DOMAIN_PASSWORD_
29c0: 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 44 4f  INFORMATION* PDO
29d0: 4d 41 49 4e 5f 50 41 53 53 57 4f 52 44 5f 49 4e  MAIN_PASSWORD_IN
29e0: 46 4f 52 4d 41 54 49 4f 4e 3b 0a 0a 73 74 72 75  FORMATION;..stru
29f0: 63 74 20 4c 53 41 5f 45 4e 55 4d 45 52 41 54 49  ct LSA_ENUMERATI
2a00: 4f 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b  ON_INFORMATION {
2a10: 0a 09 50 53 49 44 20 53 69 64 3b 0a 7d 0a 61 6c  ..PSID Sid;.}.al
2a20: 69 61 73 20 4c 53 41 5f 45 4e 55 4d 45 52 41 54  ias LSA_ENUMERAT
2a30: 49 4f 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a  ION_INFORMATION*
2a40: 20 50 4c 53 41 5f 45 4e 55 4d 45 52 41 54 49 4f   PLSA_ENUMERATIO
2a50: 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0a 0a  N_INFORMATION;..
2a60: 61 6c 69 61 73 20 4f 42 4a 45 43 54 5f 41 54 54  alias OBJECT_ATT
2a70: 52 49 42 55 54 45 53 20 4c 53 41 5f 4f 42 4a 45  RIBUTES LSA_OBJE
2a80: 43 54 5f 41 54 54 52 49 42 55 54 45 53 3b 0a 61  CT_ATTRIBUTES;.a
2a90: 6c 69 61 73 20 4f 42 4a 45 43 54 5f 41 54 54 52  lias OBJECT_ATTR
2aa0: 49 42 55 54 45 53 2a 20 50 4c 53 41 5f 4f 42 4a  IBUTES* PLSA_OBJ
2ab0: 45 43 54 5f 41 54 54 52 49 42 55 54 45 53 3b 0a  ECT_ATTRIBUTES;.
2ac0: 0a 73 74 72 75 63 74 20 4c 53 41 5f 54 52 55 53  .struct LSA_TRUS
2ad0: 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b 0a  T_INFORMATION {.
2ae0: 09 4c 53 41 5f 55 4e 49 43 4f 44 45 5f 53 54 52  .LSA_UNICODE_STR
2af0: 49 4e 47 20 4e 61 6d 65 3b 0a 09 50 53 49 44 20  ING Name;..PSID 
2b00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 69                Si
2b10: 64 3b 0a 7d 0a 61 6c 69 61 73 20 4c 53 41 5f 54  d;.}.alias LSA_T
2b20: 52 55 53 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  RUST_INFORMATION
2b30: 20 54 52 55 53 54 45 44 5f 44 4f 4d 41 49 4e 5f   TRUSTED_DOMAIN_
2b40: 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 42 41 53 49  INFORMATION_BASI
2b50: 43 3b 0a 61 6c 69 61 73 20 4c 53 41 5f 54 52 55  C;.alias LSA_TRU
2b60: 53 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20  ST_INFORMATION* 
2b70: 50 4c 53 41 5f 54 52 55 53 54 5f 49 4e 46 4f 52  PLSA_TRUST_INFOR
2b80: 4d 41 54 49 4f 4e 3b 0a 2f 2a 09 69 6e 20 4d 69  MATION;./*.in Mi
2b90: 6e 47 57 20 28 66 75 72 74 68 65 72 20 64 6f 77  nGW (further dow
2ba0: 6e 20 74 68 65 20 63 6f 64 65 29 3a 0a 20 2a 09  n the code):. *.
2bb0: 09 74 79 70 65 64 65 66 20 50 4c 53 41 5f 54 52  .typedef PLSA_TR
2bc0: 55 53 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20  UST_INFORMATION 
2bd0: 2a 50 54 52 55 53 54 45 44 5f 44 4f 4d 41 49 4e  *PTRUSTED_DOMAIN
2be0: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 42 41 53  _INFORMATION_BAS
2bf0: 49 43 3b 0a 20 2a 09 62 75 74 20 69 74 20 64 6f  IC;. *.but it do
2c00: 65 73 6e 27 74 20 6c 6f 6f 6b 20 72 69 67 68 74  esn't look right
2c10: 2e 2e 2e 2e 0a 20 2a 2f 0a 61 6c 69 61 73 20 4c  ..... */.alias L
2c20: 53 41 5f 54 52 55 53 54 5f 49 4e 46 4f 52 4d 41  SA_TRUST_INFORMA
2c30: 54 49 4f 4e 2a 2a 20 50 54 52 55 53 54 45 44 5f  TION** PTRUSTED_
2c40: 44 4f 4d 41 49 4e 5f 49 4e 46 4f 52 4d 41 54 49  DOMAIN_INFORMATI
2c50: 4f 4e 5f 42 41 53 49 43 3b 0a 0a 73 74 72 75 63  ON_BASIC;..struc
2c60: 74 20 4c 53 41 5f 52 45 46 45 52 45 4e 43 45 44  t LSA_REFERENCED
2c70: 5f 44 4f 4d 41 49 4e 5f 4c 49 53 54 20 7b 0a 09  _DOMAIN_LIST {..
2c80: 55 4c 4f 4e 47 20 20 20 20 20 20 20 20 20 20 20  ULONG           
2c90: 20 20 20 20 20 20 20 45 6e 74 72 69 65 73 3b 0a         Entries;.
2ca0: 09 50 4c 53 41 5f 54 52 55 53 54 5f 49 4e 46 4f  .PLSA_TRUST_INFO
2cb0: 52 4d 41 54 49 4f 4e 20 44 6f 6d 61 69 6e 73 3b  RMATION Domains;
2cc0: 0a 7d 0a 61 6c 69 61 73 20 4c 53 41 5f 52 45 46  .}.alias LSA_REF
2cd0: 45 52 45 4e 43 45 44 5f 44 4f 4d 41 49 4e 5f 4c  ERENCED_DOMAIN_L
2ce0: 49 53 54 2a 20 50 4c 53 41 5f 52 45 46 45 52 45  IST* PLSA_REFERE
2cf0: 4e 43 45 44 5f 44 4f 4d 41 49 4e 5f 4c 49 53 54  NCED_DOMAIN_LIST
2d00: 3b 0a 0a 73 74 72 75 63 74 20 4c 53 41 5f 54 52  ;..struct LSA_TR
2d10: 41 4e 53 4c 41 54 45 44 5f 53 49 44 20 7b 0a 09  ANSLATED_SID {..
2d20: 53 49 44 5f 4e 41 4d 45 5f 55 53 45 20 55 73 65  SID_NAME_USE Use
2d30: 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 20 20 20 20  ;..ULONG        
2d40: 52 65 6c 61 74 69 76 65 49 64 3b 0a 09 4c 4f 4e  RelativeId;..LON
2d50: 47 20 20 20 20 20 20 20 20 20 44 6f 6d 61 69 6e  G         Domain
2d60: 49 6e 64 65 78 3b 0a 7d 0a 61 6c 69 61 73 20 4c  Index;.}.alias L
2d70: 53 41 5f 54 52 41 4e 53 4c 41 54 45 44 5f 53 49  SA_TRANSLATED_SI
2d80: 44 2a 20 50 4c 53 41 5f 54 52 41 4e 53 4c 41 54  D* PLSA_TRANSLAT
2d90: 45 44 5f 53 49 44 3b 0a 0a 73 74 72 75 63 74 20  ED_SID;..struct 
2da0: 4c 53 41 5f 54 52 41 4e 53 4c 41 54 45 44 5f 4e  LSA_TRANSLATED_N
2db0: 41 4d 45 20 7b 0a 09 53 49 44 5f 4e 41 4d 45 5f  AME {..SID_NAME_
2dc0: 55 53 45 20 20 20 20 20 20 20 55 73 65 3b 0a 09  USE       Use;..
2dd0: 4c 53 41 5f 55 4e 49 43 4f 44 45 5f 53 54 52 49  LSA_UNICODE_STRI
2de0: 4e 47 20 4e 61 6d 65 3b 0a 09 4c 4f 4e 47 20 20  NG Name;..LONG  
2df0: 20 20 20 20 20 20 20 20 20 20 20 20 20 44 6f 6d               Dom
2e00: 61 69 6e 49 6e 64 65 78 3b 0a 7d 0a 61 6c 69 61  ainIndex;.}.alia
2e10: 73 20 4c 53 41 5f 54 52 41 4e 53 4c 41 54 45 44  s LSA_TRANSLATED
2e20: 5f 4e 41 4d 45 2a 20 50 4c 53 41 5f 54 52 41 4e  _NAME* PLSA_TRAN
2e30: 53 4c 41 54 45 44 5f 4e 41 4d 45 3b 0a 0a 73 74  SLATED_NAME;..st
2e40: 72 75 63 74 20 4d 53 56 31 5f 30 5f 49 4e 54 45  ruct MSV1_0_INTE
2e50: 52 41 43 54 49 56 45 5f 4c 4f 47 4f 4e 20 7b 0a  RACTIVE_LOGON {.
2e60: 09 4d 53 56 31 5f 30 5f 4c 4f 47 4f 4e 5f 53 55  .MSV1_0_LOGON_SU
2e70: 42 4d 49 54 5f 54 59 50 45 20 4d 65 73 73 61 67  BMIT_TYPE Messag
2e80: 65 54 79 70 65 3b 0a 09 55 4e 49 43 4f 44 45 5f  eType;..UNICODE_
2e90: 53 54 52 49 4e 47 20 20 20 20 20 20 20 20 20 20  STRING          
2ea0: 20 4c 6f 67 6f 6e 44 6f 6d 61 69 6e 4e 61 6d 65   LogonDomainName
2eb0: 3b 0a 09 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e  ;..UNICODE_STRIN
2ec0: 47 20 20 20 20 20 20 20 20 20 20 20 55 73 65 72  G           User
2ed0: 4e 61 6d 65 3b 0a 09 55 4e 49 43 4f 44 45 5f 53  Name;..UNICODE_S
2ee0: 54 52 49 4e 47 20 20 20 20 20 20 20 20 20 20 20  TRING           
2ef0: 50 61 73 73 77 6f 72 64 3b 0a 7d 0a 61 6c 69 61  Password;.}.alia
2f00: 73 20 4d 53 56 31 5f 30 5f 49 4e 54 45 52 41 43  s MSV1_0_INTERAC
2f10: 54 49 56 45 5f 4c 4f 47 4f 4e 2a 20 50 4d 53 56  TIVE_LOGON* PMSV
2f20: 31 5f 30 5f 49 4e 54 45 52 41 43 54 49 56 45 5f  1_0_INTERACTIVE_
2f30: 4c 4f 47 4f 4e 3b 0a 0a 73 74 72 75 63 74 20 4d  LOGON;..struct M
2f40: 53 56 31 5f 30 5f 49 4e 54 45 52 41 43 54 49 56  SV1_0_INTERACTIV
2f50: 45 5f 50 52 4f 46 49 4c 45 20 7b 0a 09 4d 53 56  E_PROFILE {..MSV
2f60: 31 5f 30 5f 50 52 4f 46 49 4c 45 5f 42 55 46 46  1_0_PROFILE_BUFF
2f70: 45 52 5f 54 59 50 45 20 4d 65 73 73 61 67 65 54  ER_TYPE MessageT
2f80: 79 70 65 3b 0a 09 55 53 48 4f 52 54 20 20 20 20  ype;..USHORT    
2f90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2fa0: 20 4c 6f 67 6f 6e 43 6f 75 6e 74 3b 0a 09 55 53   LogonCount;..US
2fb0: 48 4f 52 54 20 20 20 20 20 20 20 20 20 20 20 20  HORT            
2fc0: 20 20 20 20 20 20 20 20 20 42 61 64 50 61 73 73           BadPass
2fd0: 77 6f 72 64 43 6f 75 6e 74 3b 0a 09 4c 41 52 47  wordCount;..LARG
2fe0: 45 5f 49 4e 54 45 47 45 52 20 20 20 20 20 20 20  E_INTEGER       
2ff0: 20 20 20 20 20 20 20 4c 6f 67 6f 6e 54 69 6d 65         LogonTime
3000: 3b 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52  ;..LARGE_INTEGER
3010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 6f                Lo
3020: 67 6f 66 66 54 69 6d 65 3b 0a 09 4c 41 52 47 45  goffTime;..LARGE
3030: 5f 49 4e 54 45 47 45 52 20 20 20 20 20 20 20 20  _INTEGER        
3040: 20 20 20 20 20 20 4b 69 63 6b 4f 66 66 54 69 6d        KickOffTim
3050: 65 3b 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45  e;..LARGE_INTEGE
3060: 52 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50  R              P
3070: 61 73 73 77 6f 72 64 4c 61 73 74 53 65 74 3b 0a  asswordLastSet;.
3080: 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 20  .LARGE_INTEGER  
3090: 20 20 20 20 20 20 20 20 20 20 20 20 50 61 73 73              Pass
30a0: 77 6f 72 64 43 61 6e 43 68 61 6e 67 65 3b 0a 09  wordCanChange;..
30b0: 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 20 20  LARGE_INTEGER   
30c0: 20 20 20 20 20 20 20 20 20 20 20 50 61 73 73 77             Passw
30d0: 6f 72 64 4d 75 73 74 43 68 61 6e 67 65 3b 0a 09  ordMustChange;..
30e0: 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 20 20  UNICODE_STRING  
30f0: 20 20 20 20 20 20 20 20 20 20 20 4c 6f 67 6f 6e             Logon
3100: 53 63 72 69 70 74 3b 0a 09 55 4e 49 43 4f 44 45  Script;..UNICODE
3110: 5f 53 54 52 49 4e 47 20 20 20 20 20 20 20 20 20  _STRING         
3120: 20 20 20 20 48 6f 6d 65 44 69 72 65 63 74 6f 72      HomeDirector
3130: 79 3b 0a 09 55 4e 49 43 4f 44 45 5f 53 54 52 49  y;..UNICODE_STRI
3140: 4e 47 20 20 20 20 20 20 20 20 20 20 20 20 20 46  NG             F
3150: 75 6c 6c 4e 61 6d 65 3b 0a 09 55 4e 49 43 4f 44  ullName;..UNICOD
3160: 45 5f 53 54 52 49 4e 47 20 20 20 20 20 20 20 20  E_STRING        
3170: 20 20 20 20 20 50 72 6f 66 69 6c 65 50 61 74 68       ProfilePath
3180: 3b 0a 09 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e  ;..UNICODE_STRIN
3190: 47 20 20 20 20 20 20 20 20 20 20 20 20 20 48 6f  G             Ho
31a0: 6d 65 44 69 72 65 63 74 6f 72 79 44 72 69 76 65  meDirectoryDrive
31b0: 3b 0a 09 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e  ;..UNICODE_STRIN
31c0: 47 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 6f  G             Lo
31d0: 67 6f 6e 53 65 72 76 65 72 3b 0a 09 55 4c 4f 4e  gonServer;..ULON
31e0: 47 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  G               
31f0: 20 20 20 20 20 20 20 55 73 65 72 46 6c 61 67 73         UserFlags
3200: 3b 0a 7d 0a 61 6c 69 61 73 20 4d 53 56 31 5f 30  ;.}.alias MSV1_0
3210: 5f 49 4e 54 45 52 41 43 54 49 56 45 5f 50 52 4f  _INTERACTIVE_PRO
3220: 46 49 4c 45 2a 20 50 4d 53 56 31 5f 30 5f 49 4e  FILE* PMSV1_0_IN
3230: 54 45 52 41 43 54 49 56 45 5f 50 52 4f 46 49 4c  TERACTIVE_PROFIL
3240: 45 3b 0a 0a 73 74 72 75 63 74 20 4d 53 56 31 5f  E;..struct MSV1_
3250: 30 5f 4c 4d 32 30 5f 4c 4f 47 4f 4e 20 7b 0a 09  0_LM20_LOGON {..
3260: 4d 53 56 31 5f 30 5f 4c 4f 47 4f 4e 5f 53 55 42  MSV1_0_LOGON_SUB
3270: 4d 49 54 5f 54 59 50 45 20 20 20 20 20 20 20 4d  MIT_TYPE       M
3280: 65 73 73 61 67 65 54 79 70 65 3b 0a 09 55 4e 49  essageType;..UNI
3290: 43 4f 44 45 5f 53 54 52 49 4e 47 20 20 20 20 20  CODE_STRING     
32a0: 20 20 20 20 20 20 20 20 20 20 20 20 4c 6f 67 6f              Logo
32b0: 6e 44 6f 6d 61 69 6e 4e 61 6d 65 3b 0a 09 55 4e  nDomainName;..UN
32c0: 49 43 4f 44 45 5f 53 54 52 49 4e 47 20 20 20 20  ICODE_STRING    
32d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 65               Use
32e0: 72 4e 61 6d 65 3b 0a 09 55 4e 49 43 4f 44 45 5f  rName;..UNICODE_
32f0: 53 54 52 49 4e 47 20 20 20 20 20 20 20 20 20 20  STRING          
3300: 20 20 20 20 20 20 20 57 6f 72 6b 73 74 61 74 69         Workstati
3310: 6f 6e 3b 0a 09 55 43 48 41 52 5b 4d 53 56 31 5f  on;..UCHAR[MSV1_
3320: 30 5f 43 48 41 4c 4c 45 4e 47 45 5f 4c 45 4e 47  0_CHALLENGE_LENG
3330: 54 48 5d 20 43 68 61 6c 6c 65 6e 67 65 54 6f 43  TH] ChallengeToC
3340: 6c 69 65 6e 74 3b 0a 09 53 54 52 49 4e 47 20 20  lient;..STRING  
3350: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3360: 20 20 20 20 20 20 20 43 61 73 65 53 65 6e 73 69         CaseSensi
3370: 74 69 76 65 43 68 61 6c 6c 65 6e 67 65 52 65 73  tiveChallengeRes
3380: 70 6f 6e 73 65 3b 0a 09 53 54 52 49 4e 47 20 20  ponse;..STRING  
3390: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
33a0: 20 20 20 20 20 20 20 43 61 73 65 49 6e 73 65 6e         CaseInsen
33b0: 73 69 74 69 76 65 43 68 61 6c 6c 65 6e 67 65 52  sitiveChallengeR
33c0: 65 73 70 6f 6e 73 65 3b 0a 09 55 4c 4f 4e 47 20  esponse;..ULONG 
33d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
33e0: 20 20 20 20 20 20 20 20 20 50 61 72 61 6d 65 74           Paramet
33f0: 65 72 43 6f 6e 74 72 6f 6c 3b 0a 7d 0a 61 6c 69  erControl;.}.ali
3400: 61 73 20 4d 53 56 31 5f 30 5f 4c 4d 32 30 5f 4c  as MSV1_0_LM20_L
3410: 4f 47 4f 4e 2a 20 50 4d 53 56 31 5f 30 5f 4c 4d  OGON* PMSV1_0_LM
3420: 32 30 5f 4c 4f 47 4f 4e 3b 0a 0a 73 74 61 74 69  20_LOGON;..stati
3430: 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e  c if (_WIN32_WIN
3440: 4e 54 5f 4f 4e 4c 59 20 26 26 20 5f 57 49 4e 33  NT_ONLY && _WIN3
3450: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 30  2_WINNT >= 0x500
3460: 29 20 7b 0a 09 73 74 72 75 63 74 20 4d 53 56 31  ) {..struct MSV1
3470: 5f 30 5f 53 55 42 41 55 54 48 5f 4c 4f 47 4f 4e  _0_SUBAUTH_LOGON
3480: 20 7b 0a 09 09 4d 53 56 31 5f 30 5f 4c 4f 47 4f   {...MSV1_0_LOGO
3490: 4e 5f 53 55 42 4d 49 54 5f 54 59 50 45 20 20 20  N_SUBMIT_TYPE   
34a0: 20 20 20 20 4d 65 73 73 61 67 65 54 79 70 65 3b      MessageType;
34b0: 0a 09 09 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e  ...UNICODE_STRIN
34c0: 47 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  G               
34d0: 20 20 4c 6f 67 6f 6e 44 6f 6d 61 69 6e 4e 61 6d    LogonDomainNam
34e0: 65 3b 0a 09 09 55 4e 49 43 4f 44 45 5f 53 54 52  e;...UNICODE_STR
34f0: 49 4e 47 20 20 20 20 20 20 20 20 20 20 20 20 20  ING             
3500: 20 20 20 20 55 73 65 72 4e 61 6d 65 3b 0a 09 09      UserName;...
3510: 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 20 20  UNICODE_STRING  
3520: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57                 W
3530: 6f 72 6b 73 74 61 74 69 6f 6e 3b 0a 09 09 55 43  orkstation;...UC
3540: 48 41 52 5b 4d 53 56 31 5f 30 5f 43 48 41 4c 4c  HAR[MSV1_0_CHALL
3550: 45 4e 47 45 5f 4c 45 4e 47 54 48 5d 20 43 68 61  ENGE_LENGTH] Cha
3560: 6c 6c 65 6e 67 65 54 6f 43 6c 69 65 6e 74 3b 0a  llengeToClient;.
3570: 09 09 53 54 52 49 4e 47 20 20 20 20 20 20 20 20  ..STRING        
3580: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3590: 20 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 49   AuthenticationI
35a0: 6e 66 6f 31 3b 0a 09 09 53 54 52 49 4e 47 20 20  nfo1;...STRING  
35b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
35c0: 20 20 20 20 20 20 20 41 75 74 68 65 6e 74 69 63         Authentic
35d0: 61 74 69 6f 6e 49 6e 66 6f 32 3b 0a 09 09 55 4c  ationInfo2;...UL
35e0: 4f 4e 47 20 20 20 20 20 20 20 20 20 20 20 20 20  ONG             
35f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72               Par
3600: 61 6d 65 74 65 72 43 6f 6e 74 72 6f 6c 3b 0a 09  ameterControl;..
3610: 09 55 4c 4f 4e 47 20 20 20 20 20 20 20 20 20 20  .ULONG          
3620: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3630: 53 75 62 41 75 74 68 50 61 63 6b 61 67 65 49 64  SubAuthPackageId
3640: 3b 0a 09 7d 0a 09 61 6c 69 61 73 20 4d 53 56 31  ;..}..alias MSV1
3650: 5f 30 5f 53 55 42 41 55 54 48 5f 4c 4f 47 4f 4e  _0_SUBAUTH_LOGON
3660: 2a 20 50 4d 53 56 31 5f 30 5f 53 55 42 41 55 54  * PMSV1_0_SUBAUT
3670: 48 5f 4c 4f 47 4f 4e 3b 0a 7d 0a 0a 73 74 72 75  H_LOGON;.}..stru
3680: 63 74 20 4d 53 56 31 5f 30 5f 4c 4d 32 30 5f 4c  ct MSV1_0_LM20_L
3690: 4f 47 4f 4e 5f 50 52 4f 46 49 4c 45 20 7b 0a 09  OGON_PROFILE {..
36a0: 4d 53 56 31 5f 30 5f 50 52 4f 46 49 4c 45 5f 42  MSV1_0_PROFILE_B
36b0: 55 46 46 45 52 5f 54 59 50 45 20 20 20 20 20 20  UFFER_TYPE      
36c0: 20 20 20 20 20 20 20 20 4d 65 73 73 61 67 65 54          MessageT
36d0: 79 70 65 3b 0a 09 4c 41 52 47 45 5f 49 4e 54 45  ype;..LARGE_INTE
36e0: 47 45 52 20 20 20 20 20 20 20 20 20 20 20 20 20  GER             
36f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4b 69                Ki
3700: 63 6b 4f 66 66 54 69 6d 65 3b 0a 09 4c 41 52 47  ckOffTime;..LARG
3710: 45 5f 49 4e 54 45 47 45 52 20 20 20 20 20 20 20  E_INTEGER       
3720: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3730: 20 20 20 20 4c 6f 67 6f 66 66 54 69 6d 65 3b 0a      LogoffTime;.
3740: 09 55 4c 4f 4e 47 20 20 20 20 20 20 20 20 20 20  .ULONG          
3750: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3760: 20 20 20 20 20 20 20 20 20 55 73 65 72 46 6c 61           UserFla
3770: 67 73 3b 0a 09 55 43 48 41 52 5b 4d 53 56 31 5f  gs;..UCHAR[MSV1_
3780: 30 5f 55 53 45 52 5f 53 45 53 53 49 4f 4e 5f 4b  0_USER_SESSION_K
3790: 45 59 5f 4c 45 4e 47 54 48 5d 20 20 20 55 73 65  EY_LENGTH]   Use
37a0: 72 53 65 73 73 69 6f 6e 4b 65 79 3b 0a 09 55 4e  rSessionKey;..UN
37b0: 49 43 4f 44 45 5f 53 54 52 49 4e 47 20 20 20 20  ICODE_STRING    
37c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
37d0: 20 20 20 20 20 20 4c 6f 67 6f 6e 44 6f 6d 61 69        LogonDomai
37e0: 6e 4e 61 6d 65 3b 0a 09 55 43 48 41 52 5b 4d 53  nName;..UCHAR[MS
37f0: 56 31 5f 30 5f 4c 41 4e 4d 41 4e 5f 53 45 53 53  V1_0_LANMAN_SESS
3800: 49 4f 4e 5f 4b 45 59 5f 4c 45 4e 47 54 48 5d 20  ION_KEY_LENGTH] 
3810: 4c 61 6e 6d 61 6e 53 65 73 73 69 6f 6e 4b 65 79  LanmanSessionKey
3820: 3b 0a 09 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e  ;..UNICODE_STRIN
3830: 47 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  G               
3840: 20 20 20 20 20 20 20 20 20 20 20 4c 6f 67 6f 6e             Logon
3850: 53 65 72 76 65 72 3b 0a 09 55 4e 49 43 4f 44 45  Server;..UNICODE
3860: 5f 53 54 52 49 4e 47 20 20 20 20 20 20 20 20 20  _STRING         
3870: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3880: 20 55 73 65 72 50 61 72 61 6d 65 74 65 72 73 3b   UserParameters;
3890: 0a 7d 0a 61 6c 69 61 73 20 4d 53 56 31 5f 30 5f  .}.alias MSV1_0_
38a0: 4c 4d 32 30 5f 4c 4f 47 4f 4e 5f 50 52 4f 46 49  LM20_LOGON_PROFI
38b0: 4c 45 2a 20 50 4d 53 56 31 5f 30 5f 4c 4d 32 30  LE* PMSV1_0_LM20
38c0: 5f 4c 4f 47 4f 4e 5f 50 52 4f 46 49 4c 45 3b 0a  _LOGON_PROFILE;.
38d0: 0a 73 74 72 75 63 74 20 4d 53 56 31 5f 30 5f 53  .struct MSV1_0_S
38e0: 55 50 50 4c 45 4d 45 4e 54 41 4c 5f 43 52 45 44  UPPLEMENTAL_CRED
38f0: 45 4e 54 49 41 4c 20 7b 0a 09 55 4c 4f 4e 47 20  ENTIAL {..ULONG 
3900: 56 65 72 73 69 6f 6e 3b 0a 09 55 4c 4f 4e 47 20  Version;..ULONG 
3910: 46 6c 61 67 73 3b 0a 09 55 43 48 41 52 5b 4d 53  Flags;..UCHAR[MS
3920: 56 31 5f 30 5f 4f 57 46 5f 50 41 53 53 57 4f 52  V1_0_OWF_PASSWOR
3930: 44 5f 4c 45 4e 47 54 48 5d 20 4c 6d 50 61 73 73  D_LENGTH] LmPass
3940: 77 6f 72 64 3b 0a 09 55 43 48 41 52 5b 4d 53 56  word;..UCHAR[MSV
3950: 31 5f 30 5f 4f 57 46 5f 50 41 53 53 57 4f 52 44  1_0_OWF_PASSWORD
3960: 5f 4c 45 4e 47 54 48 5d 20 4e 74 50 61 73 73 77  _LENGTH] NtPassw
3970: 6f 72 64 3b 0a 7d 0a 61 6c 69 61 73 20 4d 53 56  ord;.}.alias MSV
3980: 31 5f 30 5f 53 55 50 50 4c 45 4d 45 4e 54 41 4c  1_0_SUPPLEMENTAL
3990: 5f 43 52 45 44 45 4e 54 49 41 4c 2a 20 50 4d 53  _CREDENTIAL* PMS
39a0: 56 31 5f 30 5f 53 55 50 50 4c 45 4d 45 4e 54 41  V1_0_SUPPLEMENTA
39b0: 4c 5f 43 52 45 44 45 4e 54 49 41 4c 3b 0a 0a 73  L_CREDENTIAL;..s
39c0: 74 72 75 63 74 20 4d 53 56 31 5f 30 5f 4e 54 4c  truct MSV1_0_NTL
39d0: 4d 33 5f 52 45 53 50 4f 4e 53 45 20 7b 0a 09 55  M3_RESPONSE {..U
39e0: 43 48 41 52 5b 4d 53 56 31 5f 30 5f 4e 54 4c 4d  CHAR[MSV1_0_NTLM
39f0: 33 5f 52 45 53 50 4f 4e 53 45 5f 4c 45 4e 47 54  3_RESPONSE_LENGT
3a00: 48 5d 20 52 65 73 70 6f 6e 73 65 3b 0a 09 55 43  H] Response;..UC
3a10: 48 41 52 20 20 20 20 20 52 65 73 70 54 79 70 65  HAR     RespType
3a20: 3b 0a 09 55 43 48 41 52 20 20 20 20 20 48 69 52  ;..UCHAR     HiR
3a30: 65 73 70 54 79 70 65 3b 0a 09 55 53 48 4f 52 54  espType;..USHORT
3a40: 20 20 20 20 46 6c 61 67 73 3b 0a 09 55 4c 4f 4e      Flags;..ULON
3a50: 47 20 20 20 20 20 4d 73 67 57 6f 72 64 3b 0a 09  G     MsgWord;..
3a60: 55 4c 4f 4e 47 4c 4f 4e 47 20 54 69 6d 65 53 74  ULONGLONG TimeSt
3a70: 61 6d 70 3b 0a 09 55 43 48 41 52 5b 4d 53 56 31  amp;..UCHAR[MSV1
3a80: 5f 30 5f 43 48 41 4c 4c 45 4e 47 45 5f 4c 45 4e  _0_CHALLENGE_LEN
3a90: 47 54 48 5d 20 20 20 20 20 20 43 68 61 6c 6c 65  GTH]      Challe
3aa0: 6e 67 65 46 72 6f 6d 43 6c 69 65 6e 74 3b 0a 09  ngeFromClient;..
3ab0: 55 4c 4f 4e 47 20 20 20 20 20 41 76 50 61 69 72  ULONG     AvPair
3ac0: 73 4f 66 66 3b 0a 09 55 43 48 41 52 20 20 20 20  sOff;..UCHAR    
3ad0: 20 5f 42 75 66 66 65 72 3b 0a 09 55 43 48 41 52   _Buffer;..UCHAR
3ae0: 2a 20 20 20 20 42 75 66 66 65 72 28 29 20 7b 20  *    Buffer() { 
3af0: 72 65 74 75 72 6e 20 26 5f 42 75 66 66 65 72 3b  return &_Buffer;
3b00: 20 7d 0a 7d 0a 61 6c 69 61 73 20 4d 53 56 31 5f   }.}.alias MSV1_
3b10: 30 5f 4e 54 4c 4d 33 5f 52 45 53 50 4f 4e 53 45  0_NTLM3_RESPONSE
3b20: 2a 20 50 4d 53 56 31 5f 30 5f 4e 54 4c 4d 33 5f  * PMSV1_0_NTLM3_
3b30: 52 45 53 50 4f 4e 53 45 3b 0a 0a 73 74 72 75 63  RESPONSE;..struc
3b40: 74 20 20 4d 53 56 31 5f 30 5f 41 56 5f 50 41 49  t  MSV1_0_AV_PAI
3b50: 52 20 7b 0a 09 55 53 48 4f 52 54 20 41 76 49 64  R {..USHORT AvId
3b60: 3b 0a 09 55 53 48 4f 52 54 20 41 76 4c 65 6e 3b  ;..USHORT AvLen;
3b70: 0a 7d 0a 61 6c 69 61 73 20 4d 53 56 31 5f 30 5f  .}.alias MSV1_0_
3b80: 41 56 5f 50 41 49 52 2a 20 50 4d 53 56 31 5f 30  AV_PAIR* PMSV1_0
3b90: 5f 41 56 5f 50 41 49 52 3b 0a 0a 73 74 72 75 63  _AV_PAIR;..struc
3ba0: 74 20 4d 53 56 31 5f 30 5f 43 48 41 4e 47 45 50  t MSV1_0_CHANGEP
3bb0: 41 53 53 57 4f 52 44 5f 52 45 51 55 45 53 54 20  ASSWORD_REQUEST 
3bc0: 7b 0a 09 4d 53 56 31 5f 30 5f 50 52 4f 54 4f 43  {..MSV1_0_PROTOC
3bd0: 4f 4c 5f 4d 45 53 53 41 47 45 5f 54 59 50 45 20  OL_MESSAGE_TYPE 
3be0: 4d 65 73 73 61 67 65 54 79 70 65 3b 0a 09 55 4e  MessageType;..UN
3bf0: 49 43 4f 44 45 5f 53 54 52 49 4e 47 20 44 6f 6d  ICODE_STRING Dom
3c00: 61 69 6e 4e 61 6d 65 3b 0a 09 55 4e 49 43 4f 44  ainName;..UNICOD
3c10: 45 5f 53 54 52 49 4e 47 20 41 63 63 6f 75 6e 74  E_STRING Account
3c20: 4e 61 6d 65 3b 0a 09 55 4e 49 43 4f 44 45 5f 53  Name;..UNICODE_S
3c30: 54 52 49 4e 47 20 4f 6c 64 50 61 73 73 77 6f 72  TRING OldPasswor
3c40: 64 3b 0a 09 55 4e 49 43 4f 44 45 5f 53 54 52 49  d;..UNICODE_STRI
3c50: 4e 47 20 4e 65 77 50 61 73 73 77 6f 72 64 3b 0a  NG NewPassword;.
3c60: 09 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20 20  .BOOLEAN        
3c70: 49 6d 70 65 72 73 6f 6e 61 74 69 6e 67 3b 0a 7d  Impersonating;.}
3c80: 0a 61 6c 69 61 73 20 4d 53 56 31 5f 30 5f 43 48  .alias MSV1_0_CH
3c90: 41 4e 47 45 50 41 53 53 57 4f 52 44 5f 52 45 51  ANGEPASSWORD_REQ
3ca0: 55 45 53 54 2a 20 50 4d 53 56 31 5f 30 5f 43 48  UEST* PMSV1_0_CH
3cb0: 41 4e 47 45 50 41 53 53 57 4f 52 44 5f 52 45 51  ANGEPASSWORD_REQ
3cc0: 55 45 53 54 3b 0a 0a 73 74 72 75 63 74 20 4d 53  UEST;..struct MS
3cd0: 56 31 5f 30 5f 43 48 41 4e 47 45 50 41 53 53 57  V1_0_CHANGEPASSW
3ce0: 4f 52 44 5f 52 45 53 50 4f 4e 53 45 20 7b 0a 09  ORD_RESPONSE {..
3cf0: 4d 53 56 31 5f 30 5f 50 52 4f 54 4f 43 4f 4c 5f  MSV1_0_PROTOCOL_
3d00: 4d 45 53 53 41 47 45 5f 54 59 50 45 20 4d 65 73  MESSAGE_TYPE Mes
3d10: 73 61 67 65 54 79 70 65 3b 0a 09 42 4f 4f 4c 45  sageType;..BOOLE
3d20: 41 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20  AN              
3d30: 20 20 20 20 20 20 20 20 50 61 73 73 77 6f 72 64          Password
3d40: 49 6e 66 6f 56 61 6c 69 64 3b 0a 09 44 4f 4d 41  InfoValid;..DOMA
3d50: 49 4e 5f 50 41 53 53 57 4f 52 44 5f 49 4e 46 4f  IN_PASSWORD_INFO
3d60: 52 4d 41 54 49 4f 4e 20 20 44 6f 6d 61 69 6e 50  RMATION  DomainP
3d70: 61 73 73 77 6f 72 64 49 6e 66 6f 3b 0a 7d 0a 61  asswordInfo;.}.a
3d80: 6c 69 61 73 20 4d 53 56 31 5f 30 5f 43 48 41 4e  lias MSV1_0_CHAN
3d90: 47 45 50 41 53 53 57 4f 52 44 5f 52 45 53 50 4f  GEPASSWORD_RESPO
3da0: 4e 53 45 2a 20 50 4d 53 56 31 5f 30 5f 43 48 41  NSE* PMSV1_0_CHA
3db0: 4e 47 45 50 41 53 53 57 4f 52 44 5f 52 45 53 50  NGEPASSWORD_RESP
3dc0: 4f 4e 53 45 3b 0a 0a 73 74 72 75 63 74 20 4d 53  ONSE;..struct MS
3dd0: 56 31 5f 30 5f 53 55 42 41 55 54 48 5f 52 45 51  V1_0_SUBAUTH_REQ
3de0: 55 45 53 54 20 7b 0a 09 4d 53 56 31 5f 30 5f 50  UEST {..MSV1_0_P
3df0: 52 4f 54 4f 43 4f 4c 5f 4d 45 53 53 41 47 45 5f  ROTOCOL_MESSAGE_
3e00: 54 59 50 45 20 4d 65 73 73 61 67 65 54 79 70 65  TYPE MessageType
3e10: 3b 0a 09 55 4c 4f 4e 47 20 20 53 75 62 41 75 74  ;..ULONG  SubAut
3e20: 68 50 61 63 6b 61 67 65 49 64 3b 0a 09 55 4c 4f  hPackageId;..ULO
3e30: 4e 47 20 20 53 75 62 41 75 74 68 49 6e 66 6f 4c  NG  SubAuthInfoL
3e40: 65 6e 67 74 68 3b 0a 09 50 55 43 48 41 52 20 53  ength;..PUCHAR S
3e50: 75 62 41 75 74 68 53 75 62 6d 69 74 42 75 66 66  ubAuthSubmitBuff
3e60: 65 72 3b 0a 7d 0a 61 6c 69 61 73 20 4d 53 56 31  er;.}.alias MSV1
3e70: 5f 30 5f 53 55 42 41 55 54 48 5f 52 45 51 55 45  _0_SUBAUTH_REQUE
3e80: 53 54 2a 20 50 4d 53 56 31 5f 30 5f 53 55 42 41  ST* PMSV1_0_SUBA
3e90: 55 54 48 5f 52 45 51 55 45 53 54 3b 0a 0a 73 74  UTH_REQUEST;..st
3ea0: 72 75 63 74 20 4d 53 56 31 5f 30 5f 53 55 42 41  ruct MSV1_0_SUBA
3eb0: 55 54 48 5f 52 45 53 50 4f 4e 53 45 20 7b 0a 09  UTH_RESPONSE {..
3ec0: 4d 53 56 31 5f 30 5f 50 52 4f 54 4f 43 4f 4c 5f  MSV1_0_PROTOCOL_
3ed0: 4d 45 53 53 41 47 45 5f 54 59 50 45 20 4d 65 73  MESSAGE_TYPE Mes
3ee0: 73 61 67 65 54 79 70 65 3b 0a 09 55 4c 4f 4e 47  sageType;..ULONG
3ef0: 20 20 53 75 62 41 75 74 68 49 6e 66 6f 4c 65 6e    SubAuthInfoLen
3f00: 67 74 68 3b 0a 09 50 55 43 48 41 52 20 53 75 62  gth;..PUCHAR Sub
3f10: 41 75 74 68 52 65 74 75 72 6e 42 75 66 66 65 72  AuthReturnBuffer
3f20: 3b 0a 7d 0a 61 6c 69 61 73 20 4d 53 56 31 5f 30  ;.}.alias MSV1_0
3f30: 5f 53 55 42 41 55 54 48 5f 52 45 53 50 4f 4e 53  _SUBAUTH_RESPONS
3f40: 45 2a 20 50 4d 53 56 31 5f 30 5f 53 55 42 41 55  E* PMSV1_0_SUBAU
3f50: 54 48 5f 52 45 53 50 4f 4e 53 45 3b 0a 0a 63 6f  TH_RESPONSE;..co
3f60: 6e 73 74 20 4d 53 56 31 5f 30 5f 44 45 52 49 56  nst MSV1_0_DERIV
3f70: 45 43 52 45 44 5f 54 59 50 45 5f 53 48 41 31 20  ECRED_TYPE_SHA1 
3f80: 3d 20 30 3b 0a 0a 73 74 72 75 63 74 20 4d 53 56  = 0;..struct MSV
3f90: 31 5f 30 5f 44 45 52 49 56 45 43 52 45 44 5f 52  1_0_DERIVECRED_R
3fa0: 45 51 55 45 53 54 20 7b 0a 09 4d 53 56 31 5f 30  EQUEST {..MSV1_0
3fb0: 5f 50 52 4f 54 4f 43 4f 4c 5f 4d 45 53 53 41 47  _PROTOCOL_MESSAG
3fc0: 45 5f 54 59 50 45 20 4d 65 73 73 61 67 65 54 79  E_TYPE MessageTy
3fd0: 70 65 3b 0a 09 4c 55 49 44 20 20 20 4c 6f 67 6f  pe;..LUID   Logo
3fe0: 6e 49 64 3b 0a 09 55 4c 4f 4e 47 20 20 44 65 72  nId;..ULONG  Der
3ff0: 69 76 65 43 72 65 64 54 79 70 65 3b 0a 09 55 4c  iveCredType;..UL
4000: 4f 4e 47 20 20 44 65 72 69 76 65 43 72 65 64 49  ONG  DeriveCredI
4010: 6e 66 6f 4c 65 6e 67 74 68 3b 0a 09 55 43 48 41  nfoLength;..UCHA
4020: 52 20 20 5f 44 65 72 69 76 65 43 72 65 64 53 75  R  _DeriveCredSu
4030: 62 6d 69 74 42 75 66 66 65 72 3b 0a 09 55 43 48  bmitBuffer;..UCH
4040: 41 52 2a 20 44 65 72 69 76 65 43 72 65 64 53 75  AR* DeriveCredSu
4050: 62 6d 69 74 42 75 66 66 65 72 28 29 20 7b 20 72  bmitBuffer() { r
4060: 65 74 75 72 6e 20 26 5f 44 65 72 69 76 65 43 72  eturn &_DeriveCr
4070: 65 64 53 75 62 6d 69 74 42 75 66 66 65 72 3b 20  edSubmitBuffer; 
4080: 7d 0a 7d 0a 61 6c 69 61 73 20 4d 53 56 31 5f 30  }.}.alias MSV1_0
4090: 5f 44 45 52 49 56 45 43 52 45 44 5f 52 45 51 55  _DERIVECRED_REQU
40a0: 45 53 54 2a 20 50 4d 53 56 31 5f 30 5f 44 45 52  EST* PMSV1_0_DER
40b0: 49 56 45 43 52 45 44 5f 52 45 51 55 45 53 54 3b  IVECRED_REQUEST;
40c0: 0a 0a 73 74 72 75 63 74 20 4d 53 56 31 5f 30 5f  ..struct MSV1_0_
40d0: 44 45 52 49 56 45 43 52 45 44 5f 52 45 53 50 4f  DERIVECRED_RESPO
40e0: 4e 53 45 20 7b 0a 09 4d 53 56 31 5f 30 5f 50 52  NSE {..MSV1_0_PR
40f0: 4f 54 4f 43 4f 4c 5f 4d 45 53 53 41 47 45 5f 54  OTOCOL_MESSAGE_T
4100: 59 50 45 20 4d 65 73 73 61 67 65 54 79 70 65 3b  YPE MessageType;
4110: 0a 09 55 4c 4f 4e 47 20 20 44 65 72 69 76 65 43  ..ULONG  DeriveC
4120: 72 65 64 49 6e 66 6f 4c 65 6e 67 74 68 3b 0a 09  redInfoLength;..
4130: 55 43 48 41 52 20 20 5f 44 65 72 69 76 65 43 72  UCHAR  _DeriveCr
4140: 65 64 52 65 74 75 72 6e 42 75 66 66 65 72 3b 0a  edReturnBuffer;.
4150: 09 55 43 48 41 52 2a 20 44 65 72 69 76 65 43 72  .UCHAR* DeriveCr
4160: 65 64 52 65 74 75 72 6e 42 75 66 66 65 72 28 29  edReturnBuffer()
4170: 20 7b 20 72 65 74 75 72 6e 20 26 5f 44 65 72 69   { return &_Deri
4180: 76 65 43 72 65 64 52 65 74 75 72 6e 42 75 66 66  veCredReturnBuff
4190: 65 72 3b 20 7d 0a 7d 0a 61 6c 69 61 73 20 4d 53  er; }.}.alias MS
41a0: 56 31 5f 30 5f 44 45 52 49 56 45 43 52 45 44 5f  V1_0_DERIVECRED_
41b0: 52 45 53 50 4f 4e 53 45 2a 20 50 4d 53 56 31 5f  RESPONSE* PMSV1_
41c0: 30 5f 44 45 52 49 56 45 43 52 45 44 5f 52 45 53  0_DERIVECRED_RES
41d0: 50 4f 4e 53 45 3b 0a 0a 61 6c 69 61 73 20 75 69  PONSE;..alias ui
41e0: 6e 74 20 4c 53 41 5f 45 4e 55 4d 45 52 41 54 49  nt LSA_ENUMERATI
41f0: 4f 4e 5f 48 41 4e 44 4c 45 2c 20 4c 53 41 5f 4f  ON_HANDLE, LSA_O
4200: 50 45 52 41 54 49 4f 4e 41 4c 5f 4d 4f 44 45 2c  PERATIONAL_MODE,
4210: 0a 20 20 50 4f 4c 49 43 59 5f 41 55 44 49 54 5f  .  POLICY_AUDIT_
4220: 45 56 45 4e 54 5f 4f 50 54 49 4f 4e 53 3b 0a 61  EVENT_OPTIONS;.a
4230: 6c 69 61 73 20 75 69 6e 74 2a 20 50 4c 53 41 5f  lias uint* PLSA_
4240: 45 4e 55 4d 45 52 41 54 49 4f 4e 5f 48 41 4e 44  ENUMERATION_HAND
4250: 4c 45 2c 20 50 4c 53 41 5f 4f 50 45 52 41 54 49  LE, PLSA_OPERATI
4260: 4f 4e 41 4c 5f 4d 4f 44 45 2c 0a 20 20 50 50 4f  ONAL_MODE,.  PPO
4270: 4c 49 43 59 5f 41 55 44 49 54 5f 45 56 45 4e 54  LICY_AUDIT_EVENT
4280: 5f 4f 50 54 49 4f 4e 53 3b 0a 0a 73 74 72 75 63  _OPTIONS;..struc
4290: 74 20 50 4f 4c 49 43 59 5f 50 52 49 56 49 4c 45  t POLICY_PRIVILE
42a0: 47 45 5f 44 45 46 49 4e 49 54 49 4f 4e 20 7b 0a  GE_DEFINITION {.
42b0: 09 4c 53 41 5f 55 4e 49 43 4f 44 45 5f 53 54 52  .LSA_UNICODE_STR
42c0: 49 4e 47 20 4e 61 6d 65 3b 0a 09 4c 55 49 44 20  ING Name;..LUID 
42d0: 4c 6f 63 61 6c 56 61 6c 75 65 3b 0a 7d 0a 61 6c  LocalValue;.}.al
42e0: 69 61 73 20 50 4f 4c 49 43 59 5f 50 52 49 56 49  ias POLICY_PRIVI
42f0: 4c 45 47 45 5f 44 45 46 49 4e 49 54 49 4f 4e 2a  LEGE_DEFINITION*
4300: 20 50 50 4f 4c 49 43 59 5f 50 52 49 56 49 4c 45   PPOLICY_PRIVILE
4310: 47 45 5f 44 45 46 49 4e 49 54 49 4f 4e 3b 0a 0a  GE_DEFINITION;..
4320: 73 74 72 75 63 74 20 50 4f 4c 49 43 59 5f 41 55  struct POLICY_AU
4330: 44 49 54 5f 4c 4f 47 5f 49 4e 46 4f 20 7b 0a 09  DIT_LOG_INFO {..
4340: 55 4c 4f 4e 47 20 20 20 20 20 20 20 20 20 41 75  ULONG         Au
4350: 64 69 74 4c 6f 67 50 65 72 63 65 6e 74 46 75 6c  ditLogPercentFul
4360: 6c 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 20 20 20  l;..ULONG       
4370: 20 20 4d 61 78 69 6d 75 6d 4c 6f 67 53 69 7a 65    MaximumLogSize
4380: 3b 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52  ;..LARGE_INTEGER
4390: 20 41 75 64 69 74 52 65 74 65 6e 74 69 6f 6e 50   AuditRetentionP
43a0: 65 72 69 6f 64 3b 0a 09 42 4f 4f 4c 45 41 4e 20  eriod;..BOOLEAN 
43b0: 20 20 20 20 20 20 41 75 64 69 74 4c 6f 67 46 75        AuditLogFu
43c0: 6c 6c 53 68 75 74 64 6f 77 6e 49 6e 50 72 6f 67  llShutdownInProg
43d0: 72 65 73 73 3b 0a 09 4c 41 52 47 45 5f 49 4e 54  ress;..LARGE_INT
43e0: 45 47 45 52 20 54 69 6d 65 54 6f 53 68 75 74 64  EGER TimeToShutd
43f0: 6f 77 6e 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 20  own;..ULONG     
4400: 20 20 20 20 4e 65 78 74 41 75 64 69 74 52 65 63      NextAuditRec
4410: 6f 72 64 49 64 3b 0a 7d 0a 61 6c 69 61 73 20 50  ordId;.}.alias P
4420: 4f 4c 49 43 59 5f 41 55 44 49 54 5f 4c 4f 47 5f  OLICY_AUDIT_LOG_
4430: 49 4e 46 4f 2a 20 50 50 4f 4c 49 43 59 5f 41 55  INFO* PPOLICY_AU
4440: 44 49 54 5f 4c 4f 47 5f 49 4e 46 4f 3b 0a 0a 73  DIT_LOG_INFO;..s
4450: 74 72 75 63 74 20 50 4f 4c 49 43 59 5f 41 55 44  truct POLICY_AUD
4460: 49 54 5f 45 56 45 4e 54 53 5f 49 4e 46 4f 20 7b  IT_EVENTS_INFO {
4470: 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20  ..BOOLEAN       
4480: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 75                Au
4490: 64 69 74 69 6e 67 4d 6f 64 65 3b 0a 09 50 50 4f  ditingMode;..PPO
44a0: 4c 49 43 59 5f 41 55 44 49 54 5f 45 56 45 4e 54  LICY_AUDIT_EVENT
44b0: 5f 4f 50 54 49 4f 4e 53 20 45 76 65 6e 74 41 75  _OPTIONS EventAu
44c0: 64 69 74 69 6e 67 4f 70 74 69 6f 6e 73 3b 0a 09  ditingOptions;..
44d0: 55 4c 4f 4e 47 20 20 20 20 20 20 20 20 20 20 20  ULONG           
44e0: 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 78 69              Maxi
44f0: 6d 75 6d 41 75 64 69 74 45 76 65 6e 74 43 6f 75  mumAuditEventCou
4500: 6e 74 3b 0a 7d 0a 61 6c 69 61 73 20 50 4f 4c 49  nt;.}.alias POLI
4510: 43 59 5f 41 55 44 49 54 5f 45 56 45 4e 54 53 5f  CY_AUDIT_EVENTS_
4520: 49 4e 46 4f 2a 20 50 50 4f 4c 49 43 59 5f 41 55  INFO* PPOLICY_AU
4530: 44 49 54 5f 45 56 45 4e 54 53 5f 49 4e 46 4f 3b  DIT_EVENTS_INFO;
4540: 0a 0a 73 74 72 75 63 74 20 50 4f 4c 49 43 59 5f  ..struct POLICY_
4550: 41 43 43 4f 55 4e 54 5f 44 4f 4d 41 49 4e 5f 49  ACCOUNT_DOMAIN_I
4560: 4e 46 4f 20 7b 0a 09 4c 53 41 5f 55 4e 49 43 4f  NFO {..LSA_UNICO
4570: 44 45 5f 53 54 52 49 4e 47 20 44 6f 6d 61 69 6e  DE_STRING Domain
4580: 4e 61 6d 65 3b 0a 09 50 53 49 44 20 20 20 20 20  Name;..PSID     
4590: 20 20 20 20 20 20 20 20 20 20 44 6f 6d 61 69 6e            Domain
45a0: 53 69 64 3b 0a 7d 0a 61 6c 69 61 73 20 50 4f 4c  Sid;.}.alias POL
45b0: 49 43 59 5f 41 43 43 4f 55 4e 54 5f 44 4f 4d 41  ICY_ACCOUNT_DOMA
45c0: 49 4e 5f 49 4e 46 4f 2a 20 50 50 4f 4c 49 43 59  IN_INFO* PPOLICY
45d0: 5f 41 43 43 4f 55 4e 54 5f 44 4f 4d 41 49 4e 5f  _ACCOUNT_DOMAIN_
45e0: 49 4e 46 4f 3b 0a 0a 73 74 72 75 63 74 20 50 4f  INFO;..struct PO
45f0: 4c 49 43 59 5f 50 52 49 4d 41 52 59 5f 44 4f 4d  LICY_PRIMARY_DOM
4600: 41 49 4e 5f 49 4e 46 4f 20 7b 0a 09 4c 53 41 5f  AIN_INFO {..LSA_
4610: 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 20 4e  UNICODE_STRING N
4620: 61 6d 65 3b 0a 09 50 53 49 44 20 20 20 20 20 20  ame;..PSID      
4630: 20 20 20 20 20 20 20 20 20 53 69 64 3b 0a 7d 0a           Sid;.}.
4640: 61 6c 69 61 73 20 50 4f 4c 49 43 59 5f 50 52 49  alias POLICY_PRI
4650: 4d 41 52 59 5f 44 4f 4d 41 49 4e 5f 49 4e 46 4f  MARY_DOMAIN_INFO
4660: 2a 20 50 50 4f 4c 49 43 59 5f 50 52 49 4d 41 52  * PPOLICY_PRIMAR
4670: 59 5f 44 4f 4d 41 49 4e 5f 49 4e 46 4f 3b 0a 0a  Y_DOMAIN_INFO;..
4680: 73 74 72 75 63 74 20 50 4f 4c 49 43 59 5f 44 4e  struct POLICY_DN
4690: 53 5f 44 4f 4d 41 49 4e 5f 49 4e 46 4f 20 7b 0a  S_DOMAIN_INFO {.
46a0: 09 4c 53 41 5f 55 4e 49 43 4f 44 45 5f 53 54 52  .LSA_UNICODE_STR
46b0: 49 4e 47 20 4e 61 6d 65 3b 0a 09 4c 53 41 5f 55  ING Name;..LSA_U
46c0: 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 20 44 6e  NICODE_STRING Dn
46d0: 73 44 6f 6d 61 69 6e 4e 61 6d 65 3b 0a 09 4c 53  sDomainName;..LS
46e0: 41 5f 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47  A_UNICODE_STRING
46f0: 20 44 6e 73 54 72 65 65 4e 61 6d 65 3b 0a 09 47   DnsTreeName;..G
4700: 55 49 44 20 20 20 20 20 20 20 20 20 20 20 20 20  UID             
4710: 20 20 44 6f 6d 61 69 6e 47 75 69 64 3b 0a 09 50    DomainGuid;..P
4720: 53 49 44 20 20 20 20 20 20 20 20 20 20 20 20 20  SID             
4730: 20 20 53 69 64 3b 0a 7d 0a 61 6c 69 61 73 20 50    Sid;.}.alias P
4740: 4f 4c 49 43 59 5f 44 4e 53 5f 44 4f 4d 41 49 4e  OLICY_DNS_DOMAIN
4750: 5f 49 4e 46 4f 2a 20 50 50 4f 4c 49 43 59 5f 44  _INFO* PPOLICY_D
4760: 4e 53 5f 44 4f 4d 41 49 4e 5f 49 4e 46 4f 3b 0a  NS_DOMAIN_INFO;.
4770: 0a 73 74 72 75 63 74 20 50 4f 4c 49 43 59 5f 50  .struct POLICY_P
4780: 44 5f 41 43 43 4f 55 4e 54 5f 49 4e 46 4f 20 7b  D_ACCOUNT_INFO {
4790: 0a 09 4c 53 41 5f 55 4e 49 43 4f 44 45 5f 53 54  ..LSA_UNICODE_ST
47a0: 52 49 4e 47 20 4e 61 6d 65 3b 0a 7d 0a 61 6c 69  RING Name;.}.ali
47b0: 61 73 20 50 4f 4c 49 43 59 5f 50 44 5f 41 43 43  as POLICY_PD_ACC
47c0: 4f 55 4e 54 5f 49 4e 46 4f 2a 20 50 50 4f 4c 49  OUNT_INFO* PPOLI
47d0: 43 59 5f 50 44 5f 41 43 43 4f 55 4e 54 5f 49 4e  CY_PD_ACCOUNT_IN
47e0: 46 4f 3b 0a 0a 73 74 72 75 63 74 20 50 4f 4c 49  FO;..struct POLI
47f0: 43 59 5f 4c 53 41 5f 53 45 52 56 45 52 5f 52 4f  CY_LSA_SERVER_RO
4800: 4c 45 5f 49 4e 46 4f 20 7b 0a 09 50 4f 4c 49 43  LE_INFO {..POLIC
4810: 59 5f 4c 53 41 5f 53 45 52 56 45 52 5f 52 4f 4c  Y_LSA_SERVER_ROL
4820: 45 20 4c 73 61 53 65 72 76 65 72 52 6f 6c 65 3b  E LsaServerRole;
4830: 0a 7d 0a 61 6c 69 61 73 20 50 4f 4c 49 43 59 5f  .}.alias POLICY_
4840: 4c 53 41 5f 53 45 52 56 45 52 5f 52 4f 4c 45 5f  LSA_SERVER_ROLE_
4850: 49 4e 46 4f 2a 20 50 50 4f 4c 49 43 59 5f 4c 53  INFO* PPOLICY_LS
4860: 41 5f 53 45 52 56 45 52 5f 52 4f 4c 45 5f 49 4e  A_SERVER_ROLE_IN
4870: 46 4f 3b 0a 0a 73 74 72 75 63 74 20 50 4f 4c 49  FO;..struct POLI
4880: 43 59 5f 52 45 50 4c 49 43 41 5f 53 4f 55 52 43  CY_REPLICA_SOURC
4890: 45 5f 49 4e 46 4f 20 7b 0a 09 4c 53 41 5f 55 4e  E_INFO {..LSA_UN
48a0: 49 43 4f 44 45 5f 53 54 52 49 4e 47 20 52 65 70  ICODE_STRING Rep
48b0: 6c 69 63 61 53 6f 75 72 63 65 3b 0a 09 4c 53 41  licaSource;..LSA
48c0: 5f 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 20  _UNICODE_STRING 
48d0: 52 65 70 6c 69 63 61 41 63 63 6f 75 6e 74 4e 61  ReplicaAccountNa
48e0: 6d 65 3b 0a 7d 0a 61 6c 69 61 73 20 50 4f 4c 49  me;.}.alias POLI
48f0: 43 59 5f 52 45 50 4c 49 43 41 5f 53 4f 55 52 43  CY_REPLICA_SOURC
4900: 45 5f 49 4e 46 4f 2a 20 50 50 4f 4c 49 43 59 5f  E_INFO* PPOLICY_
4910: 52 45 50 4c 49 43 41 5f 53 4f 55 52 43 45 5f 49  REPLICA_SOURCE_I
4920: 4e 46 4f 3b 0a 0a 73 74 72 75 63 74 20 50 4f 4c  NFO;..struct POL
4930: 49 43 59 5f 44 45 46 41 55 4c 54 5f 51 55 4f 54  ICY_DEFAULT_QUOT
4940: 41 5f 49 4e 46 4f 20 7b 0a 09 51 55 4f 54 41 5f  A_INFO {..QUOTA_
4950: 4c 49 4d 49 54 53 20 51 75 6f 74 61 4c 69 6d 69  LIMITS QuotaLimi
4960: 74 73 3b 0a 7d 0a 61 6c 69 61 73 20 50 4f 4c 49  ts;.}.alias POLI
4970: 43 59 5f 44 45 46 41 55 4c 54 5f 51 55 4f 54 41  CY_DEFAULT_QUOTA
4980: 5f 49 4e 46 4f 2a 20 50 50 4f 4c 49 43 59 5f 44  _INFO* PPOLICY_D
4990: 45 46 41 55 4c 54 5f 51 55 4f 54 41 5f 49 4e 46  EFAULT_QUOTA_INF
49a0: 4f 3b 0a 0a 73 74 72 75 63 74 20 50 4f 4c 49 43  O;..struct POLIC
49b0: 59 5f 4d 4f 44 49 46 49 43 41 54 49 4f 4e 5f 49  Y_MODIFICATION_I
49c0: 4e 46 4f 20 7b 0a 09 4c 41 52 47 45 5f 49 4e 54  NFO {..LARGE_INT
49d0: 45 47 45 52 20 4d 6f 64 69 66 69 65 64 49 64 3b  EGER ModifiedId;
49e0: 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20  ..LARGE_INTEGER 
49f0: 44 61 74 61 62 61 73 65 43 72 65 61 74 69 6f 6e  DatabaseCreation
4a00: 54 69 6d 65 3b 0a 7d 0a 61 6c 69 61 73 20 50 4f  Time;.}.alias PO
4a10: 4c 49 43 59 5f 4d 4f 44 49 46 49 43 41 54 49 4f  LICY_MODIFICATIO
4a20: 4e 5f 49 4e 46 4f 2a 20 50 50 4f 4c 49 43 59 5f  N_INFO* PPOLICY_
4a30: 4d 4f 44 49 46 49 43 41 54 49 4f 4e 5f 49 4e 46  MODIFICATION_INF
4a40: 4f 3b 0a 0a 73 74 72 75 63 74 20 50 4f 4c 49 43  O;..struct POLIC
4a50: 59 5f 41 55 44 49 54 5f 46 55 4c 4c 5f 53 45 54  Y_AUDIT_FULL_SET
4a60: 5f 49 4e 46 4f 20 7b 0a 09 42 4f 4f 4c 45 41 4e  _INFO {..BOOLEAN
4a70: 20 53 68 75 74 44 6f 77 6e 4f 6e 46 75 6c 6c 3b   ShutDownOnFull;
4a80: 0a 7d 0a 61 6c 69 61 73 20 50 4f 4c 49 43 59 5f  .}.alias POLICY_
4a90: 41 55 44 49 54 5f 46 55 4c 4c 5f 53 45 54 5f 49  AUDIT_FULL_SET_I
4aa0: 4e 46 4f 2a 20 50 50 4f 4c 49 43 59 5f 41 55 44  NFO* PPOLICY_AUD
4ab0: 49 54 5f 46 55 4c 4c 5f 53 45 54 5f 49 4e 46 4f  IT_FULL_SET_INFO
4ac0: 3b 0a 0a 73 74 72 75 63 74 20 50 4f 4c 49 43 59  ;..struct POLICY
4ad0: 5f 41 55 44 49 54 5f 46 55 4c 4c 5f 51 55 45 52  _AUDIT_FULL_QUER
4ae0: 59 5f 49 4e 46 4f 20 7b 0a 09 42 4f 4f 4c 45 41  Y_INFO {..BOOLEA
4af0: 4e 20 53 68 75 74 44 6f 77 6e 4f 6e 46 75 6c 6c  N ShutDownOnFull
4b00: 3b 0a 09 42 4f 4f 4c 45 41 4e 20 4c 6f 67 49 73  ;..BOOLEAN LogIs
4b10: 46 75 6c 6c 3b 0a 7d 0a 61 6c 69 61 73 20 50 4f  Full;.}.alias PO
4b20: 4c 49 43 59 5f 41 55 44 49 54 5f 46 55 4c 4c 5f  LICY_AUDIT_FULL_
4b30: 51 55 45 52 59 5f 49 4e 46 4f 2a 20 50 50 4f 4c  QUERY_INFO* PPOL
4b40: 49 43 59 5f 41 55 44 49 54 5f 46 55 4c 4c 5f 51  ICY_AUDIT_FULL_Q
4b50: 55 45 52 59 5f 49 4e 46 4f 3b 0a 0a 73 74 72 75  UERY_INFO;..stru
4b60: 63 74 20 50 4f 4c 49 43 59 5f 45 46 53 5f 49 4e  ct POLICY_EFS_IN
4b70: 46 4f 20 7b 0a 09 55 4c 4f 4e 47 20 49 6e 66 6f  FO {..ULONG Info
4b80: 4c 65 6e 67 74 68 3b 0a 09 50 55 43 48 41 52 20  Length;..PUCHAR 
4b90: 45 66 73 42 6c 6f 62 3b 0a 7d 0a 61 6c 69 61 73  EfsBlob;.}.alias
4ba0: 20 50 4f 4c 49 43 59 5f 45 46 53 5f 49 4e 46 4f   POLICY_EFS_INFO
4bb0: 2a 20 50 50 4f 4c 49 43 59 5f 45 46 53 5f 49 4e  * PPOLICY_EFS_IN
4bc0: 46 4f 3b 0a 0a 73 74 72 75 63 74 20 50 4f 4c 49  FO;..struct POLI
4bd0: 43 59 5f 4c 4f 43 41 4c 5f 49 50 53 45 43 5f 52  CY_LOCAL_IPSEC_R
4be0: 45 46 45 52 45 4e 43 45 5f 49 4e 46 4f 20 7b 0a  EFERENCE_INFO {.
4bf0: 09 4c 53 41 5f 55 4e 49 43 4f 44 45 5f 53 54 52  .LSA_UNICODE_STR
4c00: 49 4e 47 20 4f 62 6a 65 63 74 50 61 74 68 3b 0a  ING ObjectPath;.
4c10: 7d 0a 61 6c 69 61 73 20 50 4f 4c 49 43 59 5f 4c  }.alias POLICY_L
4c20: 4f 43 41 4c 5f 49 50 53 45 43 5f 52 45 46 45 52  OCAL_IPSEC_REFER
4c30: 45 4e 43 45 5f 49 4e 46 4f 2a 20 50 50 4f 4c 49  ENCE_INFO* PPOLI
4c40: 43 59 5f 4c 4f 43 41 4c 5f 49 50 53 45 43 5f 52  CY_LOCAL_IPSEC_R
4c50: 45 46 45 52 45 4e 43 45 5f 49 4e 46 4f 3b 0a 0a  EFERENCE_INFO;..
4c60: 73 74 72 75 63 74 20 50 4f 4c 49 43 59 5f 4c 4f  struct POLICY_LO
4c70: 43 41 4c 5f 4d 41 43 48 49 4e 45 5f 50 41 53 53  CAL_MACHINE_PASS
4c80: 57 4f 52 44 5f 49 4e 46 4f 20 7b 0a 09 4c 41 52  WORD_INFO {..LAR
4c90: 47 45 5f 49 4e 54 45 47 45 52 20 50 61 73 73 77  GE_INTEGER Passw
4ca0: 6f 72 64 43 68 61 6e 67 65 49 6e 74 65 72 76 61  ordChangeInterva
4cb0: 6c 3b 0a 7d 0a 61 6c 69 61 73 20 50 4f 4c 49 43  l;.}.alias POLIC
4cc0: 59 5f 4c 4f 43 41 4c 5f 4d 41 43 48 49 4e 45 5f  Y_LOCAL_MACHINE_
4cd0: 50 41 53 53 57 4f 52 44 5f 49 4e 46 4f 2a 20 50  PASSWORD_INFO* P
4ce0: 50 4f 4c 49 43 59 5f 4c 4f 43 41 4c 5f 4d 41 43  POLICY_LOCAL_MAC
4cf0: 48 49 4e 45 5f 50 41 53 53 57 4f 52 44 5f 49 4e  HINE_PASSWORD_IN
4d00: 46 4f 3b 0a 0a 73 74 72 75 63 74 20 50 4f 4c 49  FO;..struct POLI
4d10: 43 59 5f 4c 4f 43 41 4c 5f 50 4f 4c 49 43 59 5f  CY_LOCAL_POLICY_
4d20: 4c 4f 43 41 54 49 4f 4e 5f 49 4e 46 4f 20 7b 0a  LOCATION_INFO {.
4d30: 09 55 4c 4f 4e 47 20 50 6f 6c 69 63 79 4c 6f 63  .ULONG PolicyLoc
4d40: 61 74 69 6f 6e 3b 0a 7d 0a 61 6c 69 61 73 20 50  ation;.}.alias P
4d50: 4f 4c 49 43 59 5f 4c 4f 43 41 4c 5f 50 4f 4c 49  OLICY_LOCAL_POLI
4d60: 43 59 5f 4c 4f 43 41 54 49 4f 4e 5f 49 4e 46 4f  CY_LOCATION_INFO
4d70: 2a 20 50 50 4f 4c 49 43 59 5f 4c 4f 43 41 4c 5f  * PPOLICY_LOCAL_
4d80: 50 4f 4c 49 43 59 5f 4c 4f 43 41 54 49 4f 4e 5f  POLICY_LOCATION_
4d90: 49 4e 46 4f 3b 0a 0a 73 74 72 75 63 74 20 50 4f  INFO;..struct PO
4da0: 4c 49 43 59 5f 4c 4f 43 41 4c 5f 51 55 41 4c 49  LICY_LOCAL_QUALI
4db0: 54 59 5f 4f 46 5f 53 45 52 56 49 43 45 5f 49 4e  TY_OF_SERVICE_IN
4dc0: 46 4f 7b 0a 09 55 4c 4f 4e 47 20 51 75 61 6c 69  FO{..ULONG Quali
4dd0: 74 79 4f 66 53 65 72 76 69 63 65 3b 0a 7d 0a 61  tyOfService;.}.a
4de0: 6c 69 61 73 20 50 4f 4c 49 43 59 5f 4c 4f 43 41  lias POLICY_LOCA
4df0: 4c 5f 51 55 41 4c 49 54 59 5f 4f 46 5f 53 45 52  L_QUALITY_OF_SER
4e00: 56 49 43 45 5f 49 4e 46 4f 0a 20 20 50 4f 4c 49  VICE_INFO.  POLI
4e10: 43 59 5f 44 4f 4d 41 49 4e 5f 51 55 41 4c 49 54  CY_DOMAIN_QUALIT
4e20: 59 5f 4f 46 5f 53 45 52 56 49 43 45 5f 49 4e 46  Y_OF_SERVICE_INF
4e30: 4f 3b 0a 61 6c 69 61 73 20 50 4f 4c 49 43 59 5f  O;.alias POLICY_
4e40: 4c 4f 43 41 4c 5f 51 55 41 4c 49 54 59 5f 4f 46  LOCAL_QUALITY_OF
4e50: 5f 53 45 52 56 49 43 45 5f 49 4e 46 4f 2a 0a 20  _SERVICE_INFO*. 
4e60: 20 50 50 4f 4c 49 43 59 5f 4c 4f 43 41 4c 5f 51   PPOLICY_LOCAL_Q
4e70: 55 41 4c 49 54 59 5f 4f 46 5f 53 45 52 56 49 43  UALITY_OF_SERVIC
4e80: 45 5f 49 4e 46 4f 2c 0a 20 20 50 50 4f 4c 49 43  E_INFO,.  PPOLIC
4e90: 59 5f 44 4f 4d 41 49 4e 5f 51 55 41 4c 49 54 59  Y_DOMAIN_QUALITY
4ea0: 5f 4f 46 5f 53 45 52 56 49 43 45 5f 49 4e 46 4f  _OF_SERVICE_INFO
4eb0: 3b 0a 0a 73 74 72 75 63 74 20 50 4f 4c 49 43 59  ;..struct POLICY
4ec0: 5f 44 4f 4d 41 49 4e 5f 50 55 42 4c 49 43 5f 4b  _DOMAIN_PUBLIC_K
4ed0: 45 59 5f 49 4e 46 4f 20 7b 0a 09 55 4c 4f 4e 47  EY_INFO {..ULONG
4ee0: 20 20 49 6e 66 6f 4c 65 6e 67 74 68 3b 0a 09 50    InfoLength;..P
4ef0: 55 43 48 41 52 20 50 75 62 6c 69 63 4b 65 79 49  UCHAR PublicKeyI
4f00: 6e 66 6f 3b 0a 7d 0a 61 6c 69 61 73 20 50 4f 4c  nfo;.}.alias POL
4f10: 49 43 59 5f 44 4f 4d 41 49 4e 5f 50 55 42 4c 49  ICY_DOMAIN_PUBLI
4f20: 43 5f 4b 45 59 5f 49 4e 46 4f 2a 20 50 50 4f 4c  C_KEY_INFO* PPOL
4f30: 49 43 59 5f 44 4f 4d 41 49 4e 5f 50 55 42 4c 49  ICY_DOMAIN_PUBLI
4f40: 43 5f 4b 45 59 5f 49 4e 46 4f 3b 0a 0a 73 74 72  C_KEY_INFO;..str
4f50: 75 63 74 20 50 4f 4c 49 43 59 5f 44 4f 4d 41 49  uct POLICY_DOMAI
4f60: 4e 5f 4c 4f 43 4b 4f 55 54 5f 49 4e 46 4f 20 7b  N_LOCKOUT_INFO {
4f70: 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20  ..LARGE_INTEGER 
4f80: 4c 6f 63 6b 6f 75 74 44 75 72 61 74 69 6f 6e 3b  LockoutDuration;
4f90: 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20  ..LARGE_INTEGER 
4fa0: 4c 6f 63 6b 6f 75 74 4f 62 73 65 72 76 61 74 69  LockoutObservati
4fb0: 6f 6e 57 69 6e 64 6f 77 3b 0a 09 55 53 48 4f 52  onWindow;..USHOR
4fc0: 54 20 20 20 20 20 20 20 20 4c 6f 63 6b 6f 75 74  T        Lockout
4fd0: 54 68 72 65 73 68 6f 6c 64 3b 0a 7d 0a 61 6c 69  Threshold;.}.ali
4fe0: 61 73 20 50 4f 4c 49 43 59 5f 44 4f 4d 41 49 4e  as POLICY_DOMAIN
4ff0: 5f 4c 4f 43 4b 4f 55 54 5f 49 4e 46 4f 2a 20 50  _LOCKOUT_INFO* P
5000: 50 4f 4c 49 43 59 5f 44 4f 4d 41 49 4e 5f 4c 4f  POLICY_DOMAIN_LO
5010: 43 4b 4f 55 54 5f 49 4e 46 4f 3b 0a 0a 73 74 72  CKOUT_INFO;..str
5020: 75 63 74 20 50 4f 4c 49 43 59 5f 44 4f 4d 41 49  uct POLICY_DOMAI
5030: 4e 5f 50 41 53 53 57 4f 52 44 5f 49 4e 46 4f 20  N_PASSWORD_INFO 
5040: 7b 0a 09 55 53 48 4f 52 54 20 20 20 20 20 20 20  {..USHORT       
5050: 20 4d 69 6e 50 61 73 73 77 6f 72 64 4c 65 6e 67   MinPasswordLeng
5060: 74 68 3b 0a 09 55 53 48 4f 52 54 20 20 20 20 20  th;..USHORT     
5070: 20 20 20 50 61 73 73 77 6f 72 64 48 69 73 74 6f     PasswordHisto
5080: 72 79 4c 65 6e 67 74 68 3b 0a 09 55 4c 4f 4e 47  ryLength;..ULONG
5090: 20 20 20 20 20 20 20 20 20 50 61 73 73 77 6f 72           Passwor
50a0: 64 50 72 6f 70 65 72 74 69 65 73 3b 0a 09 4c 41  dProperties;..LA
50b0: 52 47 45 5f 49 4e 54 45 47 45 52 20 4d 61 78 50  RGE_INTEGER MaxP
50c0: 61 73 73 77 6f 72 64 41 67 65 3b 0a 09 4c 41 52  asswordAge;..LAR
50d0: 47 45 5f 49 4e 54 45 47 45 52 20 4d 69 6e 50 61  GE_INTEGER MinPa
50e0: 73 73 77 6f 72 64 41 67 65 3b 0a 7d 0a 61 6c 69  sswordAge;.}.ali
50f0: 61 73 20 50 4f 4c 49 43 59 5f 44 4f 4d 41 49 4e  as POLICY_DOMAIN
5100: 5f 50 41 53 53 57 4f 52 44 5f 49 4e 46 4f 2a 20  _PASSWORD_INFO* 
5110: 50 50 4f 4c 49 43 59 5f 44 4f 4d 41 49 4e 5f 50  PPOLICY_DOMAIN_P
5120: 41 53 53 57 4f 52 44 5f 49 4e 46 4f 3b 0a 0a 73  ASSWORD_INFO;..s
5130: 74 72 75 63 74 20 50 4f 4c 49 43 59 5f 44 4f 4d  truct POLICY_DOM
5140: 41 49 4e 5f 4b 45 52 42 45 52 4f 53 5f 54 49 43  AIN_KERBEROS_TIC
5150: 4b 45 54 5f 49 4e 46 4f 20 7b 0a 09 55 4c 4f 4e  KET_INFO {..ULON
5160: 47 20 20 20 20 20 20 20 20 20 41 75 74 68 65 6e  G         Authen
5170: 74 69 63 61 74 69 6f 6e 4f 70 74 69 6f 6e 73 3b  ticationOptions;
5180: 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20  ..LARGE_INTEGER 
5190: 4d 69 6e 54 69 63 6b 65 74 41 67 65 3b 0a 09 4c  MinTicketAge;..L
51a0: 41 52 47 45 5f 49 4e 54 45 47 45 52 20 4d 61 78  ARGE_INTEGER Max
51b0: 54 69 63 6b 65 74 41 67 65 3b 0a 09 4c 41 52 47  TicketAge;..LARG
51c0: 45 5f 49 4e 54 45 47 45 52 20 4d 61 78 52 65 6e  E_INTEGER MaxRen
51d0: 65 77 41 67 65 3b 0a 09 4c 41 52 47 45 5f 49 4e  ewAge;..LARGE_IN
51e0: 54 45 47 45 52 20 50 72 6f 78 79 4c 69 66 65 74  TEGER ProxyLifet
51f0: 69 6d 65 3b 0a 09 4c 41 52 47 45 5f 49 4e 54 45  ime;..LARGE_INTE
5200: 47 45 52 20 46 6f 72 63 65 4c 6f 67 6f 66 66 3b  GER ForceLogoff;
5210: 0a 7d 0a 61 6c 69 61 73 20 50 4f 4c 49 43 59 5f  .}.alias POLICY_
5220: 44 4f 4d 41 49 4e 5f 4b 45 52 42 45 52 4f 53 5f  DOMAIN_KERBEROS_
5230: 54 49 43 4b 45 54 5f 49 4e 46 4f 2a 20 50 50 4f  TICKET_INFO* PPO
5240: 4c 49 43 59 5f 44 4f 4d 41 49 4e 5f 4b 45 52 42  LICY_DOMAIN_KERB
5250: 45 52 4f 53 5f 54 49 43 4b 45 54 5f 49 4e 46 4f  EROS_TICKET_INFO
5260: 3b 0a 0a 61 6c 69 61 73 20 48 41 4e 44 4c 45 20  ;..alias HANDLE 
5270: 4c 53 41 5f 48 41 4e 44 4c 45 3b 0a 61 6c 69 61  LSA_HANDLE;.alia
5280: 73 20 48 41 4e 44 4c 45 2a 20 50 4c 53 41 5f 48  s HANDLE* PLSA_H
5290: 41 4e 44 4c 45 3b 0a 0a 73 74 72 75 63 74 20 54  ANDLE;..struct T
52a0: 52 55 53 54 45 44 5f 44 4f 4d 41 49 4e 5f 4e 41  RUSTED_DOMAIN_NA
52b0: 4d 45 5f 49 4e 46 4f 20 7b 0a 09 4c 53 41 5f 55  ME_INFO {..LSA_U
52c0: 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 20 4e 61  NICODE_STRING Na
52d0: 6d 65 3b 0a 7d 0a 61 6c 69 61 73 20 54 52 55 53  me;.}.alias TRUS
52e0: 54 45 44 5f 44 4f 4d 41 49 4e 5f 4e 41 4d 45 5f  TED_DOMAIN_NAME_
52f0: 49 4e 46 4f 2a 20 50 54 52 55 53 54 45 44 5f 44  INFO* PTRUSTED_D
5300: 4f 4d 41 49 4e 5f 4e 41 4d 45 5f 49 4e 46 4f 3b  OMAIN_NAME_INFO;
5310: 0a 0a 73 74 72 75 63 74 20 54 52 55 53 54 45 44  ..struct TRUSTED
5320: 5f 43 4f 4e 54 52 4f 4c 4c 45 52 53 5f 49 4e 46  _CONTROLLERS_INF
5330: 4f 20 7b 0a 09 55 4c 4f 4e 47 20 20 20 20 20 20  O {..ULONG      
5340: 20 20 20 20 20 20 20 20 20 45 6e 74 72 69 65 73           Entries
5350: 3b 0a 09 50 4c 53 41 5f 55 4e 49 43 4f 44 45 5f  ;..PLSA_UNICODE_
5360: 53 54 52 49 4e 47 20 4e 61 6d 65 73 3b 0a 7d 0a  STRING Names;.}.
5370: 61 6c 69 61 73 20 54 52 55 53 54 45 44 5f 43 4f  alias TRUSTED_CO
5380: 4e 54 52 4f 4c 4c 45 52 53 5f 49 4e 46 4f 2a 20  NTROLLERS_INFO* 
5390: 50 54 52 55 53 54 45 44 5f 43 4f 4e 54 52 4f 4c  PTRUSTED_CONTROL
53a0: 4c 45 52 53 5f 49 4e 46 4f 3b 0a 0a 73 74 72 75  LERS_INFO;..stru
53b0: 63 74 20 54 52 55 53 54 45 44 5f 50 4f 53 49 58  ct TRUSTED_POSIX
53c0: 5f 4f 46 46 53 45 54 5f 49 4e 46 4f 20 7b 0a 09  _OFFSET_INFO {..
53d0: 55 4c 4f 4e 47 20 4f 66 66 73 65 74 3b 0a 7d 0a  ULONG Offset;.}.
53e0: 61 6c 69 61 73 20 54 52 55 53 54 45 44 5f 50 4f  alias TRUSTED_PO
53f0: 53 49 58 5f 4f 46 46 53 45 54 5f 49 4e 46 4f 2a  SIX_OFFSET_INFO*
5400: 20 50 54 52 55 53 54 45 44 5f 50 4f 53 49 58 5f   PTRUSTED_POSIX_
5410: 4f 46 46 53 45 54 5f 49 4e 46 4f 3b 0a 0a 73 74  OFFSET_INFO;..st
5420: 72 75 63 74 20 54 52 55 53 54 45 44 5f 50 41 53  ruct TRUSTED_PAS
5430: 53 57 4f 52 44 5f 49 4e 46 4f 20 7b 0a 09 4c 53  SWORD_INFO {..LS
5440: 41 5f 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47  A_UNICODE_STRING
5450: 20 50 61 73 73 77 6f 72 64 3b 0a 09 4c 53 41 5f   Password;..LSA_
5460: 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 20 4f  UNICODE_STRING O
5470: 6c 64 50 61 73 73 77 6f 72 64 3b 0a 7d 0a 61 6c  ldPassword;.}.al
5480: 69 61 73 20 54 52 55 53 54 45 44 5f 50 41 53 53  ias TRUSTED_PASS
5490: 57 4f 52 44 5f 49 4e 46 4f 2a 20 50 54 52 55 53  WORD_INFO* PTRUS
54a0: 54 45 44 5f 50 41 53 53 57 4f 52 44 5f 49 4e 46  TED_PASSWORD_INF
54b0: 4f 3b 0a 0a 73 74 72 75 63 74 20 54 52 55 53 54  O;..struct TRUST
54c0: 45 44 5f 44 4f 4d 41 49 4e 5f 49 4e 46 4f 52 4d  ED_DOMAIN_INFORM
54d0: 41 54 49 4f 4e 5f 45 58 20 7b 0a 09 4c 53 41 5f  ATION_EX {..LSA_
54e0: 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 20 4e  UNICODE_STRING N
54f0: 61 6d 65 3b 0a 09 4c 53 41 5f 55 4e 49 43 4f 44  ame;..LSA_UNICOD
5500: 45 5f 53 54 52 49 4e 47 20 46 6c 61 74 4e 61 6d  E_STRING FlatNam
5510: 65 3b 0a 09 50 53 49 44 20 20 20 20 20 20 20 20  e;..PSID        
5520: 20 20 20 20 20 20 20 53 69 64 3b 0a 09 55 4c 4f         Sid;..ULO
5530: 4e 47 20 20 20 20 20 20 20 20 20 20 20 20 20 20  NG              
5540: 54 72 75 73 74 44 69 72 65 63 74 69 6f 6e 3b 0a  TrustDirection;.
5550: 09 55 4c 4f 4e 47 20 20 20 20 20 20 20 20 20 20  .ULONG          
5560: 20 20 20 20 54 72 75 73 74 54 79 70 65 3b 0a 09      TrustType;..
5570: 55 4c 4f 4e 47 20 20 20 20 20 20 20 20 20 20 20  ULONG           
5580: 20 20 20 54 72 75 73 74 41 74 74 72 69 62 75 74     TrustAttribut
5590: 65 73 3b 0a 7d 0a 61 6c 69 61 73 20 54 52 55 53  es;.}.alias TRUS
55a0: 54 45 44 5f 44 4f 4d 41 49 4e 5f 49 4e 46 4f 52  TED_DOMAIN_INFOR
55b0: 4d 41 54 49 4f 4e 5f 45 58 2a 20 50 54 52 55 53  MATION_EX* PTRUS
55c0: 54 45 44 5f 44 4f 4d 41 49 4e 5f 49 4e 46 4f 52  TED_DOMAIN_INFOR
55d0: 4d 41 54 49 4f 4e 5f 45 58 3b 0a 0a 73 74 72 75  MATION_EX;..stru
55e0: 63 74 20 4c 53 41 5f 41 55 54 48 5f 49 4e 46 4f  ct LSA_AUTH_INFO
55f0: 52 4d 41 54 49 4f 4e 20 7b 0a 09 4c 41 52 47 45  RMATION {..LARGE
5600: 5f 49 4e 54 45 47 45 52 20 4c 61 73 74 55 70 64  _INTEGER LastUpd
5610: 61 74 65 54 69 6d 65 3b 0a 09 55 4c 4f 4e 47 20  ateTime;..ULONG 
5620: 20 20 20 20 20 20 20 20 41 75 74 68 54 79 70 65          AuthType
5630: 3b 0a 09 55 4c 4f 4e 47 20 20 20 20 20 20 20 20  ;..ULONG        
5640: 20 41 75 74 68 49 6e 66 6f 4c 65 6e 67 74 68 3b   AuthInfoLength;
5650: 0a 09 50 55 43 48 41 52 20 20 20 20 20 20 20 20  ..PUCHAR        
5660: 41 75 74 68 49 6e 66 6f 3b 0a 7d 0a 61 6c 69 61  AuthInfo;.}.alia
5670: 73 20 4c 53 41 5f 41 55 54 48 5f 49 4e 46 4f 52  s LSA_AUTH_INFOR
5680: 4d 41 54 49 4f 4e 2a 20 50 4c 53 41 5f 41 55 54  MATION* PLSA_AUT
5690: 48 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0a 0a  H_INFORMATION;..
56a0: 73 74 72 75 63 74 20 54 52 55 53 54 45 44 5f 44  struct TRUSTED_D
56b0: 4f 4d 41 49 4e 5f 41 55 54 48 5f 49 4e 46 4f 52  OMAIN_AUTH_INFOR
56c0: 4d 41 54 49 4f 4e 20 7b 0a 09 55 4c 4f 4e 47 20  MATION {..ULONG 
56d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
56e0: 49 6e 63 6f 6d 69 6e 67 41 75 74 68 49 6e 66 6f  IncomingAuthInfo
56f0: 73 3b 0a 09 50 4c 53 41 5f 41 55 54 48 5f 49 4e  s;..PLSA_AUTH_IN
5700: 46 4f 52 4d 41 54 49 4f 4e 20 49 6e 63 6f 6d 69  FORMATION Incomi
5710: 6e 67 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e  ngAuthentication
5720: 49 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0a 09 50 4c  Information;..PL
5730: 53 41 5f 41 55 54 48 5f 49 4e 46 4f 52 4d 41 54  SA_AUTH_INFORMAT
5740: 49 4f 4e 20 49 6e 63 6f 6d 69 6e 67 50 72 65 76  ION IncomingPrev
5750: 69 6f 75 73 41 75 74 68 65 6e 74 69 63 61 74 69  iousAuthenticati
5760: 6f 6e 49 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0a 09  onInformation;..
5770: 55 4c 4f 4e 47 20 20 20 20 20 20 20 20 20 20 20  ULONG           
5780: 20 20 20 20 20 20 4f 75 74 67 6f 69 6e 67 41 75        OutgoingAu
5790: 74 68 49 6e 66 6f 73 3b 0a 09 50 4c 53 41 5f 41  thInfos;..PLSA_A
57a0: 55 54 48 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20  UTH_INFORMATION 
57b0: 4f 75 74 67 6f 69 6e 67 41 75 74 68 65 6e 74 69  OutgoingAuthenti
57c0: 63 61 74 69 6f 6e 49 6e 66 6f 72 6d 61 74 69 6f  cationInformatio
57d0: 6e 3b 0a 09 50 4c 53 41 5f 41 55 54 48 5f 49 4e  n;..PLSA_AUTH_IN
57e0: 46 4f 52 4d 41 54 49 4f 4e 20 4f 75 74 67 6f 69  FORMATION Outgoi
57f0: 6e 67 50 72 65 76 69 6f 75 73 41 75 74 68 65 6e  ngPreviousAuthen
5800: 74 69 63 61 74 69 6f 6e 49 6e 66 6f 72 6d 61 74  ticationInformat
5810: 69 6f 6e 3b 0a 7d 0a 61 6c 69 61 73 20 54 52 55  ion;.}.alias TRU
5820: 53 54 45 44 5f 44 4f 4d 41 49 4e 5f 41 55 54 48  STED_DOMAIN_AUTH
5830: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 54  _INFORMATION* PT
5840: 52 55 53 54 45 44 5f 44 4f 4d 41 49 4e 5f 41 55  RUSTED_DOMAIN_AU
5850: 54 48 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0a  TH_INFORMATION;.
5860: 0a 73 74 72 75 63 74 20 54 52 55 53 54 45 44 5f  .struct TRUSTED_
5870: 44 4f 4d 41 49 4e 5f 46 55 4c 4c 5f 49 4e 46 4f  DOMAIN_FULL_INFO
5880: 52 4d 41 54 49 4f 4e 20 7b 0a 09 54 52 55 53 54  RMATION {..TRUST
5890: 45 44 5f 44 4f 4d 41 49 4e 5f 49 4e 46 4f 52 4d  ED_DOMAIN_INFORM
58a0: 41 54 49 4f 4e 5f 45 58 20 20 20 49 6e 66 6f 72  ATION_EX   Infor
58b0: 6d 61 74 69 6f 6e 3b 0a 09 54 52 55 53 54 45 44  mation;..TRUSTED
58c0: 5f 50 4f 53 49 58 5f 4f 46 46 53 45 54 5f 49 4e  _POSIX_OFFSET_IN
58d0: 46 4f 20 20 20 20 20 20 20 50 6f 73 69 78 4f 66  FO       PosixOf
58e0: 66 73 65 74 3b 0a 09 54 52 55 53 54 45 44 5f 44  fset;..TRUSTED_D
58f0: 4f 4d 41 49 4e 5f 41 55 54 48 5f 49 4e 46 4f 52  OMAIN_AUTH_INFOR
5900: 4d 41 54 49 4f 4e 20 41 75 74 68 49 6e 66 6f 72  MATION AuthInfor
5910: 6d 61 74 69 6f 6e 3b 0a 7d 0a 61 6c 69 61 73 20  mation;.}.alias 
5920: 54 52 55 53 54 45 44 5f 44 4f 4d 41 49 4e 5f 46  TRUSTED_DOMAIN_F
5930: 55 4c 4c 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 2a  ULL_INFORMATION*
5940: 20 50 54 52 55 53 54 45 44 5f 44 4f 4d 41 49 4e   PTRUSTED_DOMAIN
5950: 5f 46 55 4c 4c 5f 49 4e 46 4f 52 4d 41 54 49 4f  _FULL_INFORMATIO
5960: 4e 3b 0a 0a 65 78 74 65 72 6e 20 28 57 69 6e 64  N;..extern (Wind
5970: 6f 77 73 29 20 7b 0a 09 4e 54 53 54 41 54 55 53  ows) {..NTSTATUS
5980: 20 4c 73 61 41 64 64 41 63 63 6f 75 6e 74 52 69   LsaAddAccountRi
5990: 67 68 74 73 28 4c 53 41 5f 48 41 4e 44 4c 45 2c  ghts(LSA_HANDLE,
59a0: 20 50 53 49 44 2c 20 50 4c 53 41 5f 55 4e 49 43   PSID, PLSA_UNIC
59b0: 4f 44 45 5f 53 54 52 49 4e 47 2c 0a 09 20 20 55  ODE_STRING,..  U
59c0: 4c 4f 4e 47 29 3b 0a 09 4e 54 53 54 41 54 55 53  LONG);..NTSTATUS
59d0: 20 4c 73 61 43 61 6c 6c 41 75 74 68 65 6e 74 69   LsaCallAuthenti
59e0: 63 61 74 69 6f 6e 50 61 63 6b 61 67 65 28 48 41  cationPackage(HA
59f0: 4e 44 4c 45 2c 20 55 4c 4f 4e 47 2c 20 50 56 4f  NDLE, ULONG, PVO
5a00: 49 44 2c 20 55 4c 4f 4e 47 2c 0a 09 20 20 50 56  ID, ULONG,..  PV
5a10: 4f 49 44 2a 2c 20 50 55 4c 4f 4e 47 2c 20 50 4e  OID*, PULONG, PN
5a20: 54 53 54 41 54 55 53 29 3b 0a 09 4e 54 53 54 41  TSTATUS);..NTSTA
5a30: 54 55 53 20 4c 73 61 43 6c 6f 73 65 28 4c 53 41  TUS LsaClose(LSA
5a40: 5f 48 41 4e 44 4c 45 29 3b 0a 09 4e 54 53 54 41  _HANDLE);..NTSTA
5a50: 54 55 53 20 4c 73 61 43 6f 6e 6e 65 63 74 55 6e  TUS LsaConnectUn
5a60: 74 72 75 73 74 65 64 28 50 48 41 4e 44 4c 45 29  trusted(PHANDLE)
5a70: 3b 0a 09 4e 54 53 54 41 54 55 53 20 4c 73 61 43  ;..NTSTATUS LsaC
5a80: 72 65 61 74 65 54 72 75 73 74 65 64 44 6f 6d 61  reateTrustedDoma
5a90: 69 6e 45 78 28 4c 53 41 5f 48 41 4e 44 4c 45 2c  inEx(LSA_HANDLE,
5aa0: 0a 09 20 20 50 54 52 55 53 54 45 44 5f 44 4f 4d  ..  PTRUSTED_DOM
5ab0: 41 49 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f  AIN_INFORMATION_
5ac0: 45 58 2c 20 50 54 52 55 53 54 45 44 5f 44 4f 4d  EX, PTRUSTED_DOM
5ad0: 41 49 4e 5f 41 55 54 48 5f 49 4e 46 4f 52 4d 41  AIN_AUTH_INFORMA
5ae0: 54 49 4f 4e 2c 0a 09 20 20 41 43 43 45 53 53 5f  TION,..  ACCESS_
5af0: 4d 41 53 4b 2c 20 50 4c 53 41 5f 48 41 4e 44 4c  MASK, PLSA_HANDL
5b00: 45 29 3b 0a 09 4e 54 53 54 41 54 55 53 20 4c 73  E);..NTSTATUS Ls
5b10: 61 44 65 6c 65 74 65 54 72 75 73 74 65 64 44 6f  aDeleteTrustedDo
5b20: 6d 61 69 6e 28 4c 53 41 5f 48 41 4e 44 4c 45 2c  main(LSA_HANDLE,
5b30: 20 50 53 49 44 29 3b 0a 09 4e 54 53 54 41 54 55   PSID);..NTSTATU
5b40: 53 20 4c 73 61 44 65 72 65 67 69 73 74 65 72 4c  S LsaDeregisterL
5b50: 6f 67 6f 6e 50 72 6f 63 65 73 73 28 48 41 4e 44  ogonProcess(HAND
5b60: 4c 45 29 3b 0a 09 4e 54 53 54 41 54 55 53 20 4c  LE);..NTSTATUS L
5b70: 73 61 45 6e 75 6d 65 72 61 74 65 41 63 63 6f 75  saEnumerateAccou
5b80: 6e 74 52 69 67 68 74 73 28 4c 53 41 5f 48 41 4e  ntRights(LSA_HAN
5b90: 44 4c 45 2c 20 50 53 49 44 2c 20 50 4c 53 41 5f  DLE, PSID, PLSA_
5ba0: 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 2a 2c  UNICODE_STRING*,
5bb0: 0a 09 20 20 50 55 4c 4f 4e 47 29 3b 0a 09 4e 54  ..  PULONG);..NT
5bc0: 53 54 41 54 55 53 20 4c 73 61 45 6e 75 6d 65 72  STATUS LsaEnumer
5bd0: 61 74 65 41 63 63 6f 75 6e 74 73 57 69 74 68 55  ateAccountsWithU
5be0: 73 65 72 52 69 67 68 74 28 4c 53 41 5f 48 41 4e  serRight(LSA_HAN
5bf0: 44 4c 45 2c 0a 09 20 20 50 4c 53 41 5f 55 4e 49  DLE,..  PLSA_UNI
5c00: 43 4f 44 45 5f 53 54 52 49 4e 47 2c 20 50 56 4f  CODE_STRING, PVO
5c10: 49 44 2a 2c 20 50 55 4c 4f 4e 47 29 3b 0a 09 4e  ID*, PULONG);..N
5c20: 54 53 54 41 54 55 53 20 4c 73 61 45 6e 75 6d 65  TSTATUS LsaEnume
5c30: 72 61 74 65 54 72 75 73 74 65 64 44 6f 6d 61 69  rateTrustedDomai
5c40: 6e 73 28 4c 53 41 5f 48 41 4e 44 4c 45 2c 20 50  ns(LSA_HANDLE, P
5c50: 4c 53 41 5f 45 4e 55 4d 45 52 41 54 49 4f 4e 5f  LSA_ENUMERATION_
5c60: 48 41 4e 44 4c 45 2c 0a 09 20 20 50 56 4f 49 44  HANDLE,..  PVOID
5c70: 2a 2c 20 55 4c 4f 4e 47 2c 20 50 55 4c 4f 4e 47  *, ULONG, PULONG
5c80: 29 3b 0a 09 4e 54 53 54 41 54 55 53 20 4c 73 61  );..NTSTATUS Lsa
5c90: 45 6e 75 6d 65 72 61 74 65 54 72 75 73 74 65 64  EnumerateTrusted
5ca0: 44 6f 6d 61 69 6e 73 45 78 28 4c 53 41 5f 48 41  DomainsEx(LSA_HA
5cb0: 4e 44 4c 45 2c 20 50 4c 53 41 5f 45 4e 55 4d 45  NDLE, PLSA_ENUME
5cc0: 52 41 54 49 4f 4e 5f 48 41 4e 44 4c 45 2c 0a 09  RATION_HANDLE,..
5cd0: 20 20 54 52 55 53 54 45 44 5f 49 4e 46 4f 52 4d    TRUSTED_INFORM
5ce0: 41 54 49 4f 4e 5f 43 4c 41 53 53 2c 20 50 56 4f  ATION_CLASS, PVO
5cf0: 49 44 2a 2c 20 55 4c 4f 4e 47 2c 20 50 55 4c 4f  ID*, ULONG, PULO
5d00: 4e 47 29 3b 0a 09 4e 54 53 54 41 54 55 53 20 4c  NG);..NTSTATUS L
5d10: 73 61 46 72 65 65 4d 65 6d 6f 72 79 28 50 56 4f  saFreeMemory(PVO
5d20: 49 44 29 3b 0a 09 4e 54 53 54 41 54 55 53 20 4c  ID);..NTSTATUS L
5d30: 73 61 46 72 65 65 52 65 74 75 72 6e 42 75 66 66  saFreeReturnBuff
5d40: 65 72 28 50 56 4f 49 44 29 3b 0a 09 4e 54 53 54  er(PVOID);..NTST
5d50: 41 54 55 53 20 4c 73 61 4c 6f 67 6f 6e 55 73 65  ATUS LsaLogonUse
5d60: 72 28 48 41 4e 44 4c 45 2c 20 50 4c 53 41 5f 53  r(HANDLE, PLSA_S
5d70: 54 52 49 4e 47 2c 20 53 45 43 55 52 49 54 59 5f  TRING, SECURITY_
5d80: 4c 4f 47 4f 4e 5f 54 59 50 45 2c 20 55 4c 4f 4e  LOGON_TYPE, ULON
5d90: 47 2c 0a 09 20 20 50 56 4f 49 44 2c 20 55 4c 4f  G,..  PVOID, ULO
5da0: 4e 47 2c 20 50 54 4f 4b 45 4e 5f 47 52 4f 55 50  NG, PTOKEN_GROUP
5db0: 53 2c 20 50 54 4f 4b 45 4e 5f 53 4f 55 52 43 45  S, PTOKEN_SOURCE
5dc0: 2c 20 50 56 4f 49 44 2a 2c 20 50 55 4c 4f 4e 47  , PVOID*, PULONG
5dd0: 2c 20 50 4c 55 49 44 2c 0a 09 20 20 50 48 41 4e  , PLUID,..  PHAN
5de0: 44 4c 45 2c 20 50 51 55 4f 54 41 5f 4c 49 4d 49  DLE, PQUOTA_LIMI
5df0: 54 53 2c 20 50 4e 54 53 54 41 54 55 53 29 3b 0a  TS, PNTSTATUS);.
5e00: 09 4e 54 53 54 41 54 55 53 20 4c 73 61 4c 6f 6f  .NTSTATUS LsaLoo
5e10: 6b 75 70 41 75 74 68 65 6e 74 69 63 61 74 69 6f  kupAuthenticatio
5e20: 6e 50 61 63 6b 61 67 65 28 48 41 4e 44 4c 45 2c  nPackage(HANDLE,
5e30: 20 50 4c 53 41 5f 53 54 52 49 4e 47 2c 20 50 55   PLSA_STRING, PU
5e40: 4c 4f 4e 47 29 3b 0a 09 4e 54 53 54 41 54 55 53  LONG);..NTSTATUS
5e50: 20 4c 73 61 4c 6f 6f 6b 75 70 4e 61 6d 65 73 28   LsaLookupNames(
5e60: 4c 53 41 5f 48 41 4e 44 4c 45 2c 20 55 4c 4f 4e  LSA_HANDLE, ULON
5e70: 47 2c 20 50 4c 53 41 5f 55 4e 49 43 4f 44 45 5f  G, PLSA_UNICODE_
5e80: 53 54 52 49 4e 47 2c 0a 09 20 20 50 4c 53 41 5f  STRING,..  PLSA_
5e90: 52 45 46 45 52 45 4e 43 45 44 5f 44 4f 4d 41 49  REFERENCED_DOMAI
5ea0: 4e 5f 4c 49 53 54 2a 2c 20 50 4c 53 41 5f 54 52  N_LIST*, PLSA_TR
5eb0: 41 4e 53 4c 41 54 45 44 5f 53 49 44 2a 29 3b 0a  ANSLATED_SID*);.
5ec0: 09 4e 54 53 54 41 54 55 53 20 4c 73 61 4c 6f 6f  .NTSTATUS LsaLoo
5ed0: 6b 75 70 53 69 64 73 28 4c 53 41 5f 48 41 4e 44  kupSids(LSA_HAND
5ee0: 4c 45 2c 20 55 4c 4f 4e 47 2c 20 50 53 49 44 2a  LE, ULONG, PSID*
5ef0: 2c 0a 09 20 20 50 4c 53 41 5f 52 45 46 45 52 45  ,..  PLSA_REFERE
5f00: 4e 43 45 44 5f 44 4f 4d 41 49 4e 5f 4c 49 53 54  NCED_DOMAIN_LIST
5f10: 2a 2c 20 50 4c 53 41 5f 54 52 41 4e 53 4c 41 54  *, PLSA_TRANSLAT
5f20: 45 44 5f 4e 41 4d 45 2a 29 3b 0a 09 55 4c 4f 4e  ED_NAME*);..ULON
5f30: 47 20 4c 73 61 4e 74 53 74 61 74 75 73 54 6f 57  G LsaNtStatusToW
5f40: 69 6e 45 72 72 6f 72 28 4e 54 53 54 41 54 55 53  inError(NTSTATUS
5f50: 29 3b 0a 09 4e 54 53 54 41 54 55 53 20 4c 73 61  );..NTSTATUS Lsa
5f60: 4f 70 65 6e 50 6f 6c 69 63 79 28 50 4c 53 41 5f  OpenPolicy(PLSA_
5f70: 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 2c 20  UNICODE_STRING, 
5f80: 50 4c 53 41 5f 4f 42 4a 45 43 54 5f 41 54 54 52  PLSA_OBJECT_ATTR
5f90: 49 42 55 54 45 53 2c 0a 09 20 20 41 43 43 45 53  IBUTES,..  ACCES
5fa0: 53 5f 4d 41 53 4b 2c 20 50 4c 53 41 5f 48 41 4e  S_MASK, PLSA_HAN
5fb0: 44 4c 45 29 3b 0a 09 4e 54 53 54 41 54 55 53 20  DLE);..NTSTATUS 
5fc0: 4c 73 61 51 75 65 72 79 44 6f 6d 61 69 6e 49 6e  LsaQueryDomainIn
5fd0: 66 6f 72 6d 61 74 69 6f 6e 50 6f 6c 69 63 79 28  formationPolicy(
5fe0: 4c 53 41 5f 48 41 4e 44 4c 45 2c 0a 09 20 20 50  LSA_HANDLE,..  P
5ff0: 4f 4c 49 43 59 5f 44 4f 4d 41 49 4e 5f 49 4e 46  OLICY_DOMAIN_INF
6000: 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 2c 20  ORMATION_CLASS, 
6010: 50 56 4f 49 44 2a 29 3b 0a 09 4e 54 53 54 41 54  PVOID*);..NTSTAT
6020: 55 53 20 4c 73 61 51 75 65 72 79 49 6e 66 6f 72  US LsaQueryInfor
6030: 6d 61 74 69 6f 6e 50 6f 6c 69 63 79 28 4c 53 41  mationPolicy(LSA
6040: 5f 48 41 4e 44 4c 45 2c 20 50 4f 4c 49 43 59 5f  _HANDLE, POLICY_
6050: 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53  INFORMATION_CLAS
6060: 53 2c 0a 09 20 20 50 56 4f 49 44 2a 29 3b 0a 09  S,..  PVOID*);..
6070: 4e 54 53 54 41 54 55 53 20 4c 73 61 51 75 65 72  NTSTATUS LsaQuer
6080: 79 4c 6f 63 61 6c 49 6e 66 6f 72 6d 61 74 69 6f  yLocalInformatio
6090: 6e 50 6f 6c 69 63 79 28 4c 53 41 5f 48 41 4e 44  nPolicy(LSA_HAND
60a0: 4c 45 2c 0a 09 20 20 50 4f 4c 49 43 59 5f 4c 4f  LE,..  POLICY_LO
60b0: 43 41 4c 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f  CAL_INFORMATION_
60c0: 43 4c 41 53 53 2c 20 50 56 4f 49 44 2a 29 3b 0a  CLASS, PVOID*);.
60d0: 09 4e 54 53 54 41 54 55 53 20 4c 73 61 51 75 65  .NTSTATUS LsaQue
60e0: 72 79 54 72 75 73 74 65 64 44 6f 6d 61 69 6e 49  ryTrustedDomainI
60f0: 6e 66 6f 28 4c 53 41 5f 48 41 4e 44 4c 45 2c 20  nfo(LSA_HANDLE, 
6100: 50 53 49 44 2c 0a 09 20 20 54 52 55 53 54 45 44  PSID,..  TRUSTED
6110: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41  _INFORMATION_CLA
6120: 53 53 2c 20 50 56 4f 49 44 2a 29 3b 0a 09 4e 54  SS, PVOID*);..NT
6130: 53 54 41 54 55 53 20 4c 73 61 51 75 65 72 79 54  STATUS LsaQueryT
6140: 72 75 73 74 65 64 44 6f 6d 61 69 6e 49 6e 66 6f  rustedDomainInfo
6150: 42 79 4e 61 6d 65 28 4c 53 41 5f 48 41 4e 44 4c  ByName(LSA_HANDL
6160: 45 2c 20 50 4c 53 41 5f 55 4e 49 43 4f 44 45 5f  E, PLSA_UNICODE_
6170: 53 54 52 49 4e 47 2c 0a 09 20 20 54 52 55 53 54  STRING,..  TRUST
6180: 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43  ED_INFORMATION_C
6190: 4c 41 53 53 2c 20 50 56 4f 49 44 2a 29 3b 0a 09  LASS, PVOID*);..
61a0: 4e 54 53 54 41 54 55 53 20 4c 73 61 52 65 67 69  NTSTATUS LsaRegi
61b0: 73 74 65 72 4c 6f 67 6f 6e 50 72 6f 63 65 73 73  sterLogonProcess
61c0: 28 50 4c 53 41 5f 53 54 52 49 4e 47 2c 20 50 48  (PLSA_STRING, PH
61d0: 41 4e 44 4c 45 2c 0a 09 20 20 50 4c 53 41 5f 4f  ANDLE,..  PLSA_O
61e0: 50 45 52 41 54 49 4f 4e 41 4c 5f 4d 4f 44 45 29  PERATIONAL_MODE)
61f0: 3b 0a 09 4e 54 53 54 41 54 55 53 20 4c 73 61 52  ;..NTSTATUS LsaR
6200: 65 6d 6f 76 65 41 63 63 6f 75 6e 74 52 69 67 68  emoveAccountRigh
6210: 74 73 28 4c 53 41 5f 48 41 4e 44 4c 45 2c 20 50  ts(LSA_HANDLE, P
6220: 53 49 44 2c 20 42 4f 4f 4c 45 41 4e 2c 0a 09 20  SID, BOOLEAN,.. 
6230: 20 50 4c 53 41 5f 55 4e 49 43 4f 44 45 5f 53 54   PLSA_UNICODE_ST
6240: 52 49 4e 47 2c 20 55 4c 4f 4e 47 29 3b 0a 09 4e  RING, ULONG);..N
6250: 54 53 54 41 54 55 53 20 4c 73 61 52 65 74 72 69  TSTATUS LsaRetri
6260: 65 76 65 50 72 69 76 61 74 65 44 61 74 61 28 4c  evePrivateData(L
6270: 53 41 5f 48 41 4e 44 4c 45 2c 20 50 4c 53 41 5f  SA_HANDLE, PLSA_
6280: 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 2c 0a  UNICODE_STRING,.
6290: 09 20 20 50 4c 53 41 5f 55 4e 49 43 4f 44 45 5f  .  PLSA_UNICODE_
62a0: 53 54 52 49 4e 47 2a 29 3b 0a 09 4e 54 53 54 41  STRING*);..NTSTA
62b0: 54 55 53 20 4c 73 61 53 65 74 44 6f 6d 61 69 6e  TUS LsaSetDomain
62c0: 49 6e 66 6f 72 6d 61 74 69 6f 6e 50 6f 6c 69 63  InformationPolic
62d0: 79 28 4c 53 41 5f 48 41 4e 44 4c 45 2c 0a 09 20  y(LSA_HANDLE,.. 
62e0: 20 50 4f 4c 49 43 59 5f 44 4f 4d 41 49 4e 5f 49   POLICY_DOMAIN_I
62f0: 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53  NFORMATION_CLASS
6300: 2c 20 50 56 4f 49 44 29 3b 0a 09 4e 54 53 54 41  , PVOID);..NTSTA
6310: 54 55 53 20 4c 73 61 53 65 74 49 6e 66 6f 72 6d  TUS LsaSetInform
6320: 61 74 69 6f 6e 50 6f 6c 69 63 79 28 4c 53 41 5f  ationPolicy(LSA_
6330: 48 41 4e 44 4c 45 2c 20 50 4f 4c 49 43 59 5f 49  HANDLE, POLICY_I
6340: 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53 53  NFORMATION_CLASS
6350: 2c 0a 09 20 20 50 56 4f 49 44 29 3b 0a 09 4e 54  ,..  PVOID);..NT
6360: 53 54 41 54 55 53 20 4c 73 61 53 65 74 4c 6f 63  STATUS LsaSetLoc
6370: 61 6c 49 6e 66 6f 72 6d 61 74 69 6f 6e 50 6f 6c  alInformationPol
6380: 69 63 79 28 4c 53 41 5f 48 41 4e 44 4c 45 2c 0a  icy(LSA_HANDLE,.
6390: 09 20 20 50 4f 4c 49 43 59 5f 4c 4f 43 41 4c 5f  .  POLICY_LOCAL_
63a0: 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53  INFORMATION_CLAS
63b0: 53 2c 20 50 56 4f 49 44 29 3b 0a 09 4e 54 53 54  S, PVOID);..NTST
63c0: 41 54 55 53 20 4c 73 61 53 65 74 54 72 75 73 74  ATUS LsaSetTrust
63d0: 65 64 44 6f 6d 61 69 6e 49 6e 66 6f 72 6d 61 74  edDomainInformat
63e0: 69 6f 6e 28 4c 53 41 5f 48 41 4e 44 4c 45 2c 20  ion(LSA_HANDLE, 
63f0: 50 53 49 44 2c 0a 09 20 20 54 52 55 53 54 45 44  PSID,..  TRUSTED
6400: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41  _INFORMATION_CLA
6410: 53 53 2c 20 50 56 4f 49 44 29 3b 0a 09 4e 54 53  SS, PVOID);..NTS
6420: 54 41 54 55 53 20 4c 73 61 53 65 74 54 72 75 73  TATUS LsaSetTrus
6430: 74 65 64 44 6f 6d 61 69 6e 49 6e 66 6f 42 79 4e  tedDomainInfoByN
6440: 61 6d 65 28 4c 53 41 5f 48 41 4e 44 4c 45 2c 20  ame(LSA_HANDLE, 
6450: 50 4c 53 41 5f 55 4e 49 43 4f 44 45 5f 53 54 52  PLSA_UNICODE_STR
6460: 49 4e 47 2c 0a 09 20 20 54 52 55 53 54 45 44 5f  ING,..  TRUSTED_
6470: 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c 41 53  INFORMATION_CLAS
6480: 53 2c 20 50 56 4f 49 44 29 3b 0a 09 4e 54 53 54  S, PVOID);..NTST
6490: 41 54 55 53 20 4c 73 61 53 74 6f 72 65 50 72 69  ATUS LsaStorePri
64a0: 76 61 74 65 44 61 74 61 28 4c 53 41 5f 48 41 4e  vateData(LSA_HAN
64b0: 44 4c 45 2c 20 50 4c 53 41 5f 55 4e 49 43 4f 44  DLE, PLSA_UNICOD
64c0: 45 5f 53 54 52 49 4e 47 2c 0a 09 20 20 50 4c 53  E_STRING,..  PLS
64d0: 41 5f 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47  A_UNICODE_STRING
64e0: 29 3b 0a 7d 0a 0a 61 6c 69 61 73 20 4e 54 53 54  );.}..alias NTST
64f0: 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 50 55  ATUS function(PU
6500: 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 2c 20 55  NICODE_STRING, U
6510: 4c 4f 4e 47 2c 20 50 55 4e 49 43 4f 44 45 5f 53  LONG, PUNICODE_S
6520: 54 52 49 4e 47 29 0a 20 20 50 53 41 4d 5f 50 41  TRING).  PSAM_PA
6530: 53 53 57 4f 52 44 5f 4e 4f 54 49 46 49 43 41 54  SSWORD_NOTIFICAT
6540: 49 4f 4e 5f 52 4f 55 54 49 4e 45 3b 0a 61 6c 69  ION_ROUTINE;.ali
6550: 61 73 20 42 4f 4f 4c 45 41 4e 20 66 75 6e 63 74  as BOOLEAN funct
6560: 69 6f 6e 28 29 20 50 53 41 4d 5f 49 4e 49 54 5f  ion() PSAM_INIT_
6570: 4e 4f 54 49 46 49 43 41 54 49 4f 4e 5f 52 4f 55  NOTIFICATION_ROU
6580: 54 49 4e 45 3b 0a 61 6c 69 61 73 20 42 4f 4f 4c  TINE;.alias BOOL
6590: 45 41 4e 20 66 75 6e 63 74 69 6f 6e 28 50 55 4e  EAN function(PUN
65a0: 49 43 4f 44 45 5f 53 54 52 49 4e 47 2c 20 50 55  ICODE_STRING, PU
65b0: 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 2c 0a 20  NICODE_STRING,. 
65c0: 20 50 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47   PUNICODE_STRING
65d0: 2c 20 42 4f 4f 4c 45 41 4e 29 20 50 53 41 4d 5f  , BOOLEAN) PSAM_
65e0: 50 41 53 53 57 4f 52 44 5f 46 49 4c 54 45 52 5f  PASSWORD_FILTER_
65f0: 52 4f 55 54 49 4e 45 3b 0a                       ROUTINE;.