57 ULONG ConnectInfoLength;
60 TRACE(
"LsapOpenLsaPort()\n");
66 L"\\LsaAuthenticationPort");
68 SecurityQos.
Length =
sizeof(SecurityQos);
90 TRACE(
"NtConnectPort failed (Status 0x%08lx)\n",
Status);
118 ULONG ConnectInfoLength =
sizeof(ConnectInfo);
130 L"\\SECURITY\\LSA_AUTHENTICATION_INITIALIZED");
141 WARN(
"NtOpenEvent failed (Status 0x%08lx)\n",
Status);
150 WARN(
"NtCreateEvent failed (Status 0x%08lx)\n",
Status);
161 ERR(
"NtWaitForSingleObject failed (Status 0x%08lx)\n",
Status);
167 L"\\LsaAuthenticationPort");
169 SecurityQos.
Length =
sizeof(SecurityQos);
190 ERR(
"NtConnectPort failed (Status 0x%08lx)\n",
Status);
196 ERR(
"ConnectInfo.Status: 0x%08lx\n", ConnectInfo.
Status);
199 return ConnectInfo.
Status;
210 PLUID *LogonSessionList)
215 TRACE(
"LsaEnumerateLogonSessions(%p %p)\n", LogonSessionCount, LogonSessionList);
224 ApiMessage.
h.u2.ZeroInit = 0;
231 ERR(
"NtRequestWaitReplyPort() failed (Status 0x%08lx)\n",
Status);
237 ERR(
"NtRequestWaitReplyPort() failed (ApiMessage.Status 0x%08lx)\n", ApiMessage.Status);
238 return ApiMessage.Status;
241 *LogonSessionCount = ApiMessage.EnumLogonSessions.Reply.LogonSessionCount;
242 *LogonSessionList = ApiMessage.EnumLogonSessions.Reply.LogonSessionBuffer;
261 TRACE(
"LsaGetLogonSessionData(%p %p)\n",
LogonId, ppLogonSessionData);
270 ApiMessage.
h.u2.ZeroInit = 0;
280 ERR(
"NtRequestWaitReplyPort() failed (Status 0x%08lx)\n",
Status);
286 ERR(
"NtRequestWaitReplyPort() failed (ApiMessage.Status 0x%08lx)\n", ApiMessage.Status);
287 return ApiMessage.Status;
290 SessionData = ApiMessage.GetLogonSessionData.Reply.SessionDataBuffer;
304 TRACE(
"Sid: %p\n", SessionData->
Sid);
320 *ppLogonSessionData = SessionData;
333 HANDLE NotificationEventHandle)
338 TRACE(
"LsaRegisterPolicyChangeNotification(%lu %p)\n",
348 ApiMessage.
h.u2.ZeroInit = 0;
359 ERR(
"NtRequestWaitReplyPort() failed (Status 0x%08lx)\n",
Status);
365 ERR(
"NtRequestWaitReplyPort() failed (ApiMessage.Status 0x%08lx)\n", ApiMessage.Status);
366 return ApiMessage.Status;
380 HANDLE NotificationEventHandle)
385 TRACE(
"LsaUnregisterPolicyChangeNotification(%lu %p)\n",
395 ApiMessage.
h.u2.ZeroInit = 0;
406 ERR(
"NtRequestWaitReplyPort() failed (Status 0x%08lx)\n",
Status);
412 ERR(
"NtRequestWaitReplyPort() failed (ApiMessage.Status 0x%08lx)\n", ApiMessage.Status);
413 return ApiMessage.Status;
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
VOID LsapInitLsaPort(VOID)
struct _LSA_CONNECTION_INFO LSA_CONNECTION_INFO
LSA_GET_LOGON_SESSION_DATA_MSG GetLogonSessionData
#define OBJ_CASE_INSENSITIVE
NTSTATUS LsapOpenLsaPort(VOID)
NTSTATUS NTAPI NtRequestWaitReplyPort(IN HANDLE PortHandle, IN PPORT_MESSAGE LpcRequest, IN OUT PPORT_MESSAGE LpcReply)
LSA_POLICY_CHANGE_NOTIFY_MSG PolicyChangeNotify
NTSTATUS NTAPI LsaEnumerateLogonSessions(PULONG LogonSessionCount, PLUID *LogonSessionList)
NTSTATUS NTAPI NtCreateEvent(OUT PHANDLE EventHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN EVENT_TYPE EventType, IN BOOLEAN InitialState)
SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode
NTSTATUS NTAPI LsaGetLogonSessionData(PLUID LogonId, PSECURITY_LOGON_SESSION_DATA *ppLogonSessionData)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
enum _POLICY_NOTIFICATION_INFORMATION_CLASS POLICY_NOTIFICATION_INFORMATION_CLASS
NTSTATUS NTAPI NtConnectPort(OUT PHANDLE PortHandle, IN PUNICODE_STRING PortName, IN PSECURITY_QUALITY_OF_SERVICE SecurityQos, IN OUT PPORT_VIEW ClientView OPTIONAL, IN OUT PREMOTE_PORT_VIEW ServerView OPTIONAL, OUT PULONG MaxMessageLength OPTIONAL, IN OUT PVOID ConnectionInformation OPTIONAL, IN OUT PULONG ConnectionInformationLength OPTIONAL)
#define LSA_PORT_MESSAGE_SIZE
#define NT_SUCCESS(StatCode)
struct _LSA_GET_LOGON_SESSION_DATA_MSG::@3454::@3456 Request
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
#define SECURITY_DYNAMIC_TRACKING
WINE_DEFAULT_DEBUG_CHANNEL(secur32)
LSA_UNICODE_STRING LogonDomain
LSA_UNICODE_STRING DnsDomainName
NTSTATUS NTAPI NtOpenEvent(OUT PHANDLE EventHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes)
NTSTATUS NTAPI LsaConnectUntrusted(OUT PHANDLE LsaHandle)
LSA_UNICODE_STRING LogonServer
LSA_ENUM_LOGON_SESSIONS_MSG EnumLogonSessions
VOID LsapCloseLsaPort(VOID)
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
_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 LogonId
NTSYSAPI void WINAPI RtlCopyLuid(PLUID, const LUID *)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define RtlZeroMemory(Destination, Length)
#define InitializeObjectAttributes(p, n, a, r, s)
_In_ FILTER_INFORMATION_CLASS InformationClass
LSA_UNICODE_STRING AuthenticationPackage
NTSTATUS NTAPI LsaRegisterPolicyChangeNotification(POLICY_NOTIFICATION_INFORMATION_CLASS InformationClass, HANDLE NotificationEventHandle)
struct _LSA_POLICY_CHANGE_NOTIFY_MSG::@3458::@3460 Request
NTSTATUS NTAPI LsaUnregisterPolicyChangeNotification(POLICY_NOTIFICATION_INFORMATION_CLASS InformationClass, HANDLE NotificationEventHandle)
LSA_UNICODE_STRING UserName
#define LSA_PORT_DATA_SIZE(c)
IN PUNICODE_STRING PortName
_Out_ PHANDLE EventHandle
NTSYSAPI NTSTATUS NTAPI NtWaitForSingleObject(IN HANDLE hObject, IN BOOLEAN bAlertable, IN PLARGE_INTEGER Timeout)