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. |