IX509CertificateTemplateWritable::Commit メソッド (certenroll.h)
Commit メソッドは、テンプレートを Active Directory から削除するか、Active Directory に保存します。
構文
HRESULT Commit(
[in] CommitTemplateFlags commitFlags,
[in] BSTR strServerContext
);
パラメーター
[in] commitFlags
テンプレートを保存または削除する方法を指定する CommitTemplateFlags 列挙値。 これは、次のいずれかの値である必要があります。
値 | 意味 |
---|---|
|
テンプレートを保存し、そのオブジェクト識別子を作成します。 |
|
使用されていません。 |
|
使用されていません。 |
|
テンプレートを削除します。 |
[in] strServerContext
変更が適用される Active Directory サーバーの DNS 名を含む BSTR 変数。 この値が NULL の場合、変更は既定のドメイン コントローラーに適用されます。
戻り値
関数が成功した場合、関数は S_OKを返します。
関数が失敗した場合は、エラーを示す HRESULT 値を返します。 有効な値を次の表に示しますが、これ以外にもあります。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。
リターン コード | 説明 |
---|---|
|
CommitFlagSaveTemplateGenerateOID は commitFlags 引数で指定されましたが、一致する共通名または一致するオブジェクト識別子 (OID) を持つテンプレートが既に存在します。 |
|
CommitFlagDelete が commitFlags 引数で指定され、同じ共通名を持つテンプレートが見つかりましたが、OID が一致しませんでした。 |
|
呼び出し元には、テンプレートを保存または削除するための適切なアクセス許可がありません。 呼び出し元には、Active Directory のテンプレート コンテナーとテンプレート オブジェクトに対する書き込みおよび削除のアクセス許可が必要です。 呼び出し元がテンプレート コンテナーとオブジェクトに対する削除アクセス許可を持っていて、OID コンテナーとオブジェクトに対する削除アクセス許可がない場合、テンプレートは削除されますが、OID は削除されません。 |
|
CommitFlagSaveTemplateUseCurrentOID または CommitFlagSaveTemplateOverwrite が commitFlags 引数で指定されました。 これらの値は現在使用されていません。 |
|
CommitFlagDelete が commitFlags 引数で指定されましたが、一致する共通名 (CN) を持つテンプレートが見つかりませんでした。 |
|
Commit メソッドは、既定のテンプレートではサポートされていません。 |
|
IX509CertificateTemplateWritable オブジェクトが初期化されていません。 |
注釈
CommitFlagSaveTemplateGenerateOID が commitFlags 引数に指定されている場合、テンプレートと OID コンテナーが既に作成されていない限り、このメソッドは成功しません。 これらのコンテナーは、次のいずれかの方法で作成できます。
- サーバーへのエンタープライズ証明機関のインストール。
- Certtmpl.msc スナップインの起動。
- Certutil.exe -installDefaultTemplates コマンドを使用して、既定のテンプレートをインストールします。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | certenroll.h |