Ich würde es mit col.pAdsValues^.__MIDL_0010.OctetString.lpValue^
versuchen.
Das ist im Wesentlichen, was man da auf dem Screenshot sehen kann:
col.pAdsValues^.__MIDL_0010.OctetString.lpValue^
würde versuchen, Adresse $10 auszulesen. Dass das nicht funktioniert, kann man bereits erahnen, und tatsächlich: es fliegen einem sofort fröhlich Zugriffsverletzungen um die Ohren.
Generell halte ich dies für ein Problem bei der Delphi<->ActiveDirectory Anbindung. Die nicht String-kompatiblen Typen scheinen Probleme zu machen. Aber auch generell: eigentlich sollte man den Wert eines Attributs über col.pAdsValues^.__MIDL_0010.TypDesAttributs auslesen, und nicht über den "Umweg" col.pAdsValues^.__MIDL_0010.BackLink.Name.
Das dass bei den String-kompatiblen Typen funktioniert ist Glück. Bei Typen wie OctetString für die ObjectGUID ist BackLink.Name eben leer ('').
Ich glaube inzwischen, dass sich das, was ich tun will (gefilterte Suche auf alle Objekte einer Domain und Auslesen ua. der objectGUID für jedes Element der Ergebnismenge) derzeit nicht in Delphi möglich ist.
Ich versuche jetzt eine externe
dll zu in VisualBasic zu schreiben, die die Funktion implementiert, um diese dann von Delphi aus aufzurufen.
Habe ich zwar auch alles noch nie gemacht, aber hey, man wächst an seinen Herausforderungen