Artifact f28bac35de29964ec88bb20baf1f3d95ac764224:
- File
src/win32/ntsecpkg.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
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;..