135 DWORD WaitResult, WaitCount;
213 DPRINT(
"Unexpected wait result watching the group policy events: 0x%x\n", WaitResult);
254 DPRINT1(
"Referencing the library failed!\n");
308 if (lpSecurityDescriptor ==
NULL)
314 lpSecurityDescriptor);
324 if (lpSecurityDescriptor ==
NULL)
327 if (lpSecurityDescriptor ==
NULL)
334 lpSecurityDescriptor);
375 if (lpSecurityDescriptor !=
NULL)
402 *NotifyLink =
Notify->Next;
417 NotifyLink = &
Notify->Next;
490 if (lpSecurityDescriptor !=
NULL)
583 _Out_ PGROUP_POLICY_OBJECTA *ppGPOList
586 DPRINT1(
"GetAppliedGPOListA is UNIMPLEMENTED!\n");
597 _Out_ PGROUP_POLICY_OBJECTW *ppGPOList
600 DPRINT1(
"GetAppliedGPOListW is UNIMPLEMENTED!\n");
static const WCHAR szMachineGPApplied[]
#define ERROR_INVALID_PARAMETER
BOOL WINAPI SHIM_OBJ_NAME() Notify(DWORD fdwReason, PVOID ptr)
static const WCHAR szMachineGPDoneEvent[]
BOOL WINAPI RegisterGPNotification(IN HANDLE hEvent, IN BOOL bMachine)
struct _GP_NOTIFY * PGP_NOTIFY
static const WCHAR szMachineGPRefreshEvent[]
static const WCHAR szLocalGPRefreshEvent[]
DWORD WINAPI GetAppliedGPOListA(_In_ DWORD dwFlags, _In_ LPCSTR pMachineName, _In_ PSID pSidUser, _In_ GUID *pGuidExtension, _Out_ PGROUP_POLICY_OBJECTA *ppGPOList)
VOID InitializeGPNotifications(VOID)
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
BOOL WINAPI WaitForMachinePolicyForegroundProcessing(VOID)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
static const WCHAR szLocalGPMutex[]
DWORD WINAPI WaitForMultipleObjects(IN DWORD nCount, IN CONST HANDLE *lpHandles, IN BOOL bWaitAll, IN DWORD dwMilliseconds)
static CRITICAL_SECTION GPNotifyLock
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCWSTR lpName OPTIONAL)
HANDLE WINAPI DECLSPEC_HOTPATCH OpenEventW(IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN LPCWSTR lpName)
VOID WINAPI FreeLibraryAndExitThread(HMODULE hLibModule, DWORD dwExitCode)
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
static HANDLE hLocalGPAppliedEvent
BOOL WINAPI RefreshPolicy(IN BOOL bMachine)
static PGP_NOTIFY NotificationList
BOOL WINAPI UnregisterGPNotification(IN HANDLE hEvent)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
static HANDLE hMachineGPAppliedEvent
static const WCHAR szLocalGPDoneEvent[]
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
static const WCHAR szMachineGPMutex[]
static DWORD WINAPI GPNotificationThreadProc(IN LPVOID lpParameter)
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
BOOL WINAPI DECLSPEC_HOTPATCH ReleaseMutex(IN HANDLE hMutex)
struct _GP_NOTIFY GP_NOTIFY
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
static HANDLE hNotificationThreadEvent
static const WCHAR Cleanup[]
HANDLE WINAPI EnterCriticalPolicySection(IN BOOL bMachine)
static const WCHAR szMachineGPForceRefreshEvent[]
static const WCHAR szLocalGPForceRefreshEvent[]
PSECURITY_DESCRIPTOR CreateDefaultSecurityDescriptor(VOID)
BOOL WINAPI GetModuleHandleExW(IN DWORD dwFlags, IN LPCWSTR lpwModuleName OPTIONAL, OUT HMODULE *phModule)
LPVOID lpSecurityDescriptor
static HANDLE CreateGPEvent(IN BOOL bMachine, IN PSECURITY_DESCRIPTOR lpSecurityDescriptor)
HLOCAL NTAPI LocalFree(HLOCAL hMem)
BOOL WINAPI WaitForUserPolicyForegroundProcessing(VOID)
BOOL WINAPI LeaveCriticalPolicySection(IN HANDLE hSection)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateMutexW(IN LPSECURITY_ATTRIBUTES lpMutexAttributes OPTIONAL, IN BOOL bInitialOwner, IN LPCWSTR lpName OPTIONAL)
BOOL WINAPI DECLSPEC_HOTPATCH ResetEvent(IN HANDLE hEvent)
static HANDLE hNotificationThread
DWORD WINAPI GetAppliedGPOListW(_In_ DWORD dwFlags, _In_ LPCWSTR pMachineName, _In_ PSID pSidUser, _In_ GUID *pGuidExtension, _Out_ PGROUP_POLICY_OBJECTW *ppGPOList)
#define EVENT_MODIFY_STATE
#define ERROR_CALL_NOT_IMPLEMENTED
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
static GP_ACTION GPNotificationAction
static VOID NotifyGPEvents(IN BOOL bMachine)
_In_ const BITMAPINFO _In_ UINT _In_opt_ HANDLE hSection
VOID UninitializeGPNotifications(VOID)
BOOL WINAPI RefreshPolicyEx(IN BOOL bMachine, IN DWORD dwOptions)
static PCWSTR BOOL bMachine
static const WCHAR szLocalGPApplied[]
struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES