Dela via


Använda IAD-gränssnitten

ADSI, varje element i en katalogtjänst representeras av ett ADSI-objekt, som är ett COM-objekt (Component Object Model) som stöder com-standardgränssnittet IUnknown samt IDispatch- och IAD:n gränssnitt. IADs tillhandahåller grundläggande underhållsfunktioner för ADSI-objekt.

Varje ADSI-objekt måste ha stöd för det här gränssnittet, som tjänar till att:

  • Ange objektidentifiering efter namn, klass eller ADsPath.
  • Identifiera den objektcontainer som hanterar skapande och borttagning av objekt.
  • Hämta objektschemadefinitionen.
  • Läs in objektattributen till egenskapscacheminnet och för in ändringar i den beständiga kataloglagringen.
  • Få åtkomst till och ändra objektattributvärdena i egenskapscacheminnet.

Gränssnittet IAD:n är utformat för att säkerställa att ADSI-objekt ger nätverksadministratörer och katalogtjänstleverantörer en effektiv och konsekvent representation av olika underliggande katalogtjänster.

adsi-objekt som stöder iads-gränssnittet

Föregående bild visar ett generiskt ADSI-objekt som stöder de grundläggande gränssnitten IAD:er, IADsPropertyList, IUnknown, IDirectoryObjectoch IDispatch. Ett ADSI-objekt som detta hanterar data från datalagret för den underliggande katalogtjänsten via de gränssnitt som stöds. Dessa data kallas egenskaperna för objektet, och de rutiner som hämtar och anger dessa egenskaper kallas egenskapsmetoder. Skrivskyddade egenskaper har en egenskapsmetod som hämtar egenskapsvärdet. Läs-/skrivegenskaper har två metoder; en metod som anger värdet och en som hämtar värdet. Egenskaper implementeras på varje ADSI-objekt med hjälp av en egenskapscache. IADs::get_ADsPath och IADs::put_ADsPath är exempel på egenskapsmetoder. Egenskapsmetoder är inte uppenbara för Visual Basic och andra automationsklienter som möjliggör direkta referenser till egenskapen. Visual Basic refererar till exempel till IAD::ADsPath- direkt med hjälp av syntaxen Object.ADsPath. Mer information finns i Interface Property Methods.

Dessutom interagerar ett ADSI-objekt med andra ADSI-objekt och direkt till ett namnområde via metoder. Metoderna exekveras omedelbart. Exempel på metoder är IAD::SetInfo och IAD::GetInfo.

Egenskaper, egenskapsmetoder och metoder används alla via COM-standardgränssnitt.

Ett ADSI-objekt identifieras unikt av dess ADsPath. En ADsPath för LDAP-namnområdet är till exempel "LDAP://MyServer/DC=Fabrikam,DC=COM". Mer information om ADsPaths finns i ADSI-bindning. För programmerare som är bekanta med COM-namn liknar detta konceptuellt COM-monikerns visningsnamn.

Alla ADSI-objekt som innehåller andra ADSI-objekt, som kallas ett ADSI-containerobjekt, stöder också IADsContainer--gränssnittet, som innehåller metoder och egenskaper som hanterar skapande, borttagning och uppräkning av ADSI-objekt som ingår i objektet. Följande bild visar ett ADSI-containerobjekt.

adsi-containerobjekt

De flesta ADSI-objekt finns i andra objekt. Det enda ADSI-objektet utan överordnad container är topnivåobjektet ADSI Namnrymder ("ADS:").

Metoden IAD::SetInfo på ett containerobjekt lagrar beständigt de cachelagrade egenskaperna för ADSI-containerobjektet till lagring utöver objekt som skapats med IADsContainer::Skapa-metoden. IADsContainer::Delete påverkar inte egenskapscacheminnet men tar bort det underliggande namnområdeskatalogelementet som representeras av detta objekt.