Hex Artifact Content

Not logged in

Artifact f28bac35de29964ec88bb20baf1f3d95ac764224:


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 20 20 6e 74 73 65 63             ntsec
0070: 70 6b 67 2e 64 20 20 20 20 20 20 20 20 20 20 20  pkg.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 45 6c 6c 65 72          by Eller
01e0: 79 20 4e 65 77 63 6f 6d 65 72 20 20 20 20 20 20  y Newcomer      
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 70 6b 67 3b 0a 0a 69 6d 70 6f  .ntsecpkg;..impo
0300: 72 74 20 77 69 6e 33 32 2e 77 69 6e 64 65 66 2c  rt win32.windef,
0310: 20 77 69 6e 33 32 2e 6e 74 73 65 63 61 70 69 2c   win32.ntsecapi,
0320: 20 77 69 6e 33 32 2e 73 65 63 75 72 69 74 79 2c   win32.security,
0330: 20 77 69 6e 33 32 2e 6e 74 64 65 66 2c 20 77 69   win32.ntdef, wi
0340: 6e 33 32 2e 73 73 70 69 3b 0a 69 6d 70 6f 72 74  n32.sspi;.import
0350: 20 77 69 6e 33 32 2e 77 69 6e 6e 74 3a 20 47 55   win32.winnt: GU
0360: 49 44 3b 0a 69 6d 70 6f 72 74 20 77 69 6e 33 32  ID;.import win32
0370: 2e 77 69 6e 62 61 73 65 3b 0a 0a 65 78 74 65 72  .winbase;..exter
0380: 6e 28 57 69 6e 64 6f 77 73 29 3a 0a 0a 65 6e 75  n(Windows):..enu
0390: 6d 20 3a 55 4c 4f 4e 47 7b 0a 20 20 20 20 49 53  m :ULONG{.    IS
03a0: 43 5f 52 45 51 5f 44 45 4c 45 47 41 54 45 20 3d  C_REQ_DELEGATE =
03b0: 20 31 2c 0a 20 20 20 20 49 53 43 5f 52 45 51 5f   1,.    ISC_REQ_
03c0: 4d 55 54 55 41 4c 5f 41 55 54 48 20 3d 20 32 2c  MUTUAL_AUTH = 2,
03d0: 0a 20 20 20 20 49 53 43 5f 52 45 51 5f 52 45 50  .    ISC_REQ_REP
03e0: 4c 41 59 5f 44 45 54 45 43 54 20 3d 20 34 2c 0a  LAY_DETECT = 4,.
03f0: 20 20 20 20 49 53 43 5f 52 45 51 5f 53 45 51 55      ISC_REQ_SEQU
0400: 45 4e 43 45 5f 44 45 54 45 43 54 20 3d 20 38 2c  ENCE_DETECT = 8,
0410: 0a 20 20 20 20 49 53 43 5f 52 45 51 5f 43 4f 4e  .    ISC_REQ_CON
0420: 46 49 44 45 4e 54 49 41 4c 49 54 59 20 20 3d 20  FIDENTIALITY  = 
0430: 31 36 2c 0a 20 20 20 20 49 53 43 5f 52 45 51 5f  16,.    ISC_REQ_
0440: 55 53 45 5f 53 45 53 53 49 4f 4e 5f 4b 45 59 20  USE_SESSION_KEY 
0450: 3d 20 33 32 2c 0a 20 20 20 20 49 53 43 5f 52 45  = 32,.    ISC_RE
0460: 51 5f 50 52 4f 4d 50 54 5f 46 4f 52 5f 43 52 45  Q_PROMPT_FOR_CRE
0470: 44 53 20 3d 20 36 34 2c 0a 20 20 20 20 49 53 43  DS = 64,.    ISC
0480: 5f 52 45 51 5f 55 53 45 5f 53 55 50 50 4c 49 45  _REQ_USE_SUPPLIE
0490: 44 5f 43 52 45 44 53 20 20 3d 20 31 32 38 2c 0a  D_CREDS  = 128,.
04a0: 20 20 20 20 49 53 43 5f 52 45 51 5f 41 4c 4c 4f      ISC_REQ_ALLO
04b0: 43 41 54 45 5f 4d 45 4d 4f 52 59 20 3d 20 32 35  CATE_MEMORY = 25
04c0: 36 2c 0a 20 20 20 20 49 53 43 5f 52 45 51 5f 55  6,.    ISC_REQ_U
04d0: 53 45 5f 44 43 45 5f 53 54 59 4c 45 20 3d 20 35  SE_DCE_STYLE = 5
04e0: 31 32 2c 0a 20 20 20 20 49 53 43 5f 52 45 51 5f  12,.    ISC_REQ_
04f0: 44 41 54 41 47 52 41 4d 20 3d 20 31 30 32 34 2c  DATAGRAM = 1024,
0500: 0a 20 20 20 20 49 53 43 5f 52 45 51 5f 43 4f 4e  .    ISC_REQ_CON
0510: 4e 45 43 54 49 4f 4e 20 3d 20 32 30 34 38 2c 0a  NECTION = 2048,.
0520: 20 20 20 20 49 53 43 5f 52 45 51 5f 45 58 54 45      ISC_REQ_EXTE
0530: 4e 44 45 44 5f 45 52 52 4f 52 20 3d 20 31 36 33  NDED_ERROR = 163
0540: 38 34 2c 0a 20 20 20 20 49 53 43 5f 52 45 51 5f  84,.    ISC_REQ_
0550: 53 54 52 45 41 4d 20 3d 20 33 32 37 36 38 2c 0a  STREAM = 32768,.
0560: 20 20 20 20 49 53 43 5f 52 45 51 5f 49 4e 54 45      ISC_REQ_INTE
0570: 47 52 49 54 59 20 3d 20 36 35 35 33 36 2c 0a 20  GRITY = 65536,. 
0580: 20 20 20 49 53 43 5f 52 45 51 5f 4d 41 4e 55 41     ISC_REQ_MANUA
0590: 4c 5f 43 52 45 44 5f 56 41 4c 49 44 41 54 49 4f  L_CRED_VALIDATIO
05a0: 4e 20 3d 20 35 32 34 32 38 38 2c 0a 20 20 20 20  N = 524288,.    
05b0: 49 53 43 5f 52 45 51 5f 48 54 54 50 20 20 3d 20  ISC_REQ_HTTP  = 
05c0: 32 36 38 34 33 35 34 35 36 2c 0a 7d 0a 0a 65 6e  268435456,.}..en
05d0: 75 6d 20 49 53 43 5f 52 45 54 5f 45 58 54 45 4e  um ISC_RET_EXTEN
05e0: 44 45 44 5f 45 52 52 4f 52 20 3d 20 31 36 33 38  DED_ERROR = 1638
05f0: 34 3b 0a 0a 65 6e 75 6d 20 3a 55 4c 4f 4e 47 7b  4;..enum :ULONG{
0600: 0a 20 20 20 20 41 53 43 5f 52 45 51 5f 44 45 4c  .    ASC_REQ_DEL
0610: 45 47 41 54 45 20 3d 20 31 2c 0a 20 20 20 20 41  EGATE = 1,.    A
0620: 53 43 5f 52 45 51 5f 4d 55 54 55 41 4c 5f 41 55  SC_REQ_MUTUAL_AU
0630: 54 48 20 3d 20 32 2c 0a 20 20 20 20 41 53 43 5f  TH = 2,.    ASC_
0640: 52 45 51 5f 52 45 50 4c 41 59 5f 44 45 54 45 43  REQ_REPLAY_DETEC
0650: 54 20 3d 20 34 2c 0a 20 20 20 20 41 53 43 5f 52  T = 4,.    ASC_R
0660: 45 51 5f 53 45 51 55 45 4e 43 45 5f 44 45 54 45  EQ_SEQUENCE_DETE
0670: 43 54 20 3d 20 38 2c 0a 20 20 20 20 41 53 43 5f  CT = 8,.    ASC_
0680: 52 45 51 5f 43 4f 4e 46 49 44 45 4e 54 49 41 4c  REQ_CONFIDENTIAL
0690: 49 54 59 20 3d 20 31 36 2c 0a 20 20 20 20 41 53  ITY = 16,.    AS
06a0: 43 5f 52 45 51 5f 55 53 45 5f 53 45 53 53 49 4f  C_REQ_USE_SESSIO
06b0: 4e 5f 4b 45 59 20 3d 20 33 32 2c 0a 20 20 20 20  N_KEY = 32,.    
06c0: 41 53 43 5f 52 45 51 5f 41 4c 4c 4f 43 41 54 45  ASC_REQ_ALLOCATE
06d0: 5f 4d 45 4d 4f 52 59 20 3d 20 32 35 36 2c 0a 20  _MEMORY = 256,. 
06e0: 20 20 20 41 53 43 5f 52 45 51 5f 55 53 45 5f 44     ASC_REQ_USE_D
06f0: 43 45 5f 53 54 59 4c 45 20 3d 20 35 31 32 2c 0a  CE_STYLE = 512,.
0700: 20 20 20 20 41 53 43 5f 52 45 51 5f 44 41 54 41      ASC_REQ_DATA
0710: 47 52 41 4d 20 3d 20 31 30 32 34 2c 0a 20 20 20  GRAM = 1024,.   
0720: 20 41 53 43 5f 52 45 51 5f 43 4f 4e 4e 45 43 54   ASC_REQ_CONNECT
0730: 49 4f 4e 20 3d 20 32 30 34 38 2c 0a 20 20 20 20  ION = 2048,.    
0740: 41 53 43 5f 52 45 51 5f 45 58 54 45 4e 44 45 44  ASC_REQ_EXTENDED
0750: 5f 45 52 52 4f 52 20 3d 20 33 32 37 36 38 2c 0a  _ERROR = 32768,.
0760: 20 20 20 20 41 53 43 5f 52 45 51 5f 53 54 52 45      ASC_REQ_STRE
0770: 41 4d 20 3d 20 36 35 35 33 36 2c 0a 20 20 20 20  AM = 65536,.    
0780: 41 53 43 5f 52 45 51 5f 49 4e 54 45 47 52 49 54  ASC_REQ_INTEGRIT
0790: 59 20 3d 20 31 33 31 30 37 32 2c 0a 7d 0a 0a 65  Y = 131072,.}..e
07a0: 6e 75 6d 20 53 45 43 55 52 49 54 59 5f 4e 41 54  num SECURITY_NAT
07b0: 49 56 45 5f 44 52 45 50 20 20 3d 20 31 36 3b 0a  IVE_DREP  = 16;.
07c0: 65 6e 75 6d 20 53 45 43 55 52 49 54 59 5f 4e 45  enum SECURITY_NE
07d0: 54 57 4f 52 4b 5f 44 52 45 50 20 3d 20 30 3b 0a  TWORK_DREP = 0;.
07e0: 0a 65 6e 75 6d 20 3a 55 4c 4f 4e 47 7b 0a 20 20  .enum :ULONG{.  
07f0: 20 20 53 45 43 50 4b 47 5f 53 54 41 54 45 5f 45    SECPKG_STATE_E
0800: 4e 43 52 59 50 54 49 4f 4e 5f 50 45 52 4d 49 54  NCRYPTION_PERMIT
0810: 54 45 44 20 20 20 20 20 20 20 20 20 20 20 20 20  TED             
0820: 20 20 3d 20 30 78 30 31 2c 0a 20 20 20 20 53 45    = 0x01,.    SE
0830: 43 50 4b 47 5f 53 54 41 54 45 5f 53 54 52 4f 4e  CPKG_STATE_STRON
0840: 47 5f 45 4e 43 52 59 50 54 49 4f 4e 5f 50 45 52  G_ENCRYPTION_PER
0850: 4d 49 54 54 45 44 20 20 20 20 20 20 20 20 3d 20  MITTED        = 
0860: 30 78 30 32 2c 0a 20 20 20 20 53 45 43 50 4b 47  0x02,.    SECPKG
0870: 5f 53 54 41 54 45 5f 44 4f 4d 41 49 4e 5f 43 4f  _STATE_DOMAIN_CO
0880: 4e 54 52 4f 4c 4c 45 52 20 20 20 20 20 20 20 20  NTROLLER        
0890: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 34            = 0x04
08a0: 2c 0a 20 20 20 20 53 45 43 50 4b 47 5f 53 54 41  ,.    SECPKG_STA
08b0: 54 45 5f 57 4f 52 4b 53 54 41 54 49 4f 4e 20 20  TE_WORKSTATION  
08c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
08d0: 20 20 20 20 20 20 3d 20 30 78 30 38 2c 0a 20 20        = 0x08,.  
08e0: 20 20 53 45 43 50 4b 47 5f 53 54 41 54 45 5f 53    SECPKG_STATE_S
08f0: 54 41 4e 44 41 4c 4f 4e 45 20 20 20 20 20 20 20  TANDALONE       
0900: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0910: 20 20 3d 20 30 78 31 30 2c 0a 7d 0a 0a 2f 2a 20    = 0x10,.}../* 
0920: 65 6e 75 6d 20 64 65 66 69 6e 69 74 69 6f 6e 73  enum definitions
0930: 20 66 6f 72 20 53 65 63 75 72 65 20 53 65 72 76   for Secure Serv
0940: 69 63 65 20 50 72 6f 76 69 64 65 72 2f 41 75 74  ice Provider/Aut
0950: 68 65 6e 74 69 63 61 74 69 6f 6e 20 50 61 63 6b  hentication Pack
0960: 61 67 65 73 20 2a 2f 0a 65 6e 75 6d 20 4c 53 41  ages */.enum LSA
0970: 5f 54 4f 4b 45 4e 5f 49 4e 46 4f 52 4d 41 54 49  _TOKEN_INFORMATI
0980: 4f 4e 5f 54 59 50 45 20 7b 0a 09 4c 73 61 54 6f  ON_TYPE {..LsaTo
0990: 6b 65 6e 49 6e 66 6f 72 6d 61 74 69 6f 6e 4e 75  kenInformationNu
09a0: 6c 6c 2c 0a 09 4c 73 61 54 6f 6b 65 6e 49 6e 66  ll,..LsaTokenInf
09b0: 6f 72 6d 61 74 69 6f 6e 56 31 0a 7d 20 0a 61 6c  ormationV1.} .al
09c0: 69 61 73 20 4c 53 41 5f 54 4f 4b 45 4e 5f 49 4e  ias LSA_TOKEN_IN
09d0: 46 4f 52 4d 41 54 49 4f 4e 5f 54 59 50 45 2a 20  FORMATION_TYPE* 
09e0: 50 4c 53 41 5f 54 4f 4b 45 4e 5f 49 4e 46 4f 52  PLSA_TOKEN_INFOR
09f0: 4d 41 54 49 4f 4e 5f 54 59 50 45 3b 0a 65 6e 75  MATION_TYPE;.enu
0a00: 6d 20 53 45 43 50 4b 47 5f 45 58 54 45 4e 44 45  m SECPKG_EXTENDE
0a10: 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c  D_INFORMATION_CL
0a20: 41 53 53 0a 7b 0a 09 53 65 63 70 6b 67 47 73 73  ASS.{..SecpkgGss
0a30: 49 6e 66 6f 20 3d 20 31 2c 0a 09 53 65 63 70 6b  Info = 1,..Secpk
0a40: 67 43 6f 6e 74 65 78 74 54 68 75 6e 6b 73 2c 0a  gContextThunks,.
0a50: 09 53 65 63 70 6b 67 4d 75 74 75 61 6c 41 75 74  .SecpkgMutualAut
0a60: 68 4c 65 76 65 6c 2c 0a 09 53 65 63 70 6b 67 4d  hLevel,..SecpkgM
0a70: 61 78 49 6e 66 6f 0a 7d 20 0a 65 6e 75 6d 20 53  axInfo.} .enum S
0a80: 45 43 50 4b 47 5f 4e 41 4d 45 5f 54 59 50 45 20  ECPKG_NAME_TYPE 
0a90: 7b 0a 09 53 65 63 4e 61 6d 65 53 61 6d 43 6f 6d  {..SecNameSamCom
0aa0: 70 61 74 69 62 6c 65 2c 0a 09 53 65 63 4e 61 6d  patible,..SecNam
0ab0: 65 41 6c 74 65 72 6e 61 74 65 49 64 2c 0a 09 53  eAlternateId,..S
0ac0: 65 63 4e 61 6d 65 46 6c 61 74 2c 0a 09 53 65 63  ecNameFlat,..Sec
0ad0: 4e 61 6d 65 44 4e 0a 7d 20 0a 0a 2f 2a 20 73 74  NameDN.} ../* st
0ae0: 72 75 63 74 20 64 65 66 69 6e 69 74 69 6f 6e 73  ruct definitions
0af0: 20 66 6f 72 20 53 53 50 2f 41 50 20 2a 2f 0a 73   for SSP/AP */.s
0b00: 74 72 75 63 74 20 53 45 43 50 4b 47 5f 50 52 49  truct SECPKG_PRI
0b10: 4d 41 52 59 5f 43 52 45 44 20 7b 0a 09 4c 55 49  MARY_CRED {..LUI
0b20: 44 20 4c 6f 67 6f 6e 49 64 3b 0a 09 55 4e 49 43  D LogonId;..UNIC
0b30: 4f 44 45 5f 53 54 52 49 4e 47 20 44 6f 77 6e 6c  ODE_STRING Downl
0b40: 65 76 65 6c 4e 61 6d 65 3b 0a 09 55 4e 49 43 4f  evelName;..UNICO
0b50: 44 45 5f 53 54 52 49 4e 47 20 44 6f 6d 61 69 6e  DE_STRING Domain
0b60: 4e 61 6d 65 3b 0a 09 55 4e 49 43 4f 44 45 5f 53  Name;..UNICODE_S
0b70: 54 52 49 4e 47 20 50 61 73 73 77 6f 72 64 3b 0a  TRING Password;.
0b80: 09 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 20  .UNICODE_STRING 
0b90: 4f 6c 64 50 61 73 73 77 6f 72 64 3b 0a 09 50 53  OldPassword;..PS
0ba0: 49 44 20 55 73 65 72 53 69 64 3b 0a 09 55 4c 4f  ID UserSid;..ULO
0bb0: 4e 47 20 46 6c 61 67 73 3b 0a 09 55 4e 49 43 4f  NG Flags;..UNICO
0bc0: 44 45 5f 53 54 52 49 4e 47 20 44 6e 73 44 6f 6d  DE_STRING DnsDom
0bd0: 61 69 6e 4e 61 6d 65 3b 0a 09 55 4e 49 43 4f 44  ainName;..UNICOD
0be0: 45 5f 53 54 52 49 4e 47 20 55 70 6e 3b 0a 09 55  E_STRING Upn;..U
0bf0: 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 20 4c 6f  NICODE_STRING Lo
0c00: 67 6f 6e 53 65 72 76 65 72 3b 0a 09 55 4e 49 43  gonServer;..UNIC
0c10: 4f 44 45 5f 53 54 52 49 4e 47 20 53 70 61 72 65  ODE_STRING Spare
0c20: 31 3b 0a 09 55 4e 49 43 4f 44 45 5f 53 54 52 49  1;..UNICODE_STRI
0c30: 4e 47 20 53 70 61 72 65 32 3b 0a 09 55 4e 49 43  NG Spare2;..UNIC
0c40: 4f 44 45 5f 53 54 52 49 4e 47 20 53 70 61 72 65  ODE_STRING Spare
0c50: 33 3b 0a 09 55 4e 49 43 4f 44 45 5f 53 54 52 49  3;..UNICODE_STRI
0c60: 4e 47 20 53 70 61 72 65 34 3b 0a 7d 20 0a 61 6c  NG Spare4;.} .al
0c70: 69 61 73 20 53 45 43 50 4b 47 5f 50 52 49 4d 41  ias SECPKG_PRIMA
0c80: 52 59 5f 43 52 45 44 2a 20 50 53 45 43 50 4b 47  RY_CRED* PSECPKG
0c90: 5f 50 52 49 4d 41 52 59 5f 43 52 45 44 3b 0a 73  _PRIMARY_CRED;.s
0ca0: 74 72 75 63 74 20 53 45 43 50 4b 47 5f 53 55 50  truct SECPKG_SUP
0cb0: 50 4c 45 4d 45 4e 54 41 4c 5f 43 52 45 44 20 7b  PLEMENTAL_CRED {
0cc0: 0a 09 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47  ..UNICODE_STRING
0cd0: 20 50 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 09 55   PackageName;..U
0ce0: 4c 4f 4e 47 20 43 72 65 64 65 6e 74 69 61 6c 53  LONG CredentialS
0cf0: 69 7a 65 3b 0a 09 50 55 43 48 41 52 20 43 72 65  ize;..PUCHAR Cre
0d00: 64 65 6e 74 69 61 6c 73 3b 0a 7d 20 0a 61 6c 69  dentials;.} .ali
0d10: 61 73 20 53 45 43 50 4b 47 5f 53 55 50 50 4c 45  as SECPKG_SUPPLE
0d20: 4d 45 4e 54 41 4c 5f 43 52 45 44 2a 20 50 53 45  MENTAL_CRED* PSE
0d30: 43 50 4b 47 5f 53 55 50 50 4c 45 4d 45 4e 54 41  CPKG_SUPPLEMENTA
0d40: 4c 5f 43 52 45 44 3b 0a 73 74 72 75 63 74 20 53  L_CRED;.struct S
0d50: 45 43 50 4b 47 5f 53 55 50 50 4c 45 4d 45 4e 54  ECPKG_SUPPLEMENT
0d60: 41 4c 5f 43 52 45 44 5f 41 52 52 41 59 20 7b 0a  AL_CRED_ARRAY {.
0d70: 09 55 4c 4f 4e 47 20 43 72 65 64 65 6e 74 69 61  .ULONG Credentia
0d80: 6c 43 6f 75 6e 74 3b 0a 09 53 45 43 50 4b 47 5f  lCount;..SECPKG_
0d90: 53 55 50 50 4c 45 4d 45 4e 54 41 4c 5f 43 52 45  SUPPLEMENTAL_CRE
0da0: 44 5b 31 5d 20 43 72 65 64 65 6e 74 69 61 6c 73  D[1] Credentials
0db0: 3b 0a 7d 20 0a 61 6c 69 61 73 20 53 45 43 50 4b  ;.} .alias SECPK
0dc0: 47 5f 53 55 50 50 4c 45 4d 45 4e 54 41 4c 5f 43  G_SUPPLEMENTAL_C
0dd0: 52 45 44 5f 41 52 52 41 59 2a 20 50 53 45 43 50  RED_ARRAY* PSECP
0de0: 4b 47 5f 53 55 50 50 4c 45 4d 45 4e 54 41 4c 5f  KG_SUPPLEMENTAL_
0df0: 43 52 45 44 5f 41 52 52 41 59 3b 0a 73 74 72 75  CRED_ARRAY;.stru
0e00: 63 74 20 53 45 43 50 4b 47 5f 50 41 52 41 4d 45  ct SECPKG_PARAME
0e10: 54 45 52 53 20 7b 0a 09 55 4c 4f 4e 47 20 56 65  TERS {..ULONG Ve
0e20: 72 73 69 6f 6e 3b 0a 09 55 4c 4f 4e 47 20 4d 61  rsion;..ULONG Ma
0e30: 63 68 69 6e 65 53 74 61 74 65 3b 0a 09 55 4c 4f  chineState;..ULO
0e40: 4e 47 20 53 65 74 75 70 4d 6f 64 65 3b 0a 09 50  NG SetupMode;..P
0e50: 53 49 44 20 44 6f 6d 61 69 6e 53 69 64 3b 0a 09  SID DomainSid;..
0e60: 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 20 44  UNICODE_STRING D
0e70: 6f 6d 61 69 6e 4e 61 6d 65 3b 0a 09 55 4e 49 43  omainName;..UNIC
0e80: 4f 44 45 5f 53 54 52 49 4e 47 20 44 6e 73 44 6f  ODE_STRING DnsDo
0e90: 6d 61 69 6e 4e 61 6d 65 3b 0a 09 47 55 49 44 20  mainName;..GUID 
0ea0: 44 6f 6d 61 69 6e 47 75 69 64 3b 0a 7d 20 0a 61  DomainGuid;.} .a
0eb0: 6c 69 61 73 20 53 45 43 50 4b 47 5f 50 41 52 41  lias SECPKG_PARA
0ec0: 4d 45 54 45 52 53 2a 20 50 53 45 43 50 4b 47 5f  METERS* PSECPKG_
0ed0: 50 41 52 41 4d 45 54 45 52 53 2c 50 53 45 43 50  PARAMETERS,PSECP
0ee0: 4b 47 5f 45 56 45 4e 54 5f 44 4f 4d 41 49 4e 5f  KG_EVENT_DOMAIN_
0ef0: 43 48 41 4e 47 45 3b 0a 61 6c 69 61 73 20 53 45  CHANGE;.alias SE
0f00: 43 50 4b 47 5f 50 41 52 41 4d 45 54 45 52 53 20  CPKG_PARAMETERS 
0f10: 53 45 43 50 4b 47 5f 45 56 45 4e 54 5f 44 4f 4d  SECPKG_EVENT_DOM
0f20: 41 49 4e 5f 43 48 41 4e 47 45 3b 0a 73 74 72 75  AIN_CHANGE;.stru
0f30: 63 74 20 53 45 43 50 4b 47 5f 43 4c 49 45 4e 54  ct SECPKG_CLIENT
0f40: 5f 49 4e 46 4f 20 7b 0a 20 20 4c 55 49 44 20 4c  _INFO {.  LUID L
0f50: 6f 67 6f 6e 49 64 3b 0a 20 20 55 4c 4f 4e 47 20  ogonId;.  ULONG 
0f60: 50 72 6f 63 65 73 73 49 44 3b 0a 20 20 55 4c 4f  ProcessID;.  ULO
0f70: 4e 47 20 54 68 72 65 61 64 49 44 3b 0a 20 20 42  NG ThreadID;.  B
0f80: 4f 4f 4c 45 41 4e 20 48 61 73 54 63 62 50 72 69  OOLEAN HasTcbPri
0f90: 76 69 6c 65 67 65 3b 0a 20 20 42 4f 4f 4c 45 41  vilege;.  BOOLEA
0fa0: 4e 20 49 6d 70 65 72 73 6f 6e 61 74 69 6e 67 3b  N Impersonating;
0fb0: 0a 20 20 42 4f 4f 4c 45 41 4e 20 52 65 73 74 72  .  BOOLEAN Restr
0fc0: 69 63 74 65 64 3b 0a 7d 20 0a 61 6c 69 61 73 20  icted;.} .alias 
0fd0: 53 45 43 50 4b 47 5f 43 4c 49 45 4e 54 5f 49 4e  SECPKG_CLIENT_IN
0fe0: 46 4f 2a 20 50 53 45 43 50 4b 47 5f 43 4c 49 45  FO* PSECPKG_CLIE
0ff0: 4e 54 5f 49 4e 46 4f 3b 0a 73 74 72 75 63 74 20  NT_INFO;.struct 
1000: 53 45 43 55 52 49 54 59 5f 55 53 45 52 5f 44 41  SECURITY_USER_DA
1010: 54 41 20 7b 0a 09 53 45 43 55 52 49 54 59 5f 53  TA {..SECURITY_S
1020: 54 52 49 4e 47 20 55 73 65 72 4e 61 6d 65 3b 0a  TRING UserName;.
1030: 09 53 45 43 55 52 49 54 59 5f 53 54 52 49 4e 47  .SECURITY_STRING
1040: 20 4c 6f 67 6f 6e 44 6f 6d 61 69 6e 4e 61 6d 65   LogonDomainName
1050: 3b 0a 09 53 45 43 55 52 49 54 59 5f 53 54 52 49  ;..SECURITY_STRI
1060: 4e 47 20 4c 6f 67 6f 6e 53 65 72 76 65 72 3b 0a  NG LogonServer;.
1070: 09 50 53 49 44 20 70 53 69 64 3b 0a 7d 20 0a 61  .PSID pSid;.} .a
1080: 6c 69 61 73 20 53 45 43 55 52 49 54 59 5f 55 53  lias SECURITY_US
1090: 45 52 5f 44 41 54 41 2a 20 50 53 45 43 55 52 49  ER_DATA* PSECURI
10a0: 54 59 5f 55 53 45 52 5f 44 41 54 41 2c 50 53 65  TY_USER_DATA,PSe
10b0: 63 75 72 69 74 79 55 73 65 72 44 61 74 61 3b 0a  curityUserData;.
10c0: 61 6c 69 61 73 20 53 45 43 55 52 49 54 59 5f 55  alias SECURITY_U
10d0: 53 45 52 5f 44 41 54 41 20 53 65 63 75 72 69 74  SER_DATA Securit
10e0: 79 55 73 65 72 44 61 74 61 3b 0a 73 74 72 75 63  yUserData;.struc
10f0: 74 20 53 45 43 50 4b 47 5f 47 53 53 5f 49 4e 46  t SECPKG_GSS_INF
1100: 4f 20 7b 0a 09 55 4c 4f 4e 47 20 45 6e 63 6f 64  O {..ULONG Encod
1110: 65 64 49 64 4c 65 6e 67 74 68 3b 0a 09 55 43 48  edIdLength;..UCH
1120: 41 52 5b 34 5d 20 45 6e 63 6f 64 65 64 49 64 3b  AR[4] EncodedId;
1130: 0a 7d 20 0a 61 6c 69 61 73 20 53 45 43 50 4b 47  .} .alias SECPKG
1140: 5f 47 53 53 5f 49 4e 46 4f 2a 20 50 53 45 43 50  _GSS_INFO* PSECP
1150: 4b 47 5f 47 53 53 5f 49 4e 46 4f 3b 0a 73 74 72  KG_GSS_INFO;.str
1160: 75 63 74 20 53 45 43 50 4b 47 5f 43 4f 4e 54 45  uct SECPKG_CONTE
1170: 58 54 5f 54 48 55 4e 4b 53 20 7b 0a 09 55 4c 4f  XT_THUNKS {..ULO
1180: 4e 47 20 49 6e 66 6f 4c 65 76 65 6c 43 6f 75 6e  NG InfoLevelCoun
1190: 74 3b 0a 09 55 4c 4f 4e 47 5b 31 5d 20 4c 65 76  t;..ULONG[1] Lev
11a0: 65 6c 73 3b 0a 7d 20 0a 61 6c 69 61 73 20 53 45  els;.} .alias SE
11b0: 43 50 4b 47 5f 43 4f 4e 54 45 58 54 5f 54 48 55  CPKG_CONTEXT_THU
11c0: 4e 4b 53 2a 20 50 53 45 43 50 4b 47 5f 43 4f 4e  NKS* PSECPKG_CON
11d0: 54 45 58 54 5f 54 48 55 4e 4b 53 3b 0a 73 74 72  TEXT_THUNKS;.str
11e0: 75 63 74 20 53 45 43 50 4b 47 5f 4d 55 54 55 41  uct SECPKG_MUTUA
11f0: 4c 5f 41 55 54 48 5f 4c 45 56 45 4c 20 7b 0a 09  L_AUTH_LEVEL {..
1200: 55 4c 4f 4e 47 20 4d 75 74 75 61 6c 41 75 74 68  ULONG MutualAuth
1210: 4c 65 76 65 6c 3b 0a 7d 20 0a 61 6c 69 61 73 20  Level;.} .alias 
1220: 53 45 43 50 4b 47 5f 4d 55 54 55 41 4c 5f 41 55  SECPKG_MUTUAL_AU
1230: 54 48 5f 4c 45 56 45 4c 2a 20 50 53 45 43 50 4b  TH_LEVEL* PSECPK
1240: 47 5f 4d 55 54 55 41 4c 5f 41 55 54 48 5f 4c 45  G_MUTUAL_AUTH_LE
1250: 56 45 4c 3b 0a 73 74 72 75 63 74 20 53 45 43 50  VEL;.struct SECP
1260: 4b 47 5f 43 41 4c 4c 5f 49 4e 46 4f 20 7b 0a 09  KG_CALL_INFO {..
1270: 55 4c 4f 4e 47 20 50 72 6f 63 65 73 73 49 64 3b  ULONG ProcessId;
1280: 0a 09 55 4c 4f 4e 47 20 54 68 72 65 61 64 49 64  ..ULONG ThreadId
1290: 3b 0a 09 55 4c 4f 4e 47 20 41 74 74 72 69 62 75  ;..ULONG Attribu
12a0: 74 65 73 3b 0a 09 55 4c 4f 4e 47 20 43 61 6c 6c  tes;..ULONG Call
12b0: 43 6f 75 6e 74 3b 0a 7d 20 0a 61 6c 69 61 73 20  Count;.} .alias 
12c0: 53 45 43 50 4b 47 5f 43 41 4c 4c 5f 49 4e 46 4f  SECPKG_CALL_INFO
12d0: 2a 20 50 53 45 43 50 4b 47 5f 43 41 4c 4c 5f 49  * PSECPKG_CALL_I
12e0: 4e 46 4f 3b 0a 73 74 72 75 63 74 20 53 45 43 50  NFO;.struct SECP
12f0: 4b 47 5f 45 58 54 45 4e 44 45 44 5f 49 4e 46 4f  KG_EXTENDED_INFO
1300: 52 4d 41 54 49 4f 4e 20 7b 0a 09 53 45 43 50 4b  RMATION {..SECPK
1310: 47 5f 45 58 54 45 4e 44 45 44 5f 49 4e 46 4f 52  G_EXTENDED_INFOR
1320: 4d 41 54 49 4f 4e 5f 43 4c 41 53 53 20 43 6c 61  MATION_CLASS Cla
1330: 73 73 3b 0a 09 75 6e 69 6f 6e 20 5f 49 6e 66 6f  ss;..union _Info
1340: 7b 0a 09 09 53 45 43 50 4b 47 5f 47 53 53 5f 49  {...SECPKG_GSS_I
1350: 4e 46 4f 20 47 73 73 49 6e 66 6f 3b 0a 09 09 53  NFO GssInfo;...S
1360: 45 43 50 4b 47 5f 43 4f 4e 54 45 58 54 5f 54 48  ECPKG_CONTEXT_TH
1370: 55 4e 4b 53 20 43 6f 6e 74 65 78 74 54 68 75 6e  UNKS ContextThun
1380: 6b 73 3b 0a 09 09 53 45 43 50 4b 47 5f 4d 55 54  ks;...SECPKG_MUT
1390: 55 41 4c 5f 41 55 54 48 5f 4c 45 56 45 4c 20 4d  UAL_AUTH_LEVEL M
13a0: 75 74 75 61 6c 41 75 74 68 4c 65 76 65 6c 3b 0a  utualAuthLevel;.
13b0: 09 7d 20 0a 20 20 20 20 5f 49 6e 66 6f 20 49 6e  .} .    _Info In
13c0: 66 6f 3b 0a 7d 20 0a 61 6c 69 61 73 20 53 45 43  fo;.} .alias SEC
13d0: 50 4b 47 5f 45 58 54 45 4e 44 45 44 5f 49 4e 46  PKG_EXTENDED_INF
13e0: 4f 52 4d 41 54 49 4f 4e 2a 20 50 53 45 43 50 4b  ORMATION* PSECPK
13f0: 47 5f 45 58 54 45 4e 44 45 44 5f 49 4e 46 4f 52  G_EXTENDED_INFOR
1400: 4d 41 54 49 4f 4e 3b 0a 0a 2f 2a 20 63 61 6c 6c  MATION;../* call
1410: 62 61 63 6b 73 20 69 6d 70 6c 65 6d 65 6e 74 65  backs implemente
1420: 64 20 62 79 20 53 53 50 2f 41 50 20 64 6c 6c 73  d by SSP/AP dlls
1430: 20 61 6e 64 20 63 61 6c 6c 65 64 20 62 79 20 74   and called by t
1440: 68 65 20 4c 53 41 20 2a 2f 0a 61 6c 69 61 73 20  he LSA */.alias 
1450: 76 6f 69 64 20 66 75 6e 63 74 69 6f 6e 28 55 4c  void function(UL
1460: 4f 4e 47 5f 50 54 52 2c 20 55 4c 4f 4e 47 5f 50  ONG_PTR, ULONG_P
1470: 54 52 2c 20 50 53 65 63 42 75 66 66 65 72 2c 0a  TR, PSecBuffer,.
1480: 20 50 53 65 63 42 75 66 66 65 72 29 20 50 4c 53   PSecBuffer) PLS
1490: 41 5f 43 41 4c 4c 42 41 43 4b 5f 46 55 4e 43 54  A_CALLBACK_FUNCT
14a0: 49 4f 4e 3b 0a 0a 2f 2a 20 6d 69 73 63 20 74 79  ION;../* misc ty
14b0: 70 65 64 65 66 73 20 75 73 65 64 20 69 6e 20 74  pedefs used in t
14c0: 68 65 20 62 65 6c 6f 77 20 70 72 6f 74 6f 74 79  he below prototy
14d0: 70 65 73 20 2a 2f 0a 61 6c 69 61 73 20 50 56 4f  pes */.alias PVO
14e0: 49 44 2a 20 50 4c 53 41 5f 43 4c 49 45 4e 54 5f  ID* PLSA_CLIENT_
14f0: 52 45 51 55 45 53 54 3b 0a 61 6c 69 61 73 20 55  REQUEST;.alias U
1500: 4c 4f 4e 47 20 4c 53 41 5f 53 45 43 5f 48 41 4e  LONG LSA_SEC_HAN
1510: 44 4c 45 3b 0a 61 6c 69 61 73 20 55 4c 4f 4e 47  DLE;.alias ULONG
1520: 2a 20 50 4c 53 41 5f 53 45 43 5f 48 41 4e 44 4c  * PLSA_SEC_HANDL
1530: 45 3b 0a 61 6c 69 61 73 20 4c 50 54 48 52 45 41  E;.alias LPTHREA
1540: 44 5f 53 54 41 52 54 5f 52 4f 55 54 49 4e 45 20  D_START_ROUTINE 
1550: 53 45 43 5f 54 48 52 45 41 44 5f 53 54 41 52 54  SEC_THREAD_START
1560: 3b 0a 61 6c 69 61 73 20 50 53 45 43 55 52 49 54  ;.alias PSECURIT
1570: 59 5f 41 54 54 52 49 42 55 54 45 53 20 53 45 43  Y_ATTRIBUTES SEC
1580: 5f 41 54 54 52 53 3b 0a 0a 2f 2a 20 66 75 6e 63  _ATTRS;../* func
1590: 74 69 6f 6e 73 20 75 73 65 64 20 62 79 20 53 53  tions used by SS
15a0: 50 2f 41 50 20 6f 62 74 61 69 6e 61 62 6c 65 20  P/AP obtainable 
15b0: 62 79 20 64 69 73 70 61 74 63 68 20 74 61 62 6c  by dispatch tabl
15c0: 65 73 20 2a 2f 0a 61 6c 69 61 73 20 4e 54 53 54  es */.alias NTST
15d0: 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 55 4c  ATUS function(UL
15e0: 4f 4e 47 2c 20 50 4c 53 41 5f 43 41 4c 4c 42 41  ONG, PLSA_CALLBA
15f0: 43 4b 5f 46 55 4e 43 54 49 4f 4e 29 20 50 4c 53  CK_FUNCTION) PLS
1600: 41 5f 52 45 47 49 53 54 45 52 5f 43 41 4c 4c 42  A_REGISTER_CALLB
1610: 41 43 4b 3b 0a 61 6c 69 61 73 20 4e 54 53 54 41  ACK;.alias NTSTA
1620: 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 50 4c 55  TUS function(PLU
1630: 49 44 29 20 50 4c 53 41 5f 43 52 45 41 54 45 5f  ID) PLSA_CREATE_
1640: 4c 4f 47 4f 4e 5f 53 45 53 53 49 4f 4e 3b 0a 61  LOGON_SESSION;.a
1650: 6c 69 61 73 20 4e 54 53 54 41 54 55 53 20 66 75  lias NTSTATUS fu
1660: 6e 63 74 69 6f 6e 28 50 4c 55 49 44 29 20 50 4c  nction(PLUID) PL
1670: 53 41 5f 44 45 4c 45 54 45 5f 4c 4f 47 4f 4e 5f  SA_DELETE_LOGON_
1680: 53 45 53 53 49 4f 4e 3b 0a 61 6c 69 61 73 20 4e  SESSION;.alias N
1690: 54 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e  TSTATUS function
16a0: 28 50 4c 55 49 44 2c 20 55 4c 4f 4e 47 2c 20 50  (PLUID, ULONG, P
16b0: 4c 53 41 5f 53 54 52 49 4e 47 2c 0a 20 50 4c 53  LSA_STRING,. PLS
16c0: 41 5f 53 54 52 49 4e 47 29 20 50 4c 53 41 5f 41  A_STRING) PLSA_A
16d0: 44 44 5f 43 52 45 44 45 4e 54 49 41 4c 3b 0a 61  DD_CREDENTIAL;.a
16e0: 6c 69 61 73 20 4e 54 53 54 41 54 55 53 20 66 75  lias NTSTATUS fu
16f0: 6e 63 74 69 6f 6e 28 50 4c 55 49 44 2c 20 55 4c  nction(PLUID, UL
1700: 4f 4e 47 2c 20 50 55 4c 4f 4e 47 2c 20 42 4f 4f  ONG, PULONG, BOO
1710: 4c 45 41 4e 2c 0a 20 50 4c 53 41 5f 53 54 52 49  LEAN,. PLSA_STRI
1720: 4e 47 2c 20 50 55 4c 4f 4e 47 2c 20 50 4c 53 41  NG, PULONG, PLSA
1730: 5f 53 54 52 49 4e 47 29 20 50 4c 53 41 5f 47 45  _STRING) PLSA_GE
1740: 54 5f 43 52 45 44 45 4e 54 49 41 4c 53 3b 0a 61  T_CREDENTIALS;.a
1750: 6c 69 61 73 20 4e 54 53 54 41 54 55 53 20 66 75  lias NTSTATUS fu
1760: 6e 63 74 69 6f 6e 28 50 4c 55 49 44 2c 20 55 4c  nction(PLUID, UL
1770: 4f 4e 47 2c 20 50 4c 53 41 5f 53 54 52 49 4e 47  ONG, PLSA_STRING
1780: 29 20 50 4c 53 41 5f 44 45 4c 45 54 45 5f 43 52  ) PLSA_DELETE_CR
1790: 45 44 45 4e 54 49 41 4c 3b 0a 61 6c 69 61 73 20  EDENTIAL;.alias 
17a0: 50 56 4f 49 44 20 66 75 6e 63 74 69 6f 6e 28 55  PVOID function(U
17b0: 4c 4f 4e 47 29 20 50 4c 53 41 5f 41 4c 4c 4f 43  LONG) PLSA_ALLOC
17c0: 41 54 45 5f 4c 53 41 5f 48 45 41 50 3b 0a 61 6c  ATE_LSA_HEAP;.al
17d0: 69 61 73 20 76 6f 69 64 20 66 75 6e 63 74 69 6f  ias void functio
17e0: 6e 28 50 56 4f 49 44 29 20 50 4c 53 41 5f 46 52  n(PVOID) PLSA_FR
17f0: 45 45 5f 4c 53 41 5f 48 45 41 50 3b 0a 61 6c 69  EE_LSA_HEAP;.ali
1800: 61 73 20 4e 54 53 54 41 54 55 53 20 66 75 6e 63  as NTSTATUS func
1810: 74 69 6f 6e 28 50 4c 53 41 5f 43 4c 49 45 4e 54  tion(PLSA_CLIENT
1820: 5f 52 45 51 55 45 53 54 2c 0a 20 55 4c 4f 4e 47  _REQUEST,. ULONG
1830: 2c 20 50 56 4f 49 44 2a 29 20 50 4c 53 41 5f 41  , PVOID*) PLSA_A
1840: 4c 4c 4f 43 41 54 45 5f 43 4c 49 45 4e 54 5f 42  LLOCATE_CLIENT_B
1850: 55 46 46 45 52 3b 0a 61 6c 69 61 73 20 4e 54 53  UFFER;.alias NTS
1860: 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 50  TATUS function(P
1870: 4c 53 41 5f 43 4c 49 45 4e 54 5f 52 45 51 55 45  LSA_CLIENT_REQUE
1880: 53 54 2c 20 50 56 4f 49 44 29 20 50 4c 53 41 5f  ST, PVOID) PLSA_
1890: 46 52 45 45 5f 43 4c 49 45 4e 54 5f 42 55 46 46  FREE_CLIENT_BUFF
18a0: 45 52 3b 0a 61 6c 69 61 73 20 4e 54 53 54 41 54  ER;.alias NTSTAT
18b0: 55 53 20 66 75 6e 63 74 69 6f 6e 28 50 4c 53 41  US function(PLSA
18c0: 5f 43 4c 49 45 4e 54 5f 52 45 51 55 45 53 54 2c  _CLIENT_REQUEST,
18d0: 20 55 4c 4f 4e 47 2c 0a 20 50 56 4f 49 44 2c 20   ULONG,. PVOID, 
18e0: 50 56 4f 49 44 29 20 50 4c 53 41 5f 43 4f 50 59  PVOID) PLSA_COPY
18f0: 5f 54 4f 5f 43 4c 49 45 4e 54 5f 42 55 46 46 45  _TO_CLIENT_BUFFE
1900: 52 3b 0a 61 6c 69 61 73 20 4e 54 53 54 41 54 55  R;.alias NTSTATU
1910: 53 20 66 75 6e 63 74 69 6f 6e 28 50 4c 53 41 5f  S function(PLSA_
1920: 43 4c 49 45 4e 54 5f 52 45 51 55 45 53 54 2c 0a  CLIENT_REQUEST,.
1930: 20 55 4c 4f 4e 47 2c 20 50 56 4f 49 44 2c 20 50   ULONG, PVOID, P
1940: 56 4f 49 44 29 20 50 4c 53 41 5f 43 4f 50 59 5f  VOID) PLSA_COPY_
1950: 46 52 4f 4d 5f 43 4c 49 45 4e 54 5f 42 55 46 46  FROM_CLIENT_BUFF
1960: 45 52 3b 0a 61 6c 69 61 73 20 4e 54 53 54 41 54  ER;.alias NTSTAT
1970: 55 53 20 66 75 6e 63 74 69 6f 6e 28 29 20 50 4c  US function() PL
1980: 53 41 5f 49 4d 50 45 52 53 4f 4e 41 54 45 5f 43  SA_IMPERSONATE_C
1990: 4c 49 45 4e 54 3b 0a 61 6c 69 61 73 20 4e 54 53  LIENT;.alias NTS
19a0: 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 29  TATUS function()
19b0: 20 50 4c 53 41 5f 55 4e 4c 4f 41 44 5f 50 41 43   PLSA_UNLOAD_PAC
19c0: 4b 41 47 45 3b 0a 61 6c 69 61 73 20 4e 54 53 54  KAGE;.alias NTST
19d0: 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 48 41  ATUS function(HA
19e0: 4e 44 4c 45 2c 20 50 48 41 4e 44 4c 45 29 20 50  NDLE, PHANDLE) P
19f0: 4c 53 41 5f 44 55 50 4c 49 43 41 54 45 5f 48 41  LSA_DUPLICATE_HA
1a00: 4e 44 4c 45 3b 0a 61 6c 69 61 73 20 4e 54 53 54  NDLE;.alias NTST
1a10: 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 50 4c  ATUS function(PL
1a20: 55 49 44 2c 20 55 4c 4f 4e 47 2c 0a 20 50 56 4f  UID, ULONG,. PVO
1a30: 49 44 2c 20 42 4f 4f 4c 45 41 4e 29 20 50 4c 53  ID, BOOLEAN) PLS
1a40: 41 5f 53 41 56 45 5f 53 55 50 50 4c 45 4d 45 4e  A_SAVE_SUPPLEMEN
1a50: 54 41 4c 5f 43 52 45 44 45 4e 54 49 41 4c 53 3b  TAL_CREDENTIALS;
1a60: 0a 61 6c 69 61 73 20 48 41 4e 44 4c 45 20 66 75  .alias HANDLE fu
1a70: 6e 63 74 69 6f 6e 28 53 45 43 5f 41 54 54 52 53  nction(SEC_ATTRS
1a80: 2c 20 55 4c 4f 4e 47 2c 20 53 45 43 5f 54 48 52  , ULONG, SEC_THR
1a90: 45 41 44 5f 53 54 41 52 54 2c 0a 20 50 56 4f 49  EAD_START,. PVOI
1aa0: 44 2c 20 55 4c 4f 4e 47 2c 20 50 55 4c 4f 4e 47  D, ULONG, PULONG
1ab0: 29 20 50 4c 53 41 5f 43 52 45 41 54 45 5f 54 48  ) PLSA_CREATE_TH
1ac0: 52 45 41 44 3b 0a 61 6c 69 61 73 20 4e 54 53 54  READ;.alias NTST
1ad0: 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 50 53  ATUS function(PS
1ae0: 45 43 50 4b 47 5f 43 4c 49 45 4e 54 5f 49 4e 46  ECPKG_CLIENT_INF
1af0: 4f 29 20 50 4c 53 41 5f 47 45 54 5f 43 4c 49 45  O) PLSA_GET_CLIE
1b00: 4e 54 5f 49 4e 46 4f 3b 0a 61 6c 69 61 73 20 48  NT_INFO;.alias H
1b10: 41 4e 44 4c 45 20 66 75 6e 63 74 69 6f 6e 28 53  ANDLE function(S
1b20: 45 43 5f 54 48 52 45 41 44 5f 53 54 41 52 54 2c  EC_THREAD_START,
1b30: 20 50 56 4f 49 44 2c 0a 20 55 4c 4f 4e 47 2c 20   PVOID,. ULONG, 
1b40: 55 4c 4f 4e 47 2c 20 55 4c 4f 4e 47 2c 20 55 4c  ULONG, ULONG, UL
1b50: 4f 4e 47 2c 20 48 41 4e 44 4c 45 29 20 50 4c 53  ONG, HANDLE) PLS
1b60: 41 5f 52 45 47 49 53 54 45 52 5f 4e 4f 54 49 46  A_REGISTER_NOTIF
1b70: 49 43 41 54 49 4f 4e 3b 0a 61 6c 69 61 73 20 4e  ICATION;.alias N
1b80: 54 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e  TSTATUS function
1b90: 28 48 41 4e 44 4c 45 29 20 50 4c 53 41 5f 43 41  (HANDLE) PLSA_CA
1ba0: 4e 43 45 4c 5f 4e 4f 54 49 46 49 43 41 54 49 4f  NCEL_NOTIFICATIO
1bb0: 4e 3b 0a 61 6c 69 61 73 20 4e 54 53 54 41 54 55  N;.alias NTSTATU
1bc0: 53 20 66 75 6e 63 74 69 6f 6e 28 50 53 65 63 42  S function(PSecB
1bd0: 75 66 66 65 72 2c 20 50 53 65 63 42 75 66 66 65  uffer, PSecBuffe
1be0: 72 29 20 50 4c 53 41 5f 4d 41 50 5f 42 55 46 46  r) PLSA_MAP_BUFF
1bf0: 45 52 3b 0a 61 6c 69 61 73 20 4e 54 53 54 41 54  ER;.alias NTSTAT
1c00: 55 53 20 66 75 6e 63 74 69 6f 6e 28 50 4c 55 49  US function(PLUI
1c10: 44 2c 20 50 54 4f 4b 45 4e 5f 53 4f 55 52 43 45  D, PTOKEN_SOURCE
1c20: 2c 0a 20 53 45 43 55 52 49 54 59 5f 4c 4f 47 4f  ,. SECURITY_LOGO
1c30: 4e 5f 54 59 50 45 2c 20 53 45 43 55 52 49 54 59  N_TYPE, SECURITY
1c40: 5f 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f 4c  _IMPERSONATION_L
1c50: 45 56 45 4c 2c 20 4c 53 41 5f 54 4f 4b 45 4e 5f  EVEL, LSA_TOKEN_
1c60: 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 54 59 50 45  INFORMATION_TYPE
1c70: 2c 0a 20 50 56 4f 49 44 2c 20 50 54 4f 4b 45 4e  ,. PVOID, PTOKEN
1c80: 5f 47 52 4f 55 50 53 2c 20 50 55 4e 49 43 4f 44  _GROUPS, PUNICOD
1c90: 45 5f 53 54 52 49 4e 47 2c 20 50 55 4e 49 43 4f  E_STRING, PUNICO
1ca0: 44 45 5f 53 54 52 49 4e 47 2c 20 50 55 4e 49 43  DE_STRING, PUNIC
1cb0: 4f 44 45 5f 53 54 52 49 4e 47 2c 0a 20 50 55 4e  ODE_STRING,. PUN
1cc0: 49 43 4f 44 45 5f 53 54 52 49 4e 47 2c 20 50 48  ICODE_STRING, PH
1cd0: 41 4e 44 4c 45 2c 20 50 4e 54 53 54 41 54 55 53  ANDLE, PNTSTATUS
1ce0: 29 20 50 4c 53 41 5f 43 52 45 41 54 45 5f 54 4f  ) PLSA_CREATE_TO
1cf0: 4b 45 4e 3b 0a 61 6c 69 61 73 20 76 6f 69 64 20  KEN;.alias void 
1d00: 66 75 6e 63 74 69 6f 6e 28 4e 54 53 54 41 54 55  function(NTSTATU
1d10: 53 2c 20 4e 54 53 54 41 54 55 53 2c 20 50 55 4e  S, NTSTATUS, PUN
1d20: 49 43 4f 44 45 5f 53 54 52 49 4e 47 2c 0a 20 50  ICODE_STRING,. P
1d30: 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 2c 20  UNICODE_STRING, 
1d40: 50 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 2c  PUNICODE_STRING,
1d50: 20 50 53 49 44 2c 20 53 45 43 55 52 49 54 59 5f   PSID, SECURITY_
1d60: 4c 4f 47 4f 4e 5f 54 59 50 45 2c 0a 20 50 54 4f  LOGON_TYPE,. PTO
1d70: 4b 45 4e 5f 53 4f 55 52 43 45 2c 20 50 4c 55 49  KEN_SOURCE, PLUI
1d80: 44 29 20 50 4c 53 41 5f 41 55 44 49 54 5f 4c 4f  D) PLSA_AUDIT_LO
1d90: 47 4f 4e 3b 0a 61 6c 69 61 73 20 4e 54 53 54 41  GON;.alias NTSTA
1da0: 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 50 55 4e  TUS function(PUN
1db0: 49 43 4f 44 45 5f 53 54 52 49 4e 47 2c 20 50 56  ICODE_STRING, PV
1dc0: 4f 49 44 2c 20 55 4c 4f 4e 47 2c 0a 20 50 56 4f  OID, ULONG,. PVO
1dd0: 49 44 2a 2c 20 50 55 4c 4f 4e 47 2c 20 50 4e 54  ID*, PULONG, PNT
1de0: 53 54 41 54 55 53 29 20 50 4c 53 41 5f 43 41 4c  STATUS) PLSA_CAL
1df0: 4c 5f 50 41 43 4b 41 47 45 3b 0a 61 6c 69 61 73  L_PACKAGE;.alias
1e00: 20 42 4f 4f 4c 45 41 4e 20 66 75 6e 63 74 69 6f   BOOLEAN functio
1e10: 6e 28 50 53 45 43 50 4b 47 5f 43 41 4c 4c 5f 49  n(PSECPKG_CALL_I
1e20: 4e 46 4f 29 20 50 4c 53 41 5f 47 45 54 5f 43 41  NFO) PLSA_GET_CA
1e30: 4c 4c 5f 49 4e 46 4f 3b 0a 61 6c 69 61 73 20 4e  LL_INFO;.alias N
1e40: 54 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e  TSTATUS function
1e50: 28 50 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47  (PUNICODE_STRING
1e60: 2c 20 50 56 4f 49 44 2c 20 50 56 4f 49 44 2c 0a  , PVOID, PVOID,.
1e70: 20 55 4c 4f 4e 47 2c 20 50 56 4f 49 44 2a 2c 20   ULONG, PVOID*, 
1e80: 50 55 4c 4f 4e 47 2c 20 50 4e 54 53 54 41 54 55  PULONG, PNTSTATU
1e90: 53 29 20 50 4c 53 41 5f 43 41 4c 4c 5f 50 41 43  S) PLSA_CALL_PAC
1ea0: 4b 41 47 45 45 58 3b 0a 61 6c 69 61 73 20 50 56  KAGEEX;.alias PV
1eb0: 4f 49 44 20 66 75 6e 63 74 69 6f 6e 28 55 4c 4f  OID function(ULO
1ec0: 4e 47 2c 20 55 4c 4f 4e 47 29 20 50 4c 53 41 5f  NG, ULONG) PLSA_
1ed0: 43 52 45 41 54 45 5f 53 48 41 52 45 44 5f 4d 45  CREATE_SHARED_ME
1ee0: 4d 4f 52 59 3b 0a 61 6c 69 61 73 20 50 56 4f 49  MORY;.alias PVOI
1ef0: 44 20 66 75 6e 63 74 69 6f 6e 28 50 56 4f 49 44  D function(PVOID
1f00: 2c 20 55 4c 4f 4e 47 29 20 50 4c 53 41 5f 41 4c  , ULONG) PLSA_AL
1f10: 4c 4f 43 41 54 45 5f 53 48 41 52 45 44 5f 4d 45  LOCATE_SHARED_ME
1f20: 4d 4f 52 59 3b 0a 61 6c 69 61 73 20 76 6f 69 64  MORY;.alias void
1f30: 20 66 75 6e 63 74 69 6f 6e 28 50 56 4f 49 44 2c   function(PVOID,
1f40: 20 50 56 4f 49 44 29 20 50 4c 53 41 5f 46 52 45   PVOID) PLSA_FRE
1f50: 45 5f 53 48 41 52 45 44 5f 4d 45 4d 4f 52 59 3b  E_SHARED_MEMORY;
1f60: 0a 61 6c 69 61 73 20 42 4f 4f 4c 45 41 4e 20 66  .alias BOOLEAN f
1f70: 75 6e 63 74 69 6f 6e 28 50 56 4f 49 44 29 20 50  unction(PVOID) P
1f80: 4c 53 41 5f 44 45 4c 45 54 45 5f 53 48 41 52 45  LSA_DELETE_SHARE
1f90: 44 5f 4d 45 4d 4f 52 59 3b 0a 61 6c 69 61 73 20  D_MEMORY;.alias 
1fa0: 4e 54 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f  NTSTATUS functio
1fb0: 6e 28 50 53 45 43 55 52 49 54 59 5f 53 54 52 49  n(PSECURITY_STRI
1fc0: 4e 47 2c 20 53 45 43 50 4b 47 5f 4e 41 4d 45 5f  NG, SECPKG_NAME_
1fd0: 54 59 50 45 2c 0a 20 50 53 45 43 55 52 49 54 59  TYPE,. PSECURITY
1fe0: 5f 53 54 52 49 4e 47 2c 20 42 4f 4f 4c 45 41 4e  _STRING, BOOLEAN
1ff0: 2c 20 55 4c 4f 4e 47 2c 20 50 56 4f 49 44 2a 29  , ULONG, PVOID*)
2000: 20 50 4c 53 41 5f 4f 50 45 4e 5f 53 41 4d 5f 55   PLSA_OPEN_SAM_U
2010: 53 45 52 3b 0a 61 6c 69 61 73 20 4e 54 53 54 41  SER;.alias NTSTA
2020: 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 50 56 4f  TUS function(PVO
2030: 49 44 2c 20 50 56 4f 49 44 20 2a 2c 20 50 55 4c  ID, PVOID *, PUL
2040: 4f 4e 47 2c 0a 20 50 56 4f 49 44 20 2a 2c 20 50  ONG,. PVOID *, P
2050: 55 4c 4f 4e 47 29 20 50 4c 53 41 5f 47 45 54 5f  ULONG) PLSA_GET_
2060: 55 53 45 52 5f 43 52 45 44 45 4e 54 49 41 4c 53  USER_CREDENTIALS
2070: 3b 0a 61 6c 69 61 73 20 4e 54 53 54 41 54 55 53  ;.alias NTSTATUS
2080: 20 66 75 6e 63 74 69 6f 6e 28 50 56 4f 49 44 2c   function(PVOID,
2090: 20 50 55 43 48 41 52 20 2a 2c 20 50 55 4c 4f 4e   PUCHAR *, PULON
20a0: 47 29 20 50 4c 53 41 5f 47 45 54 5f 55 53 45 52  G) PLSA_GET_USER
20b0: 5f 41 55 54 48 5f 44 41 54 41 3b 0a 61 6c 69 61  _AUTH_DATA;.alia
20c0: 73 20 4e 54 53 54 41 54 55 53 20 66 75 6e 63 74  s NTSTATUS funct
20d0: 69 6f 6e 28 50 56 4f 49 44 29 20 50 4c 53 41 5f  ion(PVOID) PLSA_
20e0: 43 4c 4f 53 45 5f 53 41 4d 5f 55 53 45 52 3b 0a  CLOSE_SAM_USER;.
20f0: 61 6c 69 61 73 20 4e 54 53 54 41 54 55 53 20 66  alias NTSTATUS f
2100: 75 6e 63 74 69 6f 6e 28 50 56 4f 49 44 2c 20 55  unction(PVOID, U
2110: 4c 4f 4e 47 2c 0a 20 53 45 43 55 52 49 54 59 5f  LONG,. SECURITY_
2120: 49 4d 50 45 52 53 4f 4e 41 54 49 4f 4e 5f 4c 45  IMPERSONATION_LE
2130: 56 45 4c 2c 20 50 54 4f 4b 45 4e 5f 53 4f 55 52  VEL, PTOKEN_SOUR
2140: 43 45 2c 20 53 45 43 55 52 49 54 59 5f 4c 4f 47  CE, SECURITY_LOG
2150: 4f 4e 5f 54 59 50 45 2c 0a 20 50 55 4e 49 43 4f  ON_TYPE,. PUNICO
2160: 44 45 5f 53 54 52 49 4e 47 2c 20 50 48 41 4e 44  DE_STRING, PHAND
2170: 4c 45 2c 20 50 4c 55 49 44 2c 20 50 55 4e 49 43  LE, PLUID, PUNIC
2180: 4f 44 45 5f 53 54 52 49 4e 47 2c 20 50 4e 54 53  ODE_STRING, PNTS
2190: 54 41 54 55 53 29 20 50 4c 53 41 5f 43 4f 4e 56  TATUS) PLSA_CONV
21a0: 45 52 54 5f 41 55 54 48 5f 44 41 54 41 5f 54 4f  ERT_AUTH_DATA_TO
21b0: 5f 54 4f 4b 45 4e 3b 0a 61 6c 69 61 73 20 4e 54  _TOKEN;.alias NT
21c0: 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28  STATUS function(
21d0: 50 43 48 41 52 2c 20 55 4c 4f 4e 47 5f 50 54 52  PCHAR, ULONG_PTR
21e0: 2c 20 55 4c 4f 4e 47 5f 50 54 52 2c 0a 20 50 53  , ULONG_PTR,. PS
21f0: 65 63 42 75 66 66 65 72 2c 20 50 53 65 63 42 75  ecBuffer, PSecBu
2200: 66 66 65 72 29 20 50 4c 53 41 5f 43 4c 49 45 4e  ffer) PLSA_CLIEN
2210: 54 5f 43 41 4c 4c 42 41 43 4b 3b 0a 61 6c 69 61  T_CALLBACK;.alia
2220: 73 20 4e 54 53 54 41 54 55 53 20 66 75 6e 63 74  s NTSTATUS funct
2230: 69 6f 6e 28 50 53 45 43 50 4b 47 5f 50 52 49 4d  ion(PSECPKG_PRIM
2240: 41 52 59 5f 43 52 45 44 2c 20 50 53 45 43 50 4b  ARY_CRED, PSECPK
2250: 47 5f 53 55 50 50 4c 45 4d 45 4e 54 41 4c 5f 43  G_SUPPLEMENTAL_C
2260: 52 45 44 5f 41 52 52 41 59 29 20 50 4c 53 41 5f  RED_ARRAY) PLSA_
2270: 55 50 44 41 54 45 5f 50 52 49 4d 41 52 59 5f 43  UPDATE_PRIMARY_C
2280: 52 45 44 45 4e 54 49 41 4c 53 3b 0a 61 6c 69 61  REDENTIALS;.alia
2290: 73 20 4e 54 53 54 41 54 55 53 20 66 75 6e 63 74  s NTSTATUS funct
22a0: 69 6f 6e 28 50 53 45 43 55 52 49 54 59 5f 53 54  ion(PSECURITY_ST
22b0: 52 49 4e 47 2c 0a 20 53 45 43 50 4b 47 5f 4e 41  RING,. SECPKG_NA
22c0: 4d 45 5f 54 59 50 45 2c 20 50 53 45 43 55 52 49  ME_TYPE, PSECURI
22d0: 54 59 5f 53 54 52 49 4e 47 2c 20 50 55 43 48 41  TY_STRING, PUCHA
22e0: 52 20 2a 2c 20 50 55 4c 4f 4e 47 2c 20 50 55 4e  R *, PULONG, PUN
22f0: 49 43 4f 44 45 5f 53 54 52 49 4e 47 29 20 50 4c  ICODE_STRING) PL
2300: 53 41 5f 47 45 54 5f 41 55 54 48 5f 44 41 54 41  SA_GET_AUTH_DATA
2310: 5f 46 4f 52 5f 55 53 45 52 3b 0a 61 6c 69 61 73  _FOR_USER;.alias
2320: 20 4e 54 53 54 41 54 55 53 20 66 75 6e 63 74 69   NTSTATUS functi
2330: 6f 6e 28 55 4c 4f 4e 47 2c 20 42 4f 4f 4c 45 41  on(ULONG, BOOLEA
2340: 4e 2c 0a 20 50 55 4e 49 43 4f 44 45 5f 53 54 52  N,. PUNICODE_STR
2350: 49 4e 47 2c 20 50 55 4e 49 43 4f 44 45 5f 53 54  ING, PUNICODE_ST
2360: 52 49 4e 47 2c 20 55 4c 4f 4e 47 2c 20 50 55 4e  RING, ULONG, PUN
2370: 49 43 4f 44 45 5f 53 54 52 49 4e 47 2c 20 50 55  ICODE_STRING, PU
2380: 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 2c 0a 20  NICODE_STRING,. 
2390: 50 55 4c 4f 4e 47 29 20 50 4c 53 41 5f 43 52 41  PULONG) PLSA_CRA
23a0: 43 4b 5f 53 49 4e 47 4c 45 5f 4e 41 4d 45 3b 0a  CK_SINGLE_NAME;.
23b0: 61 6c 69 61 73 20 4e 54 53 54 41 54 55 53 20 66  alias NTSTATUS f
23c0: 75 6e 63 74 69 6f 6e 28 55 4c 4f 4e 47 2c 20 42  unction(ULONG, B
23d0: 4f 4f 4c 45 41 4e 2c 0a 20 50 55 4e 49 43 4f 44  OOLEAN,. PUNICOD
23e0: 45 5f 53 54 52 49 4e 47 2c 20 50 55 4e 49 43 4f  E_STRING, PUNICO
23f0: 44 45 5f 53 54 52 49 4e 47 2c 20 50 55 4e 49 43  DE_STRING, PUNIC
2400: 4f 44 45 5f 53 54 52 49 4e 47 2c 20 4e 54 53 54  ODE_STRING, NTST
2410: 41 54 55 53 29 20 50 4c 53 41 5f 41 55 44 49 54  ATUS) PLSA_AUDIT
2420: 5f 41 43 43 4f 55 4e 54 5f 4c 4f 47 4f 4e 3b 0a  _ACCOUNT_LOGON;.
2430: 61 6c 69 61 73 20 4e 54 53 54 41 54 55 53 20 66  alias NTSTATUS f
2440: 75 6e 63 74 69 6f 6e 28 50 55 4e 49 43 4f 44 45  unction(PUNICODE
2450: 5f 53 54 52 49 4e 47 2c 20 50 56 4f 49 44 2c 0a  _STRING, PVOID,.
2460: 20 50 56 4f 49 44 2c 20 55 4c 4f 4e 47 2c 20 50   PVOID, ULONG, P
2470: 56 4f 49 44 2a 2c 20 50 55 4c 4f 4e 47 2c 20 50  VOID*, PULONG, P
2480: 4e 54 53 54 41 54 55 53 29 20 50 4c 53 41 5f 43  NTSTATUS) PLSA_C
2490: 41 4c 4c 5f 50 41 43 4b 41 47 45 5f 50 41 53 53  ALL_PACKAGE_PASS
24a0: 54 48 52 4f 55 47 48 3b 0a 0a 2f 2a 20 44 69 73  THROUGH;../* Dis
24b0: 70 61 74 63 68 20 74 61 62 6c 65 73 20 6f 66 20  patch tables of 
24c0: 66 75 6e 63 74 69 6f 6e 73 20 75 73 65 64 20 62  functions used b
24d0: 79 20 53 53 50 2f 41 50 20 2a 2f 0a 73 74 72 75  y SSP/AP */.stru
24e0: 63 74 20 53 45 43 50 4b 47 5f 44 4c 4c 5f 46 55  ct SECPKG_DLL_FU
24f0: 4e 43 54 49 4f 4e 53 20 7b 0a 09 50 4c 53 41 5f  NCTIONS {..PLSA_
2500: 41 4c 4c 4f 43 41 54 45 5f 4c 53 41 5f 48 45 41  ALLOCATE_LSA_HEA
2510: 50 20 41 6c 6c 6f 63 61 74 65 48 65 61 70 3b 0a  P AllocateHeap;.
2520: 09 50 4c 53 41 5f 46 52 45 45 5f 4c 53 41 5f 48  .PLSA_FREE_LSA_H
2530: 45 41 50 20 46 72 65 65 48 65 61 70 3b 0a 09 50  EAP FreeHeap;..P
2540: 4c 53 41 5f 52 45 47 49 53 54 45 52 5f 43 41 4c  LSA_REGISTER_CAL
2550: 4c 42 41 43 4b 20 52 65 67 69 73 74 65 72 43 61  LBACK RegisterCa
2560: 6c 6c 62 61 63 6b 3b 0a 7d 20 0a 61 6c 69 61 73  llback;.} .alias
2570: 20 53 45 43 50 4b 47 5f 44 4c 4c 5f 46 55 4e 43   SECPKG_DLL_FUNC
2580: 54 49 4f 4e 53 2a 20 50 53 45 43 50 4b 47 5f 44  TIONS* PSECPKG_D
2590: 4c 4c 5f 46 55 4e 43 54 49 4f 4e 53 3b 0a 73 74  LL_FUNCTIONS;.st
25a0: 72 75 63 74 20 4c 53 41 5f 44 49 53 50 41 54 43  ruct LSA_DISPATC
25b0: 48 5f 54 41 42 4c 45 20 7b 0a 09 50 4c 53 41 5f  H_TABLE {..PLSA_
25c0: 43 52 45 41 54 45 5f 4c 4f 47 4f 4e 5f 53 45 53  CREATE_LOGON_SES
25d0: 53 49 4f 4e 20 43 72 65 61 74 65 4c 6f 67 6f 6e  SION CreateLogon
25e0: 53 65 73 73 69 6f 6e 3b 0a 09 50 4c 53 41 5f 44  Session;..PLSA_D
25f0: 45 4c 45 54 45 5f 4c 4f 47 4f 4e 5f 53 45 53 53  ELETE_LOGON_SESS
2600: 49 4f 4e 20 44 65 6c 65 74 65 4c 6f 67 6f 6e 53  ION DeleteLogonS
2610: 65 73 73 69 6f 6e 3b 0a 09 50 4c 53 41 5f 41 44  ession;..PLSA_AD
2620: 44 5f 43 52 45 44 45 4e 54 49 41 4c 20 41 64 64  D_CREDENTIAL Add
2630: 43 72 65 64 65 6e 74 69 61 6c 3b 0a 09 50 4c 53  Credential;..PLS
2640: 41 5f 47 45 54 5f 43 52 45 44 45 4e 54 49 41 4c  A_GET_CREDENTIAL
2650: 53 20 47 65 74 43 72 65 64 65 6e 74 69 61 6c 73  S GetCredentials
2660: 3b 0a 09 50 4c 53 41 5f 44 45 4c 45 54 45 5f 43  ;..PLSA_DELETE_C
2670: 52 45 44 45 4e 54 49 41 4c 20 44 65 6c 65 74 65  REDENTIAL Delete
2680: 43 72 65 64 65 6e 74 69 61 6c 3b 0a 09 50 4c 53  Credential;..PLS
2690: 41 5f 41 4c 4c 4f 43 41 54 45 5f 4c 53 41 5f 48  A_ALLOCATE_LSA_H
26a0: 45 41 50 20 41 6c 6c 6f 63 61 74 65 4c 73 61 48  EAP AllocateLsaH
26b0: 65 61 70 3b 0a 09 50 4c 53 41 5f 46 52 45 45 5f  eap;..PLSA_FREE_
26c0: 4c 53 41 5f 48 45 41 50 20 46 72 65 65 4c 73 61  LSA_HEAP FreeLsa
26d0: 48 65 61 70 3b 0a 09 50 4c 53 41 5f 41 4c 4c 4f  Heap;..PLSA_ALLO
26e0: 43 41 54 45 5f 43 4c 49 45 4e 54 5f 42 55 46 46  CATE_CLIENT_BUFF
26f0: 45 52 20 41 6c 6c 6f 63 61 74 65 43 6c 69 65 6e  ER AllocateClien
2700: 74 42 75 66 66 65 72 3b 0a 09 50 4c 53 41 5f 46  tBuffer;..PLSA_F
2710: 52 45 45 5f 43 4c 49 45 4e 54 5f 42 55 46 46 45  REE_CLIENT_BUFFE
2720: 52 20 46 72 65 65 43 6c 69 65 6e 74 42 75 66 66  R FreeClientBuff
2730: 65 72 3b 0a 09 50 4c 53 41 5f 43 4f 50 59 5f 54  er;..PLSA_COPY_T
2740: 4f 5f 43 4c 49 45 4e 54 5f 42 55 46 46 45 52 20  O_CLIENT_BUFFER 
2750: 43 6f 70 79 54 6f 43 6c 69 65 6e 74 42 75 66 66  CopyToClientBuff
2760: 65 72 3b 0a 09 50 4c 53 41 5f 43 4f 50 59 5f 46  er;..PLSA_COPY_F
2770: 52 4f 4d 5f 43 4c 49 45 4e 54 5f 42 55 46 46 45  ROM_CLIENT_BUFFE
2780: 52 20 43 6f 70 79 46 72 6f 6d 43 6c 69 65 6e 74  R CopyFromClient
2790: 42 75 66 66 65 72 3b 0a 7d 20 0a 61 6c 69 61 73  Buffer;.} .alias
27a0: 20 4c 53 41 5f 44 49 53 50 41 54 43 48 5f 54 41   LSA_DISPATCH_TA
27b0: 42 4c 45 2a 20 50 4c 53 41 5f 44 49 53 50 41 54  BLE* PLSA_DISPAT
27c0: 43 48 5f 54 41 42 4c 45 3b 0a 73 74 72 75 63 74  CH_TABLE;.struct
27d0: 20 4c 53 41 5f 53 45 43 50 4b 47 5f 46 55 4e 43   LSA_SECPKG_FUNC
27e0: 54 49 4f 4e 5f 54 41 42 4c 45 20 7b 0a 09 50 4c  TION_TABLE {..PL
27f0: 53 41 5f 43 52 45 41 54 45 5f 4c 4f 47 4f 4e 5f  SA_CREATE_LOGON_
2800: 53 45 53 53 49 4f 4e 20 43 72 65 61 74 65 4c 6f  SESSION CreateLo
2810: 67 6f 6e 53 65 73 73 69 6f 6e 3b 0a 09 50 4c 53  gonSession;..PLS
2820: 41 5f 44 45 4c 45 54 45 5f 4c 4f 47 4f 4e 5f 53  A_DELETE_LOGON_S
2830: 45 53 53 49 4f 4e 20 44 65 6c 65 74 65 4c 6f 67  ESSION DeleteLog
2840: 6f 6e 53 65 73 73 69 6f 6e 3b 0a 09 50 4c 53 41  onSession;..PLSA
2850: 5f 41 44 44 5f 43 52 45 44 45 4e 54 49 41 4c 20  _ADD_CREDENTIAL 
2860: 41 64 64 43 72 65 64 65 6e 74 69 61 6c 3b 0a 09  AddCredential;..
2870: 50 4c 53 41 5f 47 45 54 5f 43 52 45 44 45 4e 54  PLSA_GET_CREDENT
2880: 49 41 4c 53 20 47 65 74 43 72 65 64 65 6e 74 69  IALS GetCredenti
2890: 61 6c 73 3b 0a 09 50 4c 53 41 5f 44 45 4c 45 54  als;..PLSA_DELET
28a0: 45 5f 43 52 45 44 45 4e 54 49 41 4c 20 44 65 6c  E_CREDENTIAL Del
28b0: 65 74 65 43 72 65 64 65 6e 74 69 61 6c 3b 0a 09  eteCredential;..
28c0: 50 4c 53 41 5f 41 4c 4c 4f 43 41 54 45 5f 4c 53  PLSA_ALLOCATE_LS
28d0: 41 5f 48 45 41 50 20 41 6c 6c 6f 63 61 74 65 4c  A_HEAP AllocateL
28e0: 73 61 48 65 61 70 3b 0a 09 50 4c 53 41 5f 46 52  saHeap;..PLSA_FR
28f0: 45 45 5f 4c 53 41 5f 48 45 41 50 20 46 72 65 65  EE_LSA_HEAP Free
2900: 4c 73 61 48 65 61 70 3b 0a 09 50 4c 53 41 5f 41  LsaHeap;..PLSA_A
2910: 4c 4c 4f 43 41 54 45 5f 43 4c 49 45 4e 54 5f 42  LLOCATE_CLIENT_B
2920: 55 46 46 45 52 20 41 6c 6c 6f 63 61 74 65 43 6c  UFFER AllocateCl
2930: 69 65 6e 74 42 75 66 66 65 72 3b 0a 09 50 4c 53  ientBuffer;..PLS
2940: 41 5f 46 52 45 45 5f 43 4c 49 45 4e 54 5f 42 55  A_FREE_CLIENT_BU
2950: 46 46 45 52 20 46 72 65 65 43 6c 69 65 6e 74 42  FFER FreeClientB
2960: 75 66 66 65 72 3b 0a 09 50 4c 53 41 5f 43 4f 50  uffer;..PLSA_COP
2970: 59 5f 54 4f 5f 43 4c 49 45 4e 54 5f 42 55 46 46  Y_TO_CLIENT_BUFF
2980: 45 52 20 43 6f 70 79 54 6f 43 6c 69 65 6e 74 42  ER CopyToClientB
2990: 75 66 66 65 72 3b 0a 09 50 4c 53 41 5f 43 4f 50  uffer;..PLSA_COP
29a0: 59 5f 46 52 4f 4d 5f 43 4c 49 45 4e 54 5f 42 55  Y_FROM_CLIENT_BU
29b0: 46 46 45 52 20 43 6f 70 79 46 72 6f 6d 43 6c 69  FFER CopyFromCli
29c0: 65 6e 74 42 75 66 66 65 72 3b 0a 09 50 4c 53 41  entBuffer;..PLSA
29d0: 5f 49 4d 50 45 52 53 4f 4e 41 54 45 5f 43 4c 49  _IMPERSONATE_CLI
29e0: 45 4e 54 20 49 6d 70 65 72 73 6f 6e 61 74 65 43  ENT ImpersonateC
29f0: 6c 69 65 6e 74 3b 0a 09 50 4c 53 41 5f 55 4e 4c  lient;..PLSA_UNL
2a00: 4f 41 44 5f 50 41 43 4b 41 47 45 20 55 6e 6c 6f  OAD_PACKAGE Unlo
2a10: 61 64 50 61 63 6b 61 67 65 3b 0a 09 50 4c 53 41  adPackage;..PLSA
2a20: 5f 44 55 50 4c 49 43 41 54 45 5f 48 41 4e 44 4c  _DUPLICATE_HANDL
2a30: 45 20 44 75 70 6c 69 63 61 74 65 48 61 6e 64 6c  E DuplicateHandl
2a40: 65 3b 0a 09 50 4c 53 41 5f 53 41 56 45 5f 53 55  e;..PLSA_SAVE_SU
2a50: 50 50 4c 45 4d 45 4e 54 41 4c 5f 43 52 45 44 45  PPLEMENTAL_CREDE
2a60: 4e 54 49 41 4c 53 20 53 61 76 65 53 75 70 70 6c  NTIALS SaveSuppl
2a70: 65 6d 65 6e 74 61 6c 43 72 65 64 65 6e 74 69 61  ementalCredentia
2a80: 6c 73 3b 0a 09 50 4c 53 41 5f 43 52 45 41 54 45  ls;..PLSA_CREATE
2a90: 5f 54 48 52 45 41 44 20 43 72 65 61 74 65 54 68  _THREAD CreateTh
2aa0: 72 65 61 64 3b 0a 09 50 4c 53 41 5f 47 45 54 5f  read;..PLSA_GET_
2ab0: 43 4c 49 45 4e 54 5f 49 4e 46 4f 20 47 65 74 43  CLIENT_INFO GetC
2ac0: 6c 69 65 6e 74 49 6e 66 6f 3b 0a 09 50 4c 53 41  lientInfo;..PLSA
2ad0: 5f 52 45 47 49 53 54 45 52 5f 4e 4f 54 49 46 49  _REGISTER_NOTIFI
2ae0: 43 41 54 49 4f 4e 20 52 65 67 69 73 74 65 72 4e  CATION RegisterN
2af0: 6f 74 69 66 69 63 61 74 69 6f 6e 3b 0a 09 50 4c  otification;..PL
2b00: 53 41 5f 43 41 4e 43 45 4c 5f 4e 4f 54 49 46 49  SA_CANCEL_NOTIFI
2b10: 43 41 54 49 4f 4e 20 43 61 6e 63 65 6c 4e 6f 74  CATION CancelNot
2b20: 69 66 69 63 61 74 69 6f 6e 3b 0a 09 50 4c 53 41  ification;..PLSA
2b30: 5f 4d 41 50 5f 42 55 46 46 45 52 20 4d 61 70 42  _MAP_BUFFER MapB
2b40: 75 66 66 65 72 3b 0a 09 50 4c 53 41 5f 43 52 45  uffer;..PLSA_CRE
2b50: 41 54 45 5f 54 4f 4b 45 4e 20 43 72 65 61 74 65  ATE_TOKEN Create
2b60: 54 6f 6b 65 6e 3b 0a 09 50 4c 53 41 5f 41 55 44  Token;..PLSA_AUD
2b70: 49 54 5f 4c 4f 47 4f 4e 20 41 75 64 69 74 4c 6f  IT_LOGON AuditLo
2b80: 67 6f 6e 3b 0a 09 50 4c 53 41 5f 43 41 4c 4c 5f  gon;..PLSA_CALL_
2b90: 50 41 43 4b 41 47 45 20 43 61 6c 6c 50 61 63 6b  PACKAGE CallPack
2ba0: 61 67 65 3b 0a 09 50 4c 53 41 5f 46 52 45 45 5f  age;..PLSA_FREE_
2bb0: 4c 53 41 5f 48 45 41 50 20 46 72 65 65 52 65 74  LSA_HEAP FreeRet
2bc0: 75 72 6e 42 75 66 66 65 72 3b 0a 09 50 4c 53 41  urnBuffer;..PLSA
2bd0: 5f 47 45 54 5f 43 41 4c 4c 5f 49 4e 46 4f 20 47  _GET_CALL_INFO G
2be0: 65 74 43 61 6c 6c 49 6e 66 6f 3b 0a 09 50 4c 53  etCallInfo;..PLS
2bf0: 41 5f 43 41 4c 4c 5f 50 41 43 4b 41 47 45 45 58  A_CALL_PACKAGEEX
2c00: 20 43 61 6c 6c 50 61 63 6b 61 67 65 45 78 3b 0a   CallPackageEx;.
2c10: 09 50 4c 53 41 5f 43 52 45 41 54 45 5f 53 48 41  .PLSA_CREATE_SHA
2c20: 52 45 44 5f 4d 45 4d 4f 52 59 20 43 72 65 61 74  RED_MEMORY Creat
2c30: 65 53 68 61 72 65 64 4d 65 6d 6f 72 79 3b 0a 09  eSharedMemory;..
2c40: 50 4c 53 41 5f 41 4c 4c 4f 43 41 54 45 5f 53 48  PLSA_ALLOCATE_SH
2c50: 41 52 45 44 5f 4d 45 4d 4f 52 59 20 41 6c 6c 6f  ARED_MEMORY Allo
2c60: 63 61 74 65 53 68 61 72 65 64 4d 65 6d 6f 72 79  cateSharedMemory
2c70: 3b 0a 09 50 4c 53 41 5f 46 52 45 45 5f 53 48 41  ;..PLSA_FREE_SHA
2c80: 52 45 44 5f 4d 45 4d 4f 52 59 20 46 72 65 65 53  RED_MEMORY FreeS
2c90: 68 61 72 65 64 4d 65 6d 6f 72 79 3b 0a 09 50 4c  haredMemory;..PL
2ca0: 53 41 5f 44 45 4c 45 54 45 5f 53 48 41 52 45 44  SA_DELETE_SHARED
2cb0: 5f 4d 45 4d 4f 52 59 20 44 65 6c 65 74 65 53 68  _MEMORY DeleteSh
2cc0: 61 72 65 64 4d 65 6d 6f 72 79 3b 0a 09 50 4c 53  aredMemory;..PLS
2cd0: 41 5f 4f 50 45 4e 5f 53 41 4d 5f 55 53 45 52 20  A_OPEN_SAM_USER 
2ce0: 4f 70 65 6e 53 61 6d 55 73 65 72 3b 0a 09 50 4c  OpenSamUser;..PL
2cf0: 53 41 5f 47 45 54 5f 55 53 45 52 5f 43 52 45 44  SA_GET_USER_CRED
2d00: 45 4e 54 49 41 4c 53 20 47 65 74 55 73 65 72 43  ENTIALS GetUserC
2d10: 72 65 64 65 6e 74 69 61 6c 73 3b 0a 09 50 4c 53  redentials;..PLS
2d20: 41 5f 47 45 54 5f 55 53 45 52 5f 41 55 54 48 5f  A_GET_USER_AUTH_
2d30: 44 41 54 41 20 47 65 74 55 73 65 72 41 75 74 68  DATA GetUserAuth
2d40: 44 61 74 61 3b 0a 09 50 4c 53 41 5f 43 4c 4f 53  Data;..PLSA_CLOS
2d50: 45 5f 53 41 4d 5f 55 53 45 52 20 43 6c 6f 73 65  E_SAM_USER Close
2d60: 53 61 6d 55 73 65 72 3b 0a 09 50 4c 53 41 5f 43  SamUser;..PLSA_C
2d70: 4f 4e 56 45 52 54 5f 41 55 54 48 5f 44 41 54 41  ONVERT_AUTH_DATA
2d80: 5f 54 4f 5f 54 4f 4b 45 4e 20 43 6f 6e 76 65 72  _TO_TOKEN Conver
2d90: 74 41 75 74 68 44 61 74 61 54 6f 54 6f 6b 65 6e  tAuthDataToToken
2da0: 3b 0a 09 50 4c 53 41 5f 43 4c 49 45 4e 54 5f 43  ;..PLSA_CLIENT_C
2db0: 41 4c 4c 42 41 43 4b 20 43 6c 69 65 6e 74 43 61  ALLBACK ClientCa
2dc0: 6c 6c 62 61 63 6b 3b 0a 09 50 4c 53 41 5f 55 50  llback;..PLSA_UP
2dd0: 44 41 54 45 5f 50 52 49 4d 41 52 59 5f 43 52 45  DATE_PRIMARY_CRE
2de0: 44 45 4e 54 49 41 4c 53 20 55 70 64 61 74 65 43  DENTIALS UpdateC
2df0: 72 65 64 65 6e 74 69 61 6c 73 3b 0a 09 50 4c 53  redentials;..PLS
2e00: 41 5f 47 45 54 5f 41 55 54 48 5f 44 41 54 41 5f  A_GET_AUTH_DATA_
2e10: 46 4f 52 5f 55 53 45 52 20 47 65 74 41 75 74 68  FOR_USER GetAuth
2e20: 44 61 74 61 46 6f 72 55 73 65 72 3b 0a 09 50 4c  DataForUser;..PL
2e30: 53 41 5f 43 52 41 43 4b 5f 53 49 4e 47 4c 45 5f  SA_CRACK_SINGLE_
2e40: 4e 41 4d 45 20 43 72 61 63 6b 53 69 6e 67 6c 65  NAME CrackSingle
2e50: 4e 61 6d 65 3b 0a 09 50 4c 53 41 5f 41 55 44 49  Name;..PLSA_AUDI
2e60: 54 5f 41 43 43 4f 55 4e 54 5f 4c 4f 47 4f 4e 20  T_ACCOUNT_LOGON 
2e70: 41 75 64 69 74 41 63 63 6f 75 6e 74 4c 6f 67 6f  AuditAccountLogo
2e80: 6e 3b 0a 09 50 4c 53 41 5f 43 41 4c 4c 5f 50 41  n;..PLSA_CALL_PA
2e90: 43 4b 41 47 45 5f 50 41 53 53 54 48 52 4f 55 47  CKAGE_PASSTHROUG
2ea0: 48 20 43 61 6c 6c 50 61 63 6b 61 67 65 50 61 73  H CallPackagePas
2eb0: 73 74 68 72 6f 75 67 68 3b 0a 7d 20 0a 61 6c 69  sthrough;.} .ali
2ec0: 61 73 20 4c 53 41 5f 53 45 43 50 4b 47 5f 46 55  as LSA_SECPKG_FU
2ed0: 4e 43 54 49 4f 4e 5f 54 41 42 4c 45 2a 20 50 4c  NCTION_TABLE* PL
2ee0: 53 41 5f 53 45 43 50 4b 47 5f 46 55 4e 43 54 49  SA_SECPKG_FUNCTI
2ef0: 4f 4e 5f 54 41 42 4c 45 3b 0a 0a 2f 2a 20 66 75  ON_TABLE;../* fu
2f00: 6e 63 74 69 6f 6e 73 20 69 6d 70 6c 65 6d 65 6e  nctions implemen
2f10: 74 65 64 20 62 79 20 53 53 50 2f 41 50 20 6f 62  ted by SSP/AP ob
2f20: 74 61 69 6e 61 62 6c 65 20 62 79 20 64 69 73 70  tainable by disp
2f30: 61 74 63 68 20 74 61 62 6c 65 73 20 2a 2f 0a 61  atch tables */.a
2f40: 6c 69 61 73 20 4e 54 53 54 41 54 55 53 20 66 75  lias NTSTATUS fu
2f50: 6e 63 74 69 6f 6e 28 55 4c 4f 4e 47 2c 20 50 4c  nction(ULONG, PL
2f60: 53 41 5f 44 49 53 50 41 54 43 48 5f 54 41 42 4c  SA_DISPATCH_TABL
2f70: 45 2c 0a 20 50 4c 53 41 5f 53 54 52 49 4e 47 2c  E,. PLSA_STRING,
2f80: 20 50 4c 53 41 5f 53 54 52 49 4e 47 2c 20 50 4c   PLSA_STRING, PL
2f90: 53 41 5f 53 54 52 49 4e 47 20 2a 29 20 50 4c 53  SA_STRING *) PLS
2fa0: 41 5f 41 50 5f 49 4e 49 54 49 41 4c 49 5a 45 5f  A_AP_INITIALIZE_
2fb0: 50 41 43 4b 41 47 45 3b 0a 61 6c 69 61 73 20 4e  PACKAGE;.alias N
2fc0: 54 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e  TSTATUS function
2fd0: 28 4c 50 57 53 54 52 2c 20 4c 50 57 53 54 52 2c  (LPWSTR, LPWSTR,
2fe0: 20 4c 50 57 53 54 52 2c 20 4c 50 57 53 54 52 2c   LPWSTR, LPWSTR,
2ff0: 0a 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20  . DWORD, DWORD, 
3000: 50 48 41 4e 44 4c 45 29 20 50 4c 53 41 5f 41 50  PHANDLE) PLSA_AP
3010: 5f 4c 4f 47 4f 4e 5f 55 53 45 52 3b 0a 61 6c 69  _LOGON_USER;.ali
3020: 61 73 20 4e 54 53 54 41 54 55 53 20 66 75 6e 63  as NTSTATUS func
3030: 74 69 6f 6e 28 50 55 4e 49 43 4f 44 45 5f 53 54  tion(PUNICODE_ST
3040: 52 49 4e 47 2c 20 50 56 4f 49 44 2c 20 55 4c 4f  RING, PVOID, ULO
3050: 4e 47 2c 0a 20 50 56 4f 49 44 20 2a 2c 20 50 55  NG,. PVOID *, PU
3060: 4c 4f 4e 47 2c 20 50 4e 54 53 54 41 54 55 53 29  LONG, PNTSTATUS)
3070: 20 50 4c 53 41 5f 41 50 5f 43 41 4c 4c 5f 50 41   PLSA_AP_CALL_PA
3080: 43 4b 41 47 45 3b 0a 61 6c 69 61 73 20 76 6f 69  CKAGE;.alias voi
3090: 64 20 66 75 6e 63 74 69 6f 6e 28 50 4c 55 49 44  d function(PLUID
30a0: 29 20 50 4c 53 41 5f 41 50 5f 4c 4f 47 4f 4e 5f  ) PLSA_AP_LOGON_
30b0: 54 45 52 4d 49 4e 41 54 45 44 3b 0a 61 6c 69 61  TERMINATED;.alia
30c0: 73 20 4e 54 53 54 41 54 55 53 20 66 75 6e 63 74  s NTSTATUS funct
30d0: 69 6f 6e 28 50 4c 53 41 5f 43 4c 49 45 4e 54 5f  ion(PLSA_CLIENT_
30e0: 52 45 51 55 45 53 54 2c 0a 20 50 56 4f 49 44 2c  REQUEST,. PVOID,
30f0: 20 50 56 4f 49 44 2c 20 55 4c 4f 4e 47 2c 20 50   PVOID, ULONG, P
3100: 56 4f 49 44 20 2a 2c 20 50 55 4c 4f 4e 47 2c 20  VOID *, PULONG, 
3110: 50 4e 54 53 54 41 54 55 53 29 20 50 4c 53 41 5f  PNTSTATUS) PLSA_
3120: 41 50 5f 43 41 4c 4c 5f 50 41 43 4b 41 47 45 5f  AP_CALL_PACKAGE_
3130: 55 4e 54 52 55 53 54 45 44 3b 0a 61 6c 69 61 73  UNTRUSTED;.alias
3140: 20 4e 54 53 54 41 54 55 53 20 66 75 6e 63 74 69   NTSTATUS functi
3150: 6f 6e 28 50 55 4e 49 43 4f 44 45 5f 53 54 52 49  on(PUNICODE_STRI
3160: 4e 47 2c 0a 20 50 56 4f 49 44 2c 20 50 56 4f 49  NG,. PVOID, PVOI
3170: 44 2c 20 55 4c 4f 4e 47 2c 20 50 56 4f 49 44 20  D, ULONG, PVOID 
3180: 2a 2c 20 50 55 4c 4f 4e 47 2c 20 50 4e 54 53 54  *, PULONG, PNTST
3190: 41 54 55 53 29 20 50 4c 53 41 5f 41 50 5f 43 41  ATUS) PLSA_AP_CA
31a0: 4c 4c 5f 50 41 43 4b 41 47 45 5f 50 41 53 53 54  LL_PACKAGE_PASST
31b0: 48 52 4f 55 47 48 3b 0a 61 6c 69 61 73 20 4e 54  HROUGH;.alias NT
31c0: 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28  STATUS function(
31d0: 50 4c 53 41 5f 43 4c 49 45 4e 54 5f 52 45 51 55  PLSA_CLIENT_REQU
31e0: 45 53 54 2c 0a 20 53 45 43 55 52 49 54 59 5f 4c  EST,. SECURITY_L
31f0: 4f 47 4f 4e 5f 54 59 50 45 2c 20 50 56 4f 49 44  OGON_TYPE, PVOID
3200: 2c 20 50 56 4f 49 44 2c 20 55 4c 4f 4e 47 2c 20  , PVOID, ULONG, 
3210: 50 56 4f 49 44 20 2a 2c 20 50 55 4c 4f 4e 47 2c  PVOID *, PULONG,
3220: 20 50 4c 55 49 44 2c 20 50 4e 54 53 54 41 54 55   PLUID, PNTSTATU
3230: 53 2c 0a 20 50 4c 53 41 5f 54 4f 4b 45 4e 5f 49  S,. PLSA_TOKEN_I
3240: 4e 46 4f 52 4d 41 54 49 4f 4e 5f 54 59 50 45 2c  NFORMATION_TYPE,
3250: 20 50 56 4f 49 44 20 2a 2c 20 50 55 4e 49 43 4f   PVOID *, PUNICO
3260: 44 45 5f 53 54 52 49 4e 47 20 2a 2c 20 50 55 4e  DE_STRING *, PUN
3270: 49 43 4f 44 45 5f 53 54 52 49 4e 47 20 2a 2c 0a  ICODE_STRING *,.
3280: 20 50 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47   PUNICODE_STRING
3290: 20 2a 29 20 50 4c 53 41 5f 41 50 5f 4c 4f 47 4f   *) PLSA_AP_LOGO
32a0: 4e 5f 55 53 45 52 5f 45 58 3b 0a 61 6c 69 61 73  N_USER_EX;.alias
32b0: 20 4e 54 53 54 41 54 55 53 20 66 75 6e 63 74 69   NTSTATUS functi
32c0: 6f 6e 28 50 4c 53 41 5f 43 4c 49 45 4e 54 5f 52  on(PLSA_CLIENT_R
32d0: 45 51 55 45 53 54 2c 0a 20 53 45 43 55 52 49 54  EQUEST,. SECURIT
32e0: 59 5f 4c 4f 47 4f 4e 5f 54 59 50 45 2c 20 50 56  Y_LOGON_TYPE, PV
32f0: 4f 49 44 2c 20 50 56 4f 49 44 2c 20 55 4c 4f 4e  OID, PVOID, ULON
3300: 47 2c 20 50 56 4f 49 44 20 2a 2c 20 50 55 4c 4f  G, PVOID *, PULO
3310: 4e 47 2c 20 50 4c 55 49 44 2c 20 50 4e 54 53 54  NG, PLUID, PNTST
3320: 41 54 55 53 2c 0a 20 50 4c 53 41 5f 54 4f 4b 45  ATUS,. PLSA_TOKE
3330: 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 54 59  N_INFORMATION_TY
3340: 50 45 2c 20 50 56 4f 49 44 20 2a 2c 20 50 55 4e  PE, PVOID *, PUN
3350: 49 43 4f 44 45 5f 53 54 52 49 4e 47 20 2a 2c 20  ICODE_STRING *, 
3360: 50 55 4e 49 43 4f 44 45 5f 53 54 52 49 4e 47 20  PUNICODE_STRING 
3370: 2a 2c 0a 20 50 55 4e 49 43 4f 44 45 5f 53 54 52  *,. PUNICODE_STR
3380: 49 4e 47 20 2a 2c 20 50 53 45 43 50 4b 47 5f 50  ING *, PSECPKG_P
3390: 52 49 4d 41 52 59 5f 43 52 45 44 2c 20 50 53 45  RIMARY_CRED, PSE
33a0: 43 50 4b 47 5f 53 55 50 50 4c 45 4d 45 4e 54 41  CPKG_SUPPLEMENTA
33b0: 4c 5f 43 52 45 44 5f 41 52 52 41 59 20 2a 29 20  L_CRED_ARRAY *) 
33c0: 50 4c 53 41 5f 41 50 5f 4c 4f 47 4f 4e 5f 55 53  PLSA_AP_LOGON_US
33d0: 45 52 5f 45 58 32 3b 0a 61 6c 69 61 73 20 4e 54  ER_EX2;.alias NT
33e0: 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28  STATUS function(
33f0: 55 4c 4f 4e 47 5f 50 54 52 2c 20 50 53 45 43 50  ULONG_PTR, PSECP
3400: 4b 47 5f 50 41 52 41 4d 45 54 45 52 53 2c 0a 20  KG_PARAMETERS,. 
3410: 50 4c 53 41 5f 53 45 43 50 4b 47 5f 46 55 4e 43  PLSA_SECPKG_FUNC
3420: 54 49 4f 4e 5f 54 41 42 4c 45 29 20 53 70 49 6e  TION_TABLE) SpIn
3430: 69 74 69 61 6c 69 7a 65 46 6e 3b 0a 61 6c 69 61  itializeFn;.alia
3440: 73 20 4e 54 53 54 41 54 55 53 20 66 75 6e 63 74  s NTSTATUS funct
3450: 69 6f 6e 28 29 20 53 70 53 68 75 74 44 6f 77 6e  ion() SpShutDown
3460: 46 6e 3b 0a 61 6c 69 61 73 20 4e 54 53 54 41 54  Fn;.alias NTSTAT
3470: 55 53 20 66 75 6e 63 74 69 6f 6e 28 50 53 65 63  US function(PSec
3480: 50 6b 67 49 6e 66 6f 57 29 20 53 70 47 65 74 49  PkgInfoW) SpGetI
3490: 6e 66 6f 46 6e 3b 0a 61 6c 69 61 73 20 4e 54 53  nfoFn;.alias NTS
34a0: 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 53  TATUS function(S
34b0: 45 43 55 52 49 54 59 5f 4c 4f 47 4f 4e 5f 54 59  ECURITY_LOGON_TY
34c0: 50 45 2c 0a 20 50 55 4e 49 43 4f 44 45 5f 53 54  PE,. PUNICODE_ST
34d0: 52 49 4e 47 2c 20 50 53 45 43 50 4b 47 5f 50 52  RING, PSECPKG_PR
34e0: 49 4d 41 52 59 5f 43 52 45 44 2c 20 50 53 45 43  IMARY_CRED, PSEC
34f0: 50 4b 47 5f 53 55 50 50 4c 45 4d 45 4e 54 41 4c  PKG_SUPPLEMENTAL
3500: 5f 43 52 45 44 29 20 53 70 41 63 63 65 70 74 43  _CRED) SpAcceptC
3510: 72 65 64 65 6e 74 69 61 6c 73 46 6e 3b 0a 61 6c  redentialsFn;.al
3520: 69 61 73 20 4e 54 53 54 41 54 55 53 20 66 75 6e  ias NTSTATUS fun
3530: 63 74 69 6f 6e 28 50 55 4e 49 43 4f 44 45 5f 53  ction(PUNICODE_S
3540: 54 52 49 4e 47 2c 20 55 4c 4f 4e 47 2c 0a 20 50  TRING, ULONG,. P
3550: 4c 55 49 44 2c 20 50 56 4f 49 44 2c 20 50 56 4f  LUID, PVOID, PVO
3560: 49 44 2c 20 50 56 4f 49 44 2c 20 50 4c 53 41 5f  ID, PVOID, PLSA_
3570: 53 45 43 5f 48 41 4e 44 4c 45 2c 20 50 54 69 6d  SEC_HANDLE, PTim
3580: 65 53 74 61 6d 70 29 20 53 70 41 63 71 75 69 72  eStamp) SpAcquir
3590: 65 43 72 65 64 65 6e 74 69 61 6c 73 48 61 6e 64  eCredentialsHand
35a0: 6c 65 46 6e 3b 0a 61 6c 69 61 73 20 4e 54 53 54  leFn;.alias NTST
35b0: 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 4c 53  ATUS function(LS
35c0: 41 5f 53 45 43 5f 48 41 4e 44 4c 45 2c 20 55 4c  A_SEC_HANDLE, UL
35d0: 4f 4e 47 2c 20 50 56 4f 49 44 29 20 53 70 51 75  ONG, PVOID) SpQu
35e0: 65 72 79 43 72 65 64 65 6e 74 69 61 6c 73 41 74  eryCredentialsAt
35f0: 74 72 69 62 75 74 65 73 46 6e 3b 0a 61 6c 69 61  tributesFn;.alia
3600: 73 20 4e 54 53 54 41 54 55 53 20 66 75 6e 63 74  s NTSTATUS funct
3610: 69 6f 6e 28 4c 53 41 5f 53 45 43 5f 48 41 4e 44  ion(LSA_SEC_HAND
3620: 4c 45 29 20 53 70 46 72 65 65 43 72 65 64 65 6e  LE) SpFreeCreden
3630: 74 69 61 6c 73 48 61 6e 64 6c 65 46 6e 3b 0a 61  tialsHandleFn;.a
3640: 6c 69 61 73 20 4e 54 53 54 41 54 55 53 20 66 75  lias NTSTATUS fu
3650: 6e 63 74 69 6f 6e 28 4c 53 41 5f 53 45 43 5f 48  nction(LSA_SEC_H
3660: 41 4e 44 4c 45 2c 20 50 53 65 63 42 75 66 66 65  ANDLE, PSecBuffe
3670: 72 29 20 53 70 53 61 76 65 43 72 65 64 65 6e 74  r) SpSaveCredent
3680: 69 61 6c 73 46 6e 3b 0a 61 6c 69 61 73 20 4e 54  ialsFn;.alias NT
3690: 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28  STATUS function(
36a0: 4c 53 41 5f 53 45 43 5f 48 41 4e 44 4c 45 2c 20  LSA_SEC_HANDLE, 
36b0: 50 53 65 63 42 75 66 66 65 72 29 20 53 70 47 65  PSecBuffer) SpGe
36c0: 74 43 72 65 64 65 6e 74 69 61 6c 73 46 6e 3b 0a  tCredentialsFn;.
36d0: 61 6c 69 61 73 20 4e 54 53 54 41 54 55 53 20 66  alias NTSTATUS f
36e0: 75 6e 63 74 69 6f 6e 28 4c 53 41 5f 53 45 43 5f  unction(LSA_SEC_
36f0: 48 41 4e 44 4c 45 2c 20 50 53 65 63 42 75 66 66  HANDLE, PSecBuff
3700: 65 72 29 20 53 70 44 65 6c 65 74 65 43 72 65 64  er) SpDeleteCred
3710: 65 6e 74 69 61 6c 73 46 6e 3b 0a 61 6c 69 61 73  entialsFn;.alias
3720: 20 4e 54 53 54 41 54 55 53 20 66 75 6e 63 74 69   NTSTATUS functi
3730: 6f 6e 28 4c 53 41 5f 53 45 43 5f 48 41 4e 44 4c  on(LSA_SEC_HANDL
3740: 45 2c 20 4c 53 41 5f 53 45 43 5f 48 41 4e 44 4c  E, LSA_SEC_HANDL
3750: 45 2c 0a 20 50 55 4e 49 43 4f 44 45 5f 53 54 52  E,. PUNICODE_STR
3760: 49 4e 47 2c 20 55 4c 4f 4e 47 2c 20 55 4c 4f 4e  ING, ULONG, ULON
3770: 47 2c 20 50 53 65 63 42 75 66 66 65 72 44 65 73  G, PSecBufferDes
3780: 63 2c 20 50 4c 53 41 5f 53 45 43 5f 48 41 4e 44  c, PLSA_SEC_HAND
3790: 4c 45 2c 20 50 53 65 63 42 75 66 66 65 72 44 65  LE, PSecBufferDe
37a0: 73 63 2c 0a 20 50 55 4c 4f 4e 47 2c 20 50 54 69  sc,. PULONG, PTi
37b0: 6d 65 53 74 61 6d 70 2c 20 50 42 4f 4f 4c 45 41  meStamp, PBOOLEA
37c0: 4e 2c 20 50 53 65 63 42 75 66 66 65 72 29 20 53  N, PSecBuffer) S
37d0: 70 49 6e 69 74 4c 73 61 4d 6f 64 65 43 6f 6e 74  pInitLsaModeCont
37e0: 65 78 74 46 6e 3b 0a 61 6c 69 61 73 20 4e 54 53  extFn;.alias NTS
37f0: 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 4c  TATUS function(L
3800: 53 41 5f 53 45 43 5f 48 41 4e 44 4c 45 2c 0a 20  SA_SEC_HANDLE,. 
3810: 4c 53 41 5f 53 45 43 5f 48 41 4e 44 4c 45 2c 20  LSA_SEC_HANDLE, 
3820: 50 53 65 63 42 75 66 66 65 72 44 65 73 63 2c 20  PSecBufferDesc, 
3830: 55 4c 4f 4e 47 2c 20 55 4c 4f 4e 47 2c 20 50 4c  ULONG, ULONG, PL
3840: 53 41 5f 53 45 43 5f 48 41 4e 44 4c 45 2c 20 50  SA_SEC_HANDLE, P
3850: 53 65 63 42 75 66 66 65 72 44 65 73 63 2c 0a 20  SecBufferDesc,. 
3860: 50 55 4c 4f 4e 47 2c 20 50 54 69 6d 65 53 74 61  PULONG, PTimeSta
3870: 6d 70 2c 20 50 42 4f 4f 4c 45 41 4e 2c 20 50 53  mp, PBOOLEAN, PS
3880: 65 63 42 75 66 66 65 72 29 20 53 70 41 63 63 65  ecBuffer) SpAcce
3890: 70 74 4c 73 61 4d 6f 64 65 43 6f 6e 74 65 78 74  ptLsaModeContext
38a0: 46 6e 3b 0a 61 6c 69 61 73 20 4e 54 53 54 41 54  Fn;.alias NTSTAT
38b0: 55 53 20 66 75 6e 63 74 69 6f 6e 28 4c 53 41 5f  US function(LSA_
38c0: 53 45 43 5f 48 41 4e 44 4c 45 29 20 53 70 44 65  SEC_HANDLE) SpDe
38d0: 6c 65 74 65 43 6f 6e 74 65 78 74 46 6e 3b 0a 61  leteContextFn;.a
38e0: 6c 69 61 73 20 4e 54 53 54 41 54 55 53 20 66 75  lias NTSTATUS fu
38f0: 6e 63 74 69 6f 6e 28 4c 53 41 5f 53 45 43 5f 48  nction(LSA_SEC_H
3900: 41 4e 44 4c 45 2c 20 50 53 65 63 42 75 66 66 65  ANDLE, PSecBuffe
3910: 72 44 65 73 63 29 20 53 70 41 70 70 6c 79 43 6f  rDesc) SpApplyCo
3920: 6e 74 72 6f 6c 54 6f 6b 65 6e 46 6e 3b 0a 61 6c  ntrolTokenFn;.al
3930: 69 61 73 20 4e 54 53 54 41 54 55 53 20 66 75 6e  ias NTSTATUS fun
3940: 63 74 69 6f 6e 28 50 4c 55 49 44 2c 20 55 4c 4f  ction(PLUID, ULO
3950: 4e 47 2c 20 50 53 65 63 75 72 69 74 79 55 73 65  NG, PSecurityUse
3960: 72 44 61 74 61 20 2a 29 20 53 70 47 65 74 55 73  rData *) SpGetUs
3970: 65 72 49 6e 66 6f 46 6e 3b 0a 61 6c 69 61 73 20  erInfoFn;.alias 
3980: 4e 54 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f  NTSTATUS functio
3990: 6e 28 53 45 43 50 4b 47 5f 45 58 54 45 4e 44 45  n(SECPKG_EXTENDE
39a0: 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 43 4c  D_INFORMATION_CL
39b0: 41 53 53 2c 20 50 53 45 43 50 4b 47 5f 45 58 54  ASS, PSECPKG_EXT
39c0: 45 4e 44 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f  ENDED_INFORMATIO
39d0: 4e 20 2a 29 20 53 70 47 65 74 45 78 74 65 6e 64  N *) SpGetExtend
39e0: 65 64 49 6e 66 6f 72 6d 61 74 69 6f 6e 46 6e 3b  edInformationFn;
39f0: 0a 61 6c 69 61 73 20 4e 54 53 54 41 54 55 53 20  .alias NTSTATUS 
3a00: 66 75 6e 63 74 69 6f 6e 28 4c 53 41 5f 53 45 43  function(LSA_SEC
3a10: 5f 48 41 4e 44 4c 45 2c 20 55 4c 4f 4e 47 2c 20  _HANDLE, ULONG, 
3a20: 50 56 4f 49 44 29 20 53 70 51 75 65 72 79 43 6f  PVOID) SpQueryCo
3a30: 6e 74 65 78 74 41 74 74 72 69 62 75 74 65 73 46  ntextAttributesF
3a40: 6e 3b 0a 61 6c 69 61 73 20 4e 54 53 54 41 54 55  n;.alias NTSTATU
3a50: 53 20 66 75 6e 63 74 69 6f 6e 28 4c 53 41 5f 53  S function(LSA_S
3a60: 45 43 5f 48 41 4e 44 4c 45 2c 20 50 55 4e 49 43  EC_HANDLE, PUNIC
3a70: 4f 44 45 5f 53 54 52 49 4e 47 2c 0a 20 50 55 4e  ODE_STRING,. PUN
3a80: 49 43 4f 44 45 5f 53 54 52 49 4e 47 2c 20 55 4c  ICODE_STRING, UL
3a90: 4f 4e 47 2c 20 50 56 4f 49 44 2c 20 50 56 4f 49  ONG, PVOID, PVOI
3aa0: 44 2c 20 50 56 4f 49 44 2c 20 50 54 69 6d 65 53  D, PVOID, PTimeS
3ab0: 74 61 6d 70 29 20 53 70 41 64 64 43 72 65 64 65  tamp) SpAddCrede
3ac0: 6e 74 69 61 6c 73 46 6e 3b 0a 61 6c 69 61 73 20  ntialsFn;.alias 
3ad0: 4e 54 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f  NTSTATUS functio
3ae0: 6e 28 0a 20 53 45 43 50 4b 47 5f 45 58 54 45 4e  n(. SECPKG_EXTEN
3af0: 44 45 44 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f  DED_INFORMATION_
3b00: 43 4c 41 53 53 2c 20 50 53 45 43 50 4b 47 5f 45  CLASS, PSECPKG_E
3b10: 58 54 45 4e 44 45 44 5f 49 4e 46 4f 52 4d 41 54  XTENDED_INFORMAT
3b20: 49 4f 4e 29 20 53 70 53 65 74 45 78 74 65 6e 64  ION) SpSetExtend
3b30: 65 64 49 6e 66 6f 72 6d 61 74 69 6f 6e 46 6e 3b  edInformationFn;
3b40: 0a 61 6c 69 61 73 20 4e 54 53 54 41 54 55 53 20  .alias NTSTATUS 
3b50: 66 75 6e 63 74 69 6f 6e 28 55 4c 4f 4e 47 2c 20  function(ULONG, 
3b60: 50 53 45 43 50 4b 47 5f 44 4c 4c 5f 46 55 4e 43  PSECPKG_DLL_FUNC
3b70: 54 49 4f 4e 53 2c 0a 20 50 56 4f 49 44 20 2a 29  TIONS,. PVOID *)
3b80: 20 53 70 49 6e 73 74 61 6e 63 65 49 6e 69 74 46   SpInstanceInitF
3b90: 6e 3b 0a 61 6c 69 61 73 20 4e 54 53 54 41 54 55  n;.alias NTSTATU
3ba0: 53 20 66 75 6e 63 74 69 6f 6e 28 4c 53 41 5f 53  S function(LSA_S
3bb0: 45 43 5f 48 41 4e 44 4c 45 2c 20 50 53 65 63 42  EC_HANDLE, PSecB
3bc0: 75 66 66 65 72 29 20 53 70 49 6e 69 74 55 73 65  uffer) SpInitUse
3bd0: 72 4d 6f 64 65 43 6f 6e 74 65 78 74 46 6e 3b 0a  rModeContextFn;.
3be0: 61 6c 69 61 73 20 4e 54 53 54 41 54 55 53 20 66  alias NTSTATUS f
3bf0: 75 6e 63 74 69 6f 6e 28 4c 53 41 5f 53 45 43 5f  unction(LSA_SEC_
3c00: 48 41 4e 44 4c 45 2c 20 55 4c 4f 4e 47 2c 0a 20  HANDLE, ULONG,. 
3c10: 50 53 65 63 42 75 66 66 65 72 44 65 73 63 2c 20  PSecBufferDesc, 
3c20: 55 4c 4f 4e 47 29 20 53 70 4d 61 6b 65 53 69 67  ULONG) SpMakeSig
3c30: 6e 61 74 75 72 65 46 6e 3b 0a 61 6c 69 61 73 20  natureFn;.alias 
3c40: 4e 54 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f  NTSTATUS functio
3c50: 6e 28 4c 53 41 5f 53 45 43 5f 48 41 4e 44 4c 45  n(LSA_SEC_HANDLE
3c60: 2c 20 50 53 65 63 42 75 66 66 65 72 44 65 73 63  , PSecBufferDesc
3c70: 2c 0a 20 55 4c 4f 4e 47 2c 20 50 55 4c 4f 4e 47  ,. ULONG, PULONG
3c80: 29 20 53 70 56 65 72 69 66 79 53 69 67 6e 61 74  ) SpVerifySignat
3c90: 75 72 65 46 6e 3b 0a 61 6c 69 61 73 20 4e 54 53  ureFn;.alias NTS
3ca0: 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 4c  TATUS function(L
3cb0: 53 41 5f 53 45 43 5f 48 41 4e 44 4c 45 2c 20 55  SA_SEC_HANDLE, U
3cc0: 4c 4f 4e 47 2c 20 50 53 65 63 42 75 66 66 65 72  LONG, PSecBuffer
3cd0: 44 65 73 63 2c 0a 20 55 4c 4f 4e 47 29 20 53 70  Desc,. ULONG) Sp
3ce0: 53 65 61 6c 4d 65 73 73 61 67 65 46 6e 3b 0a 61  SealMessageFn;.a
3cf0: 6c 69 61 73 20 4e 54 53 54 41 54 55 53 20 66 75  lias NTSTATUS fu
3d00: 6e 63 74 69 6f 6e 28 4c 53 41 5f 53 45 43 5f 48  nction(LSA_SEC_H
3d10: 41 4e 44 4c 45 2c 20 50 53 65 63 42 75 66 66 65  ANDLE, PSecBuffe
3d20: 72 44 65 73 63 2c 0a 20 55 4c 4f 4e 47 2c 20 50  rDesc,. ULONG, P
3d30: 55 4c 4f 4e 47 29 20 53 70 55 6e 73 65 61 6c 4d  ULONG) SpUnsealM
3d40: 65 73 73 61 67 65 46 6e 3b 0a 61 6c 69 61 73 20  essageFn;.alias 
3d50: 4e 54 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f  NTSTATUS functio
3d60: 6e 28 4c 53 41 5f 53 45 43 5f 48 41 4e 44 4c 45  n(LSA_SEC_HANDLE
3d70: 2c 20 50 48 41 4e 44 4c 45 29 20 53 70 47 65 74  , PHANDLE) SpGet
3d80: 43 6f 6e 74 65 78 74 54 6f 6b 65 6e 46 6e 3b 0a  ContextTokenFn;.
3d90: 61 6c 69 61 73 20 4e 54 53 54 41 54 55 53 20 66  alias NTSTATUS f
3da0: 75 6e 63 74 69 6f 6e 28 4c 53 41 5f 53 45 43 5f  unction(LSA_SEC_
3db0: 48 41 4e 44 4c 45 2c 20 50 53 65 63 42 75 66 66  HANDLE, PSecBuff
3dc0: 65 72 44 65 73 63 29 20 53 70 43 6f 6d 70 6c 65  erDesc) SpComple
3dd0: 74 65 41 75 74 68 54 6f 6b 65 6e 46 6e 3b 0a 61  teAuthTokenFn;.a
3de0: 6c 69 61 73 20 4e 54 53 54 41 54 55 53 20 66 75  lias NTSTATUS fu
3df0: 6e 63 74 69 6f 6e 28 50 53 65 63 42 75 66 66 65  nction(PSecBuffe
3e00: 72 2c 20 50 53 65 63 42 75 66 66 65 72 29 20 53  r, PSecBuffer) S
3e10: 70 46 6f 72 6d 61 74 43 72 65 64 65 6e 74 69 61  pFormatCredentia
3e20: 6c 73 46 6e 3b 0a 61 6c 69 61 73 20 4e 54 53 54  lsFn;.alias NTST
3e30: 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 55 4c  ATUS function(UL
3e40: 4f 4e 47 2c 20 50 55 43 48 41 52 2c 20 50 55 4c  ONG, PUCHAR, PUL
3e50: 4f 4e 47 2c 0a 20 50 56 4f 49 44 20 2a 29 20 53  ONG,. PVOID *) S
3e60: 70 4d 61 72 73 68 61 6c 6c 53 75 70 70 6c 65 6d  pMarshallSupplem
3e70: 65 6e 74 61 6c 43 72 65 64 73 46 6e 3b 0a 61 6c  entalCredsFn;.al
3e80: 69 61 73 20 4e 54 53 54 41 54 55 53 20 66 75 6e  ias NTSTATUS fun
3e90: 63 74 69 6f 6e 28 4c 53 41 5f 53 45 43 5f 48 41  ction(LSA_SEC_HA
3ea0: 4e 44 4c 45 2c 20 55 4c 4f 4e 47 2c 0a 20 50 53  NDLE, ULONG,. PS
3eb0: 65 63 42 75 66 66 65 72 2c 20 50 48 41 4e 44 4c  ecBuffer, PHANDL
3ec0: 45 29 20 53 70 45 78 70 6f 72 74 53 65 63 75 72  E) SpExportSecur
3ed0: 69 74 79 43 6f 6e 74 65 78 74 46 6e 3b 0a 61 6c  ityContextFn;.al
3ee0: 69 61 73 20 4e 54 53 54 41 54 55 53 20 66 75 6e  ias NTSTATUS fun
3ef0: 63 74 69 6f 6e 28 50 53 65 63 42 75 66 66 65 72  ction(PSecBuffer
3f00: 2c 20 48 41 4e 44 4c 45 2c 0a 20 50 4c 53 41 5f  , HANDLE,. PLSA_
3f10: 53 45 43 5f 48 41 4e 44 4c 45 29 20 53 70 49 6d  SEC_HANDLE) SpIm
3f20: 70 6f 72 74 53 65 63 75 72 69 74 79 43 6f 6e 74  portSecurityCont
3f30: 65 78 74 46 6e 3b 0a 0a 2f 2a 20 44 69 73 70 61  extFn;../* Dispa
3f40: 74 63 68 20 74 61 62 6c 65 73 20 6f 66 20 66 75  tch tables of fu
3f50: 6e 63 74 69 6f 6e 73 20 69 6d 70 6c 65 6d 65 6e  nctions implemen
3f60: 74 65 64 20 62 79 20 53 53 50 2f 41 50 20 2a 2f  ted by SSP/AP */
3f70: 0a 73 74 72 75 63 74 20 53 45 43 50 4b 47 5f 46  .struct SECPKG_F
3f80: 55 4e 43 54 49 4f 4e 5f 54 41 42 4c 45 20 7b 0a  UNCTION_TABLE {.
3f90: 09 50 4c 53 41 5f 41 50 5f 49 4e 49 54 49 41 4c  .PLSA_AP_INITIAL
3fa0: 49 5a 45 5f 50 41 43 4b 41 47 45 20 49 6e 69 74  IZE_PACKAGE Init
3fb0: 69 61 6c 69 7a 65 50 61 63 6b 61 67 65 3b 0a 09  ializePackage;..
3fc0: 50 4c 53 41 5f 41 50 5f 4c 4f 47 4f 4e 5f 55 53  PLSA_AP_LOGON_US
3fd0: 45 52 20 4c 6f 67 6f 6e 55 73 65 72 3b 0a 09 50  ER LogonUser;..P
3fe0: 4c 53 41 5f 41 50 5f 43 41 4c 4c 5f 50 41 43 4b  LSA_AP_CALL_PACK
3ff0: 41 47 45 20 43 61 6c 6c 50 61 63 6b 61 67 65 3b  AGE CallPackage;
4000: 0a 09 50 4c 53 41 5f 41 50 5f 4c 4f 47 4f 4e 5f  ..PLSA_AP_LOGON_
4010: 54 45 52 4d 49 4e 41 54 45 44 20 4c 6f 67 6f 6e  TERMINATED Logon
4020: 54 65 72 6d 69 6e 61 74 65 64 3b 0a 09 50 4c 53  Terminated;..PLS
4030: 41 5f 41 50 5f 43 41 4c 4c 5f 50 41 43 4b 41 47  A_AP_CALL_PACKAG
4040: 45 5f 55 4e 54 52 55 53 54 45 44 20 43 61 6c 6c  E_UNTRUSTED Call
4050: 50 61 63 6b 61 67 65 55 6e 74 72 75 73 74 65 64  PackageUntrusted
4060: 3b 0a 09 50 4c 53 41 5f 41 50 5f 43 41 4c 4c 5f  ;..PLSA_AP_CALL_
4070: 50 41 43 4b 41 47 45 5f 50 41 53 53 54 48 52 4f  PACKAGE_PASSTHRO
4080: 55 47 48 20 43 61 6c 6c 50 61 63 6b 61 67 65 50  UGH CallPackageP
4090: 61 73 73 74 68 72 6f 75 67 68 3b 0a 09 50 4c 53  assthrough;..PLS
40a0: 41 5f 41 50 5f 4c 4f 47 4f 4e 5f 55 53 45 52 5f  A_AP_LOGON_USER_
40b0: 45 58 20 4c 6f 67 6f 6e 55 73 65 72 45 78 3b 0a  EX LogonUserEx;.
40c0: 09 50 4c 53 41 5f 41 50 5f 4c 4f 47 4f 4e 5f 55  .PLSA_AP_LOGON_U
40d0: 53 45 52 5f 45 58 32 20 4c 6f 67 6f 6e 55 73 65  SER_EX2 LogonUse
40e0: 72 45 78 32 3b 0a 09 53 70 49 6e 69 74 69 61 6c  rEx2;..SpInitial
40f0: 69 7a 65 46 6e 20 2a 49 6e 69 74 69 61 6c 69 7a  izeFn *Initializ
4100: 65 3b 0a 09 53 70 53 68 75 74 44 6f 77 6e 46 6e  e;..SpShutDownFn
4110: 20 2a 53 68 75 74 64 6f 77 6e 3b 0a 09 53 70 47   *Shutdown;..SpG
4120: 65 74 49 6e 66 6f 46 6e 20 2a 47 65 74 49 6e 66  etInfoFn *GetInf
4130: 6f 3b 0a 09 53 70 41 63 63 65 70 74 43 72 65 64  o;..SpAcceptCred
4140: 65 6e 74 69 61 6c 73 46 6e 20 2a 41 63 63 65 70  entialsFn *Accep
4150: 74 43 72 65 64 65 6e 74 69 61 6c 73 3b 0a 09 53  tCredentials;..S
4160: 70 41 63 71 75 69 72 65 43 72 65 64 65 6e 74 69  pAcquireCredenti
4170: 61 6c 73 48 61 6e 64 6c 65 46 6e 20 2a 41 63 71  alsHandleFn *Acq
4180: 75 69 72 65 43 72 65 64 65 6e 74 69 61 6c 73 48  uireCredentialsH
4190: 61 6e 64 6c 65 3b 0a 09 53 70 51 75 65 72 79 43  andle;..SpQueryC
41a0: 72 65 64 65 6e 74 69 61 6c 73 41 74 74 72 69 62  redentialsAttrib
41b0: 75 74 65 73 46 6e 20 2a 51 75 65 72 79 43 72 65  utesFn *QueryCre
41c0: 64 65 6e 74 69 61 6c 73 41 74 74 72 69 62 75 74  dentialsAttribut
41d0: 65 73 3b 0a 09 53 70 46 72 65 65 43 72 65 64 65  es;..SpFreeCrede
41e0: 6e 74 69 61 6c 73 48 61 6e 64 6c 65 46 6e 20 2a  ntialsHandleFn *
41f0: 46 72 65 65 43 72 65 64 65 6e 74 69 61 6c 73 48  FreeCredentialsH
4200: 61 6e 64 6c 65 3b 0a 09 53 70 53 61 76 65 43 72  andle;..SpSaveCr
4210: 65 64 65 6e 74 69 61 6c 73 46 6e 20 2a 53 61 76  edentialsFn *Sav
4220: 65 43 72 65 64 65 6e 74 69 61 6c 73 3b 0a 09 53  eCredentials;..S
4230: 70 47 65 74 43 72 65 64 65 6e 74 69 61 6c 73 46  pGetCredentialsF
4240: 6e 20 2a 47 65 74 43 72 65 64 65 6e 74 69 61 6c  n *GetCredential
4250: 73 3b 0a 09 53 70 44 65 6c 65 74 65 43 72 65 64  s;..SpDeleteCred
4260: 65 6e 74 69 61 6c 73 46 6e 20 2a 44 65 6c 65 74  entialsFn *Delet
4270: 65 43 72 65 64 65 6e 74 69 61 6c 73 3b 0a 09 53  eCredentials;..S
4280: 70 49 6e 69 74 4c 73 61 4d 6f 64 65 43 6f 6e 74  pInitLsaModeCont
4290: 65 78 74 46 6e 20 2a 49 6e 69 74 4c 73 61 4d 6f  extFn *InitLsaMo
42a0: 64 65 43 6f 6e 74 65 78 74 3b 0a 09 53 70 41 63  deContext;..SpAc
42b0: 63 65 70 74 4c 73 61 4d 6f 64 65 43 6f 6e 74 65  ceptLsaModeConte
42c0: 78 74 46 6e 20 2a 41 63 63 65 70 74 4c 73 61 4d  xtFn *AcceptLsaM
42d0: 6f 64 65 43 6f 6e 74 65 78 74 3b 0a 09 53 70 44  odeContext;..SpD
42e0: 65 6c 65 74 65 43 6f 6e 74 65 78 74 46 6e 20 2a  eleteContextFn *
42f0: 44 65 6c 65 74 65 43 6f 6e 74 65 78 74 3b 0a 09  DeleteContext;..
4300: 53 70 41 70 70 6c 79 43 6f 6e 74 72 6f 6c 54 6f  SpApplyControlTo
4310: 6b 65 6e 46 6e 20 2a 41 70 70 6c 79 43 6f 6e 74  kenFn *ApplyCont
4320: 72 6f 6c 54 6f 6b 65 6e 3b 0a 09 53 70 47 65 74  rolToken;..SpGet
4330: 55 73 65 72 49 6e 66 6f 46 6e 20 2a 47 65 74 55  UserInfoFn *GetU
4340: 73 65 72 49 6e 66 6f 3b 0a 09 53 70 47 65 74 45  serInfo;..SpGetE
4350: 78 74 65 6e 64 65 64 49 6e 66 6f 72 6d 61 74 69  xtendedInformati
4360: 6f 6e 46 6e 20 2a 47 65 74 45 78 74 65 6e 64 65  onFn *GetExtende
4370: 64 49 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0a 09 53  dInformation;..S
4380: 70 51 75 65 72 79 43 6f 6e 74 65 78 74 41 74 74  pQueryContextAtt
4390: 72 69 62 75 74 65 73 46 6e 20 2a 51 75 65 72 79  ributesFn *Query
43a0: 43 6f 6e 74 65 78 74 41 74 74 72 69 62 75 74 65  ContextAttribute
43b0: 73 3b 0a 09 53 70 41 64 64 43 72 65 64 65 6e 74  s;..SpAddCredent
43c0: 69 61 6c 73 46 6e 20 2a 41 64 64 43 72 65 64 65  ialsFn *AddCrede
43d0: 6e 74 69 61 6c 73 3b 0a 09 53 70 53 65 74 45 78  ntials;..SpSetEx
43e0: 74 65 6e 64 65 64 49 6e 66 6f 72 6d 61 74 69 6f  tendedInformatio
43f0: 6e 46 6e 20 2a 53 65 74 45 78 74 65 6e 64 65 64  nFn *SetExtended
4400: 49 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0a 7d 20 0a  Information;.} .
4410: 61 6c 69 61 73 20 53 45 43 50 4b 47 5f 46 55 4e  alias SECPKG_FUN
4420: 43 54 49 4f 4e 5f 54 41 42 4c 45 2a 20 50 53 45  CTION_TABLE* PSE
4430: 43 50 4b 47 5f 46 55 4e 43 54 49 4f 4e 5f 54 41  CPKG_FUNCTION_TA
4440: 42 4c 45 3b 0a 0a 73 74 72 75 63 74 20 53 45 43  BLE;..struct SEC
4450: 50 4b 47 5f 55 53 45 52 5f 46 55 4e 43 54 49 4f  PKG_USER_FUNCTIO
4460: 4e 5f 54 41 42 4c 45 20 7b 0a 09 53 70 49 6e 73  N_TABLE {..SpIns
4470: 74 61 6e 63 65 49 6e 69 74 46 6e 20 2a 49 6e 73  tanceInitFn *Ins
4480: 74 61 6e 63 65 49 6e 69 74 3b 0a 09 53 70 49 6e  tanceInit;..SpIn
4490: 69 74 55 73 65 72 4d 6f 64 65 43 6f 6e 74 65 78  itUserModeContex
44a0: 74 46 6e 20 2a 49 6e 69 74 55 73 65 72 4d 6f 64  tFn *InitUserMod
44b0: 65 43 6f 6e 74 65 78 74 3b 0a 09 53 70 4d 61 6b  eContext;..SpMak
44c0: 65 53 69 67 6e 61 74 75 72 65 46 6e 20 2a 4d 61  eSignatureFn *Ma
44d0: 6b 65 53 69 67 6e 61 74 75 72 65 3b 0a 09 53 70  keSignature;..Sp
44e0: 56 65 72 69 66 79 53 69 67 6e 61 74 75 72 65 46  VerifySignatureF
44f0: 6e 20 2a 56 65 72 69 66 79 53 69 67 6e 61 74 75  n *VerifySignatu
4500: 72 65 3b 0a 09 53 70 53 65 61 6c 4d 65 73 73 61  re;..SpSealMessa
4510: 67 65 46 6e 20 2a 53 65 61 6c 4d 65 73 73 61 67  geFn *SealMessag
4520: 65 3b 0a 09 53 70 55 6e 73 65 61 6c 4d 65 73 73  e;..SpUnsealMess
4530: 61 67 65 46 6e 20 2a 55 6e 73 65 61 6c 4d 65 73  ageFn *UnsealMes
4540: 73 61 67 65 3b 0a 09 53 70 47 65 74 43 6f 6e 74  sage;..SpGetCont
4550: 65 78 74 54 6f 6b 65 6e 46 6e 20 2a 47 65 74 43  extTokenFn *GetC
4560: 6f 6e 74 65 78 74 54 6f 6b 65 6e 3b 0a 09 53 70  ontextToken;..Sp
4570: 51 75 65 72 79 43 6f 6e 74 65 78 74 41 74 74 72  QueryContextAttr
4580: 69 62 75 74 65 73 46 6e 20 2a 51 75 65 72 79 43  ibutesFn *QueryC
4590: 6f 6e 74 65 78 74 41 74 74 72 69 62 75 74 65 73  ontextAttributes
45a0: 3b 0a 09 53 70 43 6f 6d 70 6c 65 74 65 41 75 74  ;..SpCompleteAut
45b0: 68 54 6f 6b 65 6e 46 6e 20 2a 43 6f 6d 70 6c 65  hTokenFn *Comple
45c0: 74 65 41 75 74 68 54 6f 6b 65 6e 3b 0a 09 53 70  teAuthToken;..Sp
45d0: 44 65 6c 65 74 65 43 6f 6e 74 65 78 74 46 6e 20  DeleteContextFn 
45e0: 2a 44 65 6c 65 74 65 55 73 65 72 4d 6f 64 65 43  *DeleteUserModeC
45f0: 6f 6e 74 65 78 74 3b 0a 09 53 70 46 6f 72 6d 61  ontext;..SpForma
4600: 74 43 72 65 64 65 6e 74 69 61 6c 73 46 6e 20 2a  tCredentialsFn *
4610: 46 6f 72 6d 61 74 43 72 65 64 65 6e 74 69 61 6c  FormatCredential
4620: 73 3b 0a 09 53 70 4d 61 72 73 68 61 6c 6c 53 75  s;..SpMarshallSu
4630: 70 70 6c 65 6d 65 6e 74 61 6c 43 72 65 64 73 46  pplementalCredsF
4640: 6e 20 2a 4d 61 72 73 68 61 6c 6c 53 75 70 70 6c  n *MarshallSuppl
4650: 65 6d 65 6e 74 61 6c 43 72 65 64 73 3b 0a 09 53  ementalCreds;..S
4660: 70 45 78 70 6f 72 74 53 65 63 75 72 69 74 79 43  pExportSecurityC
4670: 6f 6e 74 65 78 74 46 6e 20 2a 45 78 70 6f 72 74  ontextFn *Export
4680: 43 6f 6e 74 65 78 74 3b 0a 09 53 70 49 6d 70 6f  Context;..SpImpo
4690: 72 74 53 65 63 75 72 69 74 79 43 6f 6e 74 65 78  rtSecurityContex
46a0: 74 46 6e 20 2a 49 6d 70 6f 72 74 43 6f 6e 74 65  tFn *ImportConte
46b0: 78 74 3b 0a 7d 20 0a 61 6c 69 61 73 20 53 45 43  xt;.} .alias SEC
46c0: 50 4b 47 5f 55 53 45 52 5f 46 55 4e 43 54 49 4f  PKG_USER_FUNCTIO
46d0: 4e 5f 54 41 42 4c 45 2a 20 50 53 45 43 50 4b 47  N_TABLE* PSECPKG
46e0: 5f 55 53 45 52 5f 46 55 4e 43 54 49 4f 4e 5f 54  _USER_FUNCTION_T
46f0: 41 42 4c 45 3b 0a 0a 2f 2a 20 45 6e 74 72 79 20  ABLE;../* Entry 
4700: 70 6f 69 6e 74 73 20 74 6f 20 53 53 50 2f 41 50  points to SSP/AP
4710: 20 2a 2f 0a 61 6c 69 61 73 20 4e 54 53 54 41 54   */.alias NTSTAT
4720: 55 53 20 66 75 6e 63 74 69 6f 6e 28 55 4c 4f 4e  US function(ULON
4730: 47 2c 20 50 55 4c 4f 4e 47 2c 0a 20 50 53 45 43  G, PULONG,. PSEC
4740: 50 4b 47 5f 46 55 4e 43 54 49 4f 4e 5f 54 41 42  PKG_FUNCTION_TAB
4750: 4c 45 20 2a 2c 20 50 55 4c 4f 4e 47 29 20 53 70  LE *, PULONG) Sp
4760: 4c 73 61 4d 6f 64 65 49 6e 69 74 69 61 6c 69 7a  LsaModeInitializ
4770: 65 46 6e 3b 0a 61 6c 69 61 73 20 4e 54 53 54 41  eFn;.alias NTSTA
4780: 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 55 4c 4f  TUS function(ULO
4790: 4e 47 2c 20 50 55 4c 4f 4e 47 2c 0a 20 50 53 45  NG, PULONG,. PSE
47a0: 43 50 4b 47 5f 55 53 45 52 5f 46 55 4e 43 54 49  CPKG_USER_FUNCTI
47b0: 4f 4e 5f 54 41 42 4c 45 20 2a 2c 20 50 55 4c 4f  ON_TABLE *, PULO
47c0: 4e 47 29 20 53 70 55 73 65 72 4d 6f 64 65 49 6e  NG) SpUserModeIn
47d0: 69 74 69 61 6c 69 7a 65 46 6e 3b 0a 0a           itializeFn;..