Einzelnen Beitrag anzeigen

blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#27

Re: Tastatur/Maus-Hook: Internet Explorer stürzt wegen DLL a

  Alt 7. Dez 2008, 00:34
Zitat von Apollonius:
Ich bin mir ziemlich sicher, dass das @ falsch ist. Ich erinnere mich aber auch daran, dass ich dort einen Cast durchführen musste, weil es zwei verschiedene SecurityAttributes-Definitionen gab. Ich werde das noch einmal nachprüfen.
Irgendwie ist das alles ein bisschen unkonsistent. Es hieß, dass S... inkompatibel ist mit PS..., weswegen ich einfach den Pointer von S... genommen habe, also einfach ein @ daran gehängt. Eigentlich sollte ja der Name vor dem "P" eindeutig sein, oder? Ich habe ja lediglich einen Pointer gegeben, wo ein Pointer verlangt wurde. Das verwirrt mich irgendwie.

Zitat von Apollonius:
Die DACL musst du nur setzen, wenn du den Standard-Konstruktor von TJwSecurityDescriptor verwendest, da dieser die DACL so füllt, dass niemand Zugriff erhält. Wenn du hingegen CreateDefaultByToken verwendest und die Default-Parameter verwendest, kannst du vermutlich darauf verzichten.
Hört sich ein bisschen kompliziert an. Ich habe mit dem "nil" ein Problem: Ich denke, dass "nil" soviel wie "leere ACL-Liste" bedeutet. Und da Windows bei Dateirechten die Regel Deny-Before-Allow verwendet, müsste eine leere Liste einen Zweifelsfall darstellen (in diesem Fall einen nicht definierten Fall 0-0), bei dem Windows sich für Deny entscheiden muss (deswegen vielleicht der Fehler "mapping file could not be accessed"?)

Zitat von Apollonius:
Beim Aufruf von SetMandatoryLabel sind die Besitzverhältnisse nicht richtig. Durch cfPointAtInstance drückst du aus, dass die Instanz ACE direkt speichern soll. Durch das nachfolgende Free ziehst du ihr ihr den Eintrag unter den Füßen weg. Am besten lässt du einfach das Free weg und setzt OwnsObjects auf True (ich weiß nicht, ob das der Standard ist).
OK, probiere ich mal aus. Die Fehlermeldung kommt aber auch ohne Verwendung von ACE.

Zitat von Apollonius:
Soweit ich das weiß, sind Mandatory Label und Integrity Label tatsächlich Synonyme.
Denke ich auch. Aber irgendwie scheint etwas mit deiner vorherigen Beschreibung von niedrigen Integrity-Labels falsch zu sein. Eventuell ist das Mandatory Label der Kehrwert der I-Labels. Bei den M-Labels gibt es nämlich die Stufen Untrusted..Low.....High, was ja eigentlich bedeutet, wenn ich möchte, dass meine Anwendung mit IE kommuniziert brauche ich ja eigentlich kein niedriges Label, sondern ein hohes. (Eventuell entspricht ein niedriges M-Label einenem hohem I-Level)
Daniel Marschall
  Mit Zitat antworten Zitat