Active Directory Domain Services でオブジェクト作成拡張機能 DLL を作成するときは、WINDOWS レジストリと Active Directory Domain Services に登録して、COM と Active Directory 管理 MMC スナップインに拡張機能を認識させる必要があります。
Windows レジストリへの登録
すべての COM サーバーと同様に、オブジェクト作成拡張機能を Windows レジストリに登録する必要があります。 拡張機能は、次のキーで登録されます。
HKEY_CLASSES_ROOT
CLSID
<extension CLSID>
InProcServer32
(Default) = <extension path>
ThreadingModel = Apartment
"<拡張 CLSID>" は、StringFromCLSID 関数によって生成される CLSID の文字列表現です。 "<拡張パス>" には、拡張 DLL のパスとファイル名が含まれます。 すべてのオブジェクト作成拡張機能の ThreadingModel 値は "Apartment" である必要があります。
Active Directory Domain Services への登録
オブジェクト作成拡張機能の登録は、1 つのロケールに固有です。 オブジェクト作成拡張機能がすべてのロケールに適用される場合は、DisplaySpecifiers コンテナー内のすべてのロケール サブコンテナー内のオブジェクト クラスの displaySpecifier オブジェクトに登録する必要があります。 オブジェクト作成拡張機能が特定のロケールにローカライズされている場合は、そのロケールのサブコンテナー内の displaySpecifier オブジェクトに登録します。 DisplaySpecifiers コンテナーとロケールの詳細については、「DisplaySpecifiers コンテナーの 表示指定子 とを参照してください。
オブジェクト作成拡張機能を登録できる DisplaySpecifier 属性は 2 つあります。 これらは creationWizard と createWizardExtです。
creationWizard 属性は、Active Directory 管理スナップインの既存のオブジェクト作成ウィザードまたはネイティブ オブジェクト作成ウィザードを置き換えるプライマリ オブジェクト作成拡張機能を識別します。プライマリ作成拡張機能は、ページの最初のセットを提供し、ネイティブ ページと同じ方法でホストされます。 この属性は単一値であり、次の形式が必要です。
<CLSID>
"<CLSID>" は、StringFromCLSID 関数によって生成される COM オブジェクトの CLSID の文字列表現です。
createWizardExt 属性は、セカンダリ オブジェクト作成拡張機能を識別します。 セカンダリ作成拡張機能は、ウィザード ページをネイティブ ページまたはプライマリ拡張機能に追加します。 この属性は複数値であり、次の形式が必要です。
<order number>,<CLSID>
"<注文番号>" は、ウィザードでのページの位置を表す符号なし番号です。 作成ウィザードが表示されると、各値の "<順序番号>" の比較を使用して値が並べ替えられます。 複数の値が同じ "<注文番号 ">場合、それらのページは Active Directory サーバーから読み取られた順序で読み込まれます。 可能であれば、「<注文番号>」のような、プロパティ内の他の値で使用されていない番号を使用する必要があります。 所定の開始位置がなく、"<注文番号>" シーケンスでギャップが許容されます。
"<CLSID>" は、StringFromCLSID 関数によって生成される COM オブジェクトの CLSID の文字列表現です。