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;..