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 er nicht gedacht ist? Geht es nur so, wie in deinem Beispiel, also einen Connection String ohne Angabe einer Domain?
Aber wie verwendet man dann den Filter korrekt?
So geht's jedenfalls nicht:
Delphi-Quellcode:
NSContainer := nil;
ADsGetObject( 'LDAP:', IADsContainer, NSContainer);
NSContainer.Filter := VarArrayOf(['group']);
Enum := nil;
hr := ADsBuildEnumerator(NSContainer,Enum);
while SUCCEEDED(hr) do
begin
hr := ADsEnumerateNext(Enum, 1, varArr, lNumElements);
if (lNumElements<=0) then Break;
IDispatch(varArr).QueryInterface(IADs, item);
LadeGruppenDaten(item);
end;