コードの詳細
このセクションでは、ADSIサンプルプロバイダーコンポーネントの実装のソースコードを示します。 このドキュメント内のすべてのソースコード参照は変更される可能性があり、ADSI SDKに含まれているサンプルコードディレクトリにあります。
注意
IADメソッドGetExとPutExは、ADSIサンプルプロバイダーコンポーネントに実装されていません。 つまり、IADから継承するActive Directoryオブジェクトを実装するコードには、GetExメソッドとPutExメソッドがありません。 これには、IADsClassをサポートするスキーマクラスオブジェクト、IADsPropertyをサポートするプロパティオブジェクト、IADをサポートする汎用Active Directoryオブジェクト、およびIADsContainerをサポートする任意のコンテナーオブジェクトが含まれます。 また、構文オブジェクトは、サンプルプロバイダーコンポーネントには存在しません。 ただし、ADSIアーキテクチャでは、スキーマクラスおよびプロパティオブジェクトと同様に、スキーマコンテナーオブジェクトに構文オブジェクトを含める必要があります。
次の表に、Active Directory Service Interfaces SDKのプロバイダーサンプルディレクトリに含まれているソースコードファイルを示します。
ソースコードファイル | 説明 |
---|---|
cclsobj.cpp | スキーマクラスのオブジェクトルーチン。 |
cdispmgr.cpp | ディスパッチマネージャーの実装。 |
cenumns.cpp | 名前空間列挙ルーチン。 |
cenumsch.cpp | スキーマ列挙ルーチン。 |
cenumobj.cpp | 汎用オブジェクト列挙ルーチン。 |
cenumvar.cpp | xxxEnumVariant派生クラスの基本実装。 |
cgenobj.cpp | 汎用オブジェクトルーチン。 |
cnamcf.cpp | 名前空間クラスファクトリルーチン。 |
cnamesp.cpp | 名前空間オブジェクトルーチン。 |
common.cpp | すべてのプロバイダーオブジェクトに共通のコード。 |
core.cpp | すべてのActive Directoryオブジェクトによって共有される'core'プロパティの実装。 |
cprops.cpp | プロパティキャッシュ機能。 |
cprov.cpp | 最上位レベルのプロバイダーオブジェクトルーチン。 |
cprovcf.cpp | 最上位レベルのプロバイダーオブジェクトクラスファクトリルーチン。 |
cprpobj.cpp | プロパティオブジェクトルーチン。 |
cschobj.cpp | スキーマオブジェクトルーチン。 |
getobj.cpp | GetObject機能。 |
globals.cpp | ADSIプロバイダーコンポーネントのグローバルの例。 |
guid.cpp | プロバイダーコンポーネントのClsidとLIBIDの例。 |
libmain.cpp | adssmp.dllのLibmain。 |
memory.cpp | プロバイダーコンポーネントのメモリ管理ルーチンの例。 |
pack.cpp | プロバイダーコンポーネントのパック/アンパックデータのバリアントの例。 |
parse.cpp | プロバイダーコンポーネントの名前空間の例のパス解析。 |
property.cpp | 名前でプロパティを取得および配置します。 |
object.cpp | フィルター処理のためのプロバイダーコンポーネントオブジェクト型リストコードの例。 |
regdsapi.cpp | プロバイダーコンポーネントレジストリディレクトリサービスAPIの例。 |
smpoper.cpp | データ変換ルーチン。 |
stdfact.cpp | 標準のIClassFactory実装。 |
adssmp.inf | ディレクトリデータストアレジストリデータの例。 詳細については、 「サンプルプロバイダーコンポーネントのインストール」 を参照してください。 |