EnterCriticalPolicySection-Funktion (userenv.h)
Die EnterCriticalPolicySection-Funktion hält die Anwendung der Richtlinie an, damit Anwendungen Richtlinieneinstellungen sicher lesen können. Anwendungen rufen diese Funktion auf, wenn sie mehrere Richtlinieneinträge lesen und sicherstellen müssen, dass die Einstellungen beim Lesen nicht geändert werden. Dieser Mutex schützt Gruppenrichtlinie Verarbeitung für alle clientseitigen Erweiterungen, die in einem Gruppenrichtlinie Object (GPO) gespeichert sind.
Syntax
USERENVAPI HANDLE EnterCriticalPolicySection(
[in] BOOL bMachine
);
Parameter
[in] bMachine
Ein Wert, der angibt, ob die Anwendung der Computer- oder Benutzerrichtlinie beendet werden soll. Wenn dieser Wert TRUE ist, wird die Anwendung der Computerrichtlinie vom System beendet. Wenn dieser Wert FALSE ist, wird die Anwendung der Benutzerrichtlinie vom System beendet.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Handle für einen Richtlinienabschnitt.
Wenn bei der Funktion ein Fehler auftritt, ist der Rückgabewert NULL. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie die GetLastError-Funktion auf.
Hinweise
Die maximale Zeitspanne, die eine Anwendung für einen kritischen Abschnitt halten kann, beträgt 10 Minuten. Nach 10 Minuten gibt das System den kritischen Abschnitt frei, und die Richtlinie kann erneut angewendet werden.
Um sowohl die Computer- als auch die benutzerkritischen Abschnittsobjekte zu erhalten, rufen Sie das benutzerkritische Abschnittsobjekt ab, bevor Sie das computerkritische Abschnittsobjekt erwerben. Dies hilft, eine Deadlocksituation zu verhindern.
Um das Handle zu schließen, rufen Sie die LeaveCriticalPolicySection-Funktion auf. Das Richtlinienabschnittshandle kann nicht in anderen Windows-Funktionen verwendet werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista |
Unterstützte Mindestversion (Server) | Windows Server 2008 |
Zielplattform | Windows |
Kopfzeile | userenv.h |
Bibliothek | Userenv.lib |
DLL | Userenv.dll |