Функция EnterCriticalPolicySection (userenv.h)
Функция EnterCriticalPolicySection приостанавливает применение политики, чтобы разрешить приложениям безопасно считывать параметры политики. Приложения вызывают эту функцию, если они считывают несколько записей политики и должны убедиться, что параметры не изменяются во время чтения. Этот мьютекс защищает обработку групповая политика для всех клиентских расширений, хранящихся в объекте групповая политика (GPO).
Синтаксис
USERENVAPI HANDLE EnterCriticalPolicySection(
[in] BOOL bMachine
);
Параметры
[in] bMachine
Значение типа , указывающее, следует ли останавливать применение политики компьютера или политики пользователя. Если это значение равно TRUE, система перестает применять политику компьютера. Если это значение равно FALSE, система перестает применять политику пользователя.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение является дескриптором для раздела политики.
Если функция завершается сбоем, возвращается значение NULL. Чтобы получить расширенные сведения об ошибке, вызовите функцию GetLastError .
Комментарии
Максимальное время, в течение которого приложение может содержать критически важный раздел, составляет 10 минут. Через 10 минут система освобождает критически важный раздел, и политика может быть применена снова.
Чтобы получить объекты раздела "Компьютер" и "Критически важный для пользователя", получите объект раздела "Критически важный для пользователя" перед получением объекта раздела "Критически важный компьютер". Это поможет предотвратить взаимоблокировку.
Чтобы закрыть дескриптор, вызовите функцию LeaveCriticalPolicySection . Дескриптор раздела политики не может использоваться ни в каких других функциях Windows.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | userenv.h |
Библиотека | Userenv.lib |
DLL | Userenv.dll |