Hi,
eigentlich ja. Es ist imo möglich einen CP für Vista in Delphi zu schreiben.
Wenn man sich den
Code für den Artikel
http://msdn.microsoft.com/de-de/magazine/cc163489.aspx ansieht, dann sieht man, dass es sich um eine
COM-
DLL handelt.
Du musst dazu einfach die credentialprovider.h übersetzen, oder aus der "credentialprovider.idl" (siehe WinSDK) eine TLB Datei generieren, die von Delphi als
ActiveX Lib importiert (also zur
Pas-Datei konvertiert) werden kann.
In Delphi kann man recht einfach eine
COM-
DLL (d.h. Active-X Bibliothek) erstellen und dann die interfaces von CP implementieren (und abgeleitet von TInterfacedObject, TComObject oder TTypedComObject).
Ich denke, dass dies ziemlich gut gehen sollte. Die paar Quelltexte aus dem Link oben scheinen nicht allzu kompliziert zu sein, wenn man etwas Ahnung von
COM und
WinAPI sowie C++ hat. Daran liegt wohl auch schon der Haken. Du kannst nicht einfach das Beispiel von oben nehmen und es anpassen, sondern musst dies erst einmal übersetzen und sehen, ob dein Delphicode so überhaupt funktioniert, bevor du eigene Funktionen einbaust.
Es hat sich gezeigt, dass viele Leute Probleme bei Zeigern und Speichernutzung haben und diese falsch in Delphi implementieren (
Access Violation, Buffer Overflow)
Es ist keine leichte Aufgabe!
BTW: Wenn du dieses Unternehmung durchführen willst, wäre es super, wenn du dies für das
JEDI API Projekt tun könntest. Dies wäre für die Gemeinschaft. Ich würde in diesem Fall als Berater dir zur Seite stehen und Fragen (soweit möglich) beantworten. Dir die Arbeit abnehmen kann ich allerdings nicht.