implemented WaitForUserPolicyForegroundProcessing() and WaitForMachinePolicyForegroundProcessing() Modified: trunk/reactos/lib/userenv/gpolicy.c Modified: trunk/reactos/lib/userenv/userenv.def _____
Modified: trunk/reactos/lib/userenv/gpolicy.c --- trunk/reactos/lib/userenv/gpolicy.c 2006-01-12 20:31:08 UTC (rev 20812) +++ trunk/reactos/lib/userenv/gpolicy.c 2006-01-12 20:32:44 UTC (rev 20813) @@ -47,10 +47,12 @@
static const WCHAR szLocalGPMutex[] = L"userenv: user policy mutex"; static const WCHAR szLocalGPRefreshEvent[] = L"userenv: user policy refresh event"; static const WCHAR szLocalGPForceRefreshEvent[] = L"userenv: user policy force refresh event"; +static const WCHAR szLocalGPDoneEvent[] = L"userenv: User Policy Foreground Done Event"; static const WCHAR szMachineGPApplied[] = L"Global\userenv: Machine Group Policy has been applied"; static const WCHAR szMachineGPMutex[] = L"Global\userenv: machine policy mutex"; static const WCHAR szMachineGPRefreshEvent[] = L"Global\userenv: machine policy refresh event"; static const WCHAR szMachineGPForceRefreshEvent[] = L"Global\userenv: machine policy force refresh event"; +static const WCHAR szMachineGPDoneEvent[] = L"Global\userenv: Machine Policy Foreground Done Event";
static CRITICAL_SECTION GPNotifyLock; static PGP_NOTIFY NotificationList = NULL; @@ -521,3 +523,43 @@
return Ret; } + +BOOL WINAPI +WaitForUserPolicyForegroundProcessing(VOID) +{ + HANDLE hEvent; + BOOL Ret = FALSE; + + hEvent = OpenEventW(SYNCHRONIZE, + FALSE, + szLocalGPDoneEvent); + if (hEvent != NULL) + { + Ret = WaitForSingleObject(hEvent, + INFINITE) != WAIT_FAILED; + CloseHandle(hEvent); + } + + /* return TRUE even if the mutex doesn't exist! */ + return Ret; +} + +BOOL WINAPI +WaitForMachinePolicyForegroundProcessing(VOID) +{ + HANDLE hEvent; + BOOL Ret = FALSE; + + hEvent = OpenEventW(SYNCHRONIZE, + FALSE, + szMachineGPDoneEvent); + if (hEvent != NULL) + { + Ret = WaitForSingleObject(hEvent, + INFINITE) != WAIT_FAILED; + CloseHandle(hEvent); + } + + /* return TRUE even if the mutex doesn't exist! */ + return Ret; +} _____
Modified: trunk/reactos/lib/userenv/userenv.def --- trunk/reactos/lib/userenv/userenv.def 2006-01-12 20:31:08 UTC (rev 20812) +++ trunk/reactos/lib/userenv/userenv.def 2006-01-12 20:32:44 UTC (rev 20813) @@ -38,4 +38,6 @@
RegisterGPNotification@8 UnloadUserProfile@8 UnregisterGPNotification@4 +WaitForUserPolicyForegroundProcessing@0 +WaitForMachinePolicyForegroundProcessing@0 ;EOF