Hallo.
Ich brauche mal einen Ansatzpunkt für o.g. Problem. Als Beispiel dafür sei "SetSystemTime" genannt, wo wir vor einiger Zeit einen Widerspruch zwischen Borlands Hilfedatei und dem aktuellen
PSDK aufgedeckt haben:
Zitat von
Win32 Programmer´s Help:
The SetSystemTime function fails if the calling process does not have the SE_SYSTEMTIME_NAME privilege. This privilege is disabled by default. Use the AdjustTokenPrivileges function to enable this privilege and again to disable it after the time has been set.
Zitat von
PSDK:
The SetSystemTime function enables the SE_SYSTEMTIME_NAME privilege before changing the system time. This privilege is disabled by default.
Kurz gesagt: die alte Hilfedatei behauptet, man müsse (unter NT-Systemen, natürlich!) das Recht SE_SYSTEMTIME_NAME setzen, bevor man die Zeit ändern kann. Das
PSDK sagt
IMHO dagegen, dass die Funktion "SetSystemTime" dieses Recht selbst aktiviert.
Und ich tendiere zur letzten Aussage. Unter WinXP kann man dieses Recht z.B. so oft und so lange aktivieren, wie man möchte. Wenn man
nicht in der passenden Gruppe ist, darf man die Zeit auch
nicht ändern.
Bei XP sind´s standardmäßig die Admins und Hauptbenutzer, die das dürfen. Bei Win2000 dürfte es wohl ähnlich aussehen.
Lösung des Problems: "Systemsteuerung/Verwaltung/Lokale Sicherheitsrichtlinien -> Lokale Richtlinien/Zuweisen von Benutzerrechten -> Ändern der Systemzeit". Trägt man sich hier ein, bzw. die Gruppe, der man angehört, kann man die Zeit ändern
ohne vorher das Recht SE_SYSTEMTIME_NAME aktivieren zu müssen!
Frage: Wie bekommt man heraus, ob man solche Rechte hat? Das Nachschauen mit "LookupPrivilegeValue" und Co. bringt
IMHO nichts, weil ja im
PSDK steht, dass das Recht standardmäßig deaktiviert ist! Das Ergebnis wäre also zwangsläufig FALSE.
Nötig wäre eher eine Funktion, die z.B. die genannten Richtlinien ausliest, bzw. die Gruppen und Benutzer, so dass man dann einen Ansatzpunkt für einen Vergleich hätte.
Weiß da jemand was?
In der Zwischenzeit suche ich das
PSDK weiter ab ... bei "
Access Control" bin ich schon ...
Gruß.