ReactOS 0.4.15-dev-7958-gcd0bb1a
sam.h
Go to the documentation of this file.
1/*
2 * PROJECT: Authentication Package DLL
3 * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4 * PURPOSE: Security Account Manager (SAM) related functions - header
5 * COPYRIGHT: Copyright 2013 Eric Kohl <eric.kohl@reactos.org>
6 */
7
8#pragma once
9
11{
16
17typedef struct _LSA_SAM_PWD_DATA
18{
19 /* TRUE: PlainPwd is filled,
20 FALSE: LmPwd and NtPwd is filled */
23
24 /* Input (IsNetwork = TRUE) */
27 /* Result (IsNetwork = TRUE) */
32
40 _In_ PUNICODE_STRING LogonUserName,
41 _In_ PUNICODE_STRING LogonDomain,
42 _In_ PLSA_SAM_PWD_DATA LogonPwdData,
43 _In_ PUNICODE_STRING ComputerName,
44 _Out_ PBOOL SpecialAccount,
45 _Out_ PRPC_SID* AccountDomainSidPtr,
46 _Out_ SAMPR_HANDLE* UserHandlePtr,
47 _Out_ PSAMPR_USER_INFO_BUFFER* UserInfoPtr,
LONG NTSTATUS
Definition: precomp.h:26
unsigned int BOOL
Definition: ntddk_ex.h:94
* PNTSTATUS
Definition: strlen.c:14
#define _Out_
Definition: ms_sal.h:345
#define _In_
Definition: ms_sal.h:308
_IRQL_requires_same_ _In_ PLSA_STRING _In_ SECURITY_LOGON_TYPE LogonType
_IRQL_requires_same_ _In_ PLSA_STRING _In_ SECURITY_LOGON_TYPE _In_ ULONG _In_ ULONG _In_opt_ PTOKEN_GROUPS _In_ PTOKEN_SOURCE _Out_ PVOID _Out_ PULONG _Inout_ PLUID _Out_ PHANDLE _Out_ PQUOTA_LIMITS _Out_ PNTSTATUS SubStatus
enum _SECURITY_LOGON_TYPE SECURITY_LOGON_TYPE
enum _LSA_SAM_NETLOGON_TYPE LSA_SAM_NETLOGON_TYPE
struct _LSA_SAM_PWD_DATA LSA_SAM_PWD_DATA
_LSA_SAM_NETLOGON_TYPE
Definition: sam.h:11
@ NetLogonLmKey
Definition: sam.h:13
@ NetLogonAnonymous
Definition: sam.h:12
@ NetLogonNtKey
Definition: sam.h:14
NTSTATUS SamValidateUser(_In_ SECURITY_LOGON_TYPE LogonType, _In_ PUNICODE_STRING LogonUserName, _In_ PUNICODE_STRING LogonDomain, _In_ PLSA_SAM_PWD_DATA LogonPwdData, _In_ PUNICODE_STRING ComputerName, _Out_ PBOOL SpecialAccount, _Out_ PRPC_SID *AccountDomainSidPtr, _Out_ SAMPR_HANDLE *UserHandlePtr, _Out_ PSAMPR_USER_INFO_BUFFER *UserInfoPtr, _Out_ PNTSTATUS SubStatus)
Validates a user by checking if it exists in the sam database. Some other checks are done further.
Definition: sam.c:460
struct _LSA_SAM_PWD_DATA * PLSA_SAM_PWD_DATA
PUNICODE_STRING PlainPwd
Definition: sam.h:22
PUNICODE_STRING ComputerName
Definition: sam.h:26
LANMAN_SESSION_KEY LanmanSessionKey
Definition: sam.h:29
LSA_SAM_NETLOGON_TYPE LogonType
Definition: sam.h:28
USER_SESSION_KEY UserSessionKey
Definition: sam.h:30
BOOL IsNetwork
Definition: sam.h:21
PMSV1_0_LM20_LOGON LogonInfo
Definition: sam.h:25
BOOL * PBOOL
Definition: windef.h:161