Forum: Win32/Win64 API (native code)
Delphi
by Rabenrecht,
26. Jun 2017
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...
Forum: Win32/Win64 API (native code)
Delphi
by Rabenrecht,
26. Jun 2017
Ok, das Problem ist größer, siehe Bild im Anhang.
der erste Wert von col.pAdsValues^ gibt den Datentyp an. 8 bedeutet ADSTYPE_OCTET_STRING. Die Property wird also gefunden.
Wie man aber sieht (rote Umkringelung) ist hinter OctetString kein Wert hinterlegt (ok, klar, ich könnte versuchen auf Adresse 10 zuzugreifen, aber ich glaube wir alle wissen, wohin das führt :-D )
So komme ich an die...
Forum: Win32/Win64 API (native code)
Delphi
by Rabenrecht,
26. Jun 2017
Hallo Alter Mann! Ich habe jetzt eine andere Lösung von dir abgekupfert, die ich in einem alten Thread gefunden habe: IDirectorySearch
Hier der relevante Teil, wie ichs jetzt implementiert habe:
SdsADGruppen.AddField(TStringField,fnADGrpName,fkData,50,false);
SdsADGruppen.AddField(TStringField,fnADGrpDescr,fkData,255,false);
...
Forum: Win32/Win64 API (native code)
Delphi
by Rabenrecht,
22. Jun 2017
Danke für den Codeausschnitt :-)
Es funktioniert, wenn ich wie in deinem Fall schreibe:
ADsGetObject( 'LDAP:', IADsContainer, NSContainer)
Angabe eines Filters hat jedoch nicht die gewünschte Wirkung. Zudem sollte ich die die Auswahl schon auf eine Domain einschränken. Dann aber ist lNumElements wieder 0.
Vielleicht versuche ich den IADsContainer in einer Weise zu verwenden, wofür...
Forum: Win32/Win64 API (native code)
Delphi
by Rabenrecht,
21. Jun 2017
Die Seite ist informativ, hat mir aber leider nicht weitergeholfen.
Auf einzelne Objekte kann ich mit LDAP auch zugreifen. Es ist also keine Frage des Connection Strings.
Wenn ich aber beim ADsGetObject IAdsContainer anstatt IADs spezifiziere, erhalte ich mit ADsEnumerateNext keine Rückgabe.
Aber: ADsEnumerateNext gibt als HRESULT 0 (=S_OK) zurück. In diesem Fall dürfte lNumElements...
Forum: Win32/Win64 API (native code)
Delphi
by Rabenrecht,
16. Jun 2017
Ich spiele gerade etwas mit Active Directory und dem Zugriff darauf von Delphi aus rum. Dazu verwende ich adshlp
Leider renne ich in ein paar Problemchen.
1. Ich scheine den LDAP-Pfad nicht richtig zu bestimmen.
function getADGruppenObjectGUIDs: TList;
var
Ergebnis :IAdsContainer;