Codedetails

In diesem Abschnitt wird der Quellcode für die Implementierung der ADSI-Beispielanbieterkomponente aufgeführt. Alle Quellcodeverweise in diesem Dokument können geändert werden und sind im Beispielcodeverzeichnis verfügbar, das im ADSI SDK enthalten ist.

Hinweis

Die IADs-Methoden GetEx und PutEx sind in der ADSI-Beispielanbieterkomponente nicht implementiert. Das bedeutet, dass Code, der Active Directory-Objekte implementiert, die von IADs erben, keine GetEx- und PutEx-Methoden hat. Dazu gehören das Schemaklassenobjekt, das IADsClass unterstützt,das Eigenschaftenobjekt, das IADsPropertyunterstützt, das generische Active Directory-Objekt, das IADs unterstützt, und jedes Containerobjekt, das IADsContainer unterstützt. Darüber hinaus sind Syntaxobjekte in der Beispielanbieterkomponente nicht vorhanden. Die ADSI-Architektur erfordert jedoch, dass die Syntaxobjekte im Schemacontainerobjekt enthalten sind, genau wie die Schemaklasse und die Eigenschaftenobjekte.

In der folgenden Tabelle sind Quellcodedateien aufgeführt, die im Beispielverzeichnis des Anbieters im Active Directory Service Interfaces SDK enthalten sind.

Quellcodedatei Beschreibung
cclsobj.cpp Schemaklassenobjektroutinen.
cdispmgr.cpp Dispatch Manager-Implementierung.
cenumns.cpp Namespaceenumerationsroutinen.
cenumsch.cpp Schemaenumerationsroutinen.
cenumobj.cpp Generische Objektenumerationsroutinen.
cenumvar.cpp Basisimplementierung für abgeleitete xxxEnumVariant-Klassen.
cgenobj.cpp Generische Objektroutinen.
cnamcf.cpp Namespaceklassen-Factoryroutinen.
cnamesp.cpp Namespaceobjektroutinen.
common.cpp Code, der allen Anbieterobjekten gemeinsam ist.
core.cpp Implementierungen für "Core"-Eigenschaften, die von allen Active Directory-Objekten gemeinsam genutzt werden.
cprops.cpp Eigenschaftencachefeatures.
cprov.cpp Anbieterobjektroutinen der obersten Ebene.
cprovcf.cpp Factoryroutinen der Anbieterobjektklasse der obersten Ebene.
cprpobj.cpp Eigenschaftenobjektroutinen.
cschobj.cpp Schemaobjektroutinen.
getobj.cpp GetObject-Feature.
globals.cpp Globale AdsI-Beispielanbieterkomponenten.
guid.cpp Beispielanbieterkomponenten-CLSIDs und LIBIDs.
libmain.cpp Libmain für adssmp.dll.
memory.cpp Beispielroutinen für die Speicherverwaltung von Anbieterkomponenten.
pack.cpp Beispiel für das Packen/Entpacken von Daten von Anbieterkomponenten in VARIANTs.
parse.cpp Pfadparsing für den Namespace der Anbieterkomponente.
property.cpp Get and Put properties by name (Eigenschaften nach Namen erhalten und festlegen).
object.cpp Beispielcode für die Liste der Anbieterkomponentenobjekttypen für die Filterung.
regdsapi.cpp Beispielanbieterkomponenten-Registrierungsverzeichnisdienst-APIs.
smpoper.cpp Datenkonvertierungsroutinen.
stdfact.cpp IClassFactory-Standardimplementierung.
adssmp.inf Beispiel für Verzeichnisdatenspeicher-Registrierungsdaten. Weitere Informationen finden Sie unter Installieren der Beispielanbieterkomponente.