52 return CurrentNotification;
70 TRACE(
"LsapAddNotification(%p)\n", pRequestMsg);
91 pEntry->ClientId.UniqueProcess);
94 ERR(
"NtOpenProcess() failed (Status 0x%08lx)\n",
Status);
102 &
pEntry->MappedEventHandle,
108 ERR(
"NtDuplicateObject() failed (Status 0x%08lx)\n",
Status);
137 TRACE(
"LsapRemoveNotification(%p)\n", pRequestMsg);
164 TRACE(
"LsapRegisterNotification(%p)\n", pRequestMsg);
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
#define STATUS_INVALID_HANDLE
#define NT_SUCCESS(StatCode)
static PLSA_NOTIFICATION_ENTRY LsapGetNotificationEntry(PLSA_API_MSG pRequestMsg)
VOID LsapInitNotificationList(VOID)
NTSTATUS LsapRegisterNotification(PLSA_API_MSG pRequestMsg)
static LIST_ENTRY NotificationListHead
struct _LSA_NOTIFICATION_ENTRY LSA_NOTIFICATION_ENTRY
static RTL_RESOURCE NotificationListLock
VOID LsapNotifyPolicyChange(POLICY_NOTIFICATION_INFORMATION_CLASS InformationClass)
static NTSTATUS LsapAddNotification(PLSA_API_MSG pRequestMsg)
struct _LSA_NOTIFICATION_ENTRY * PLSA_NOTIFICATION_ENTRY
static NTSTATUS LsapRemoveNotification(PLSA_API_MSG pRequestMsg)
#define RemoveEntryList(Entry)
#define InsertHeadList(ListHead, Entry)
#define InitializeListHead(ListHead)
_In_ FILTER_INFORMATION_CLASS InformationClass
#define PROCESS_DUP_HANDLE
_In_ BOOL _In_ HANDLE hProcess
NTSYSAPI BOOLEAN NTAPI RtlAcquireResourceShared(_In_ PRTL_RESOURCE Resource, _In_ BOOLEAN Wait)
NTSYSAPI VOID NTAPI RtlInitializeResource(_In_ PRTL_RESOURCE Resource)
NTSYSAPI BOOLEAN NTAPI RtlAcquireResourceExclusive(_In_ PRTL_RESOURCE Resource, _In_ BOOLEAN Wait)
NTSYSAPI VOID NTAPI RtlReleaseResource(_In_ PRTL_RESOURCE Resource)
#define NtCurrentProcess()
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
NTSTATUS NTAPI NtSetEvent(IN HANDLE EventHandle, OUT PLONG PreviousState OPTIONAL)
NTSTATUS NTAPI NtOpenProcess(OUT PHANDLE ProcessHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, IN PCLIENT_ID ClientId)
enum _POLICY_NOTIFICATION_INFORMATION_CLASS POLICY_NOTIFICATION_INFORMATION_CLASS
NTSTATUS NTAPI NtDuplicateObject(IN HANDLE SourceProcessHandle, IN HANDLE SourceHandle, IN HANDLE TargetProcessHandle OPTIONAL, OUT PHANDLE TargetHandle OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG HandleAttributes, IN ULONG Options)
base of all file and directory entries
struct _LIST_ENTRY * Flink
LSA_POLICY_CHANGE_NOTIFY_MSG PolicyChangeNotify
POLICY_NOTIFICATION_INFORMATION_CLASS InformationClass
struct _LSA_POLICY_CHANGE_NOTIFY_MSG::@3511::@3513 Request
#define CONTAINING_RECORD(address, type, field)
#define STATUS_INSUFFICIENT_RESOURCES
_In_ ULONG _In_opt_ PVOID _In_ PDRIVER_OBJECT _In_ PDRIVER_NOTIFICATION_CALLBACK_ROUTINE _Inout_opt_ __drv_aliasesMem PVOID _Outptr_result_nullonfailure_ _At_ * NotificationEntry(return==0, __drv_allocatesMem(Mem))) PVOID *NotificationEntry
#define DUPLICATE_SAME_ACCESS