IX509CertificateTemplateWritable::Commit メソッド (certenroll.h)

Commit メソッドは、テンプレートを Active Directory から削除するか、Active Directory に保存します。

構文

HRESULT Commit(
  [in] CommitTemplateFlags commitFlags,
  [in] BSTR                strServerContext
);

パラメーター

[in] commitFlags

テンプレートを保存または削除する方法を指定する CommitTemplateFlags 列挙値。 これは、次のいずれかの値である必要があります。

意味
CommitFlagSaveTemplateGenerateOID
テンプレートを保存し、そのオブジェクト識別子を作成します。
CommitFlagSaveTemplateUseCurrentOID
使用されていません。
CommitFlagSaveTemplateOverwrite
使用されていません。
CommitFlagDeleteTemplate
テンプレートを削除します。

[in] strServerContext

変更が適用される Active Directory サーバーの DNS 名を含む BSTR 変数。 この値が NULL の場合、変更は既定のドメイン コントローラーに適用されます。

戻り値

関数が成功した場合、関数は S_OKを返します。

関数が失敗した場合は、エラーを示す HRESULT 値を返します。 有効な値を次の表に示しますが、これ以外にもあります。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。

リターン コード 説明
CRYPT_E_EXISTS
CommitFlagSaveTemplateGenerateOIDcommitFlags 引数で指定されましたが、一致する共通名または一致するオブジェクト識別子 (OID) を持つテンプレートが既に存在します。
CRYPT_E_NOT_FOUND
CommitFlagDeletecommitFlags 引数で指定され、同じ共通名を持つテンプレートが見つかりましたが、OID が一致しませんでした。
E_ACCESSDEINED
呼び出し元には、テンプレートを保存または削除するための適切なアクセス許可がありません。 呼び出し元には、Active Directory のテンプレート コンテナーとテンプレート オブジェクトに対する書き込みおよび削除のアクセス許可が必要です。 呼び出し元がテンプレート コンテナーとオブジェクトに対する削除アクセス許可を持っていて、OID コンテナーとオブジェクトに対する削除アクセス許可がない場合、テンプレートは削除されますが、OID は削除されません。
E_NOTIMPL
CommitFlagSaveTemplateUseCurrentOID または CommitFlagSaveTemplateOverwritecommitFlags 引数で指定されました。 これらの値は現在使用されていません。
HRESULT_FROM_WIN32(ERROR_NOT_FOUND)
CommitFlagDeletecommitFlags 引数で指定されましたが、一致する共通名 (CN) を持つテンプレートが見つかりませんでした。
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
Commit メソッドは、既定のテンプレートではサポートされていません。
OLE_E_BLANK
IX509CertificateTemplateWritable オブジェクトが初期化されていません。

注釈

CommitFlagSaveTemplateGenerateOIDcommitFlags 引数に指定されている場合、テンプレートと OID コンテナーが既に作成されていない限り、このメソッドは成功しません。 これらのコンテナーは、次のいずれかの方法で作成できます。

  • サーバーへのエンタープライズ証明機関のインストール。
  • Certtmpl.msc スナップインの起動。
  • Certutil.exe -installDefaultTemplates コマンドを使用して、既定のテンプレートをインストールします。

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー certenroll.h

こちらもご覧ください

IX509CertificateTemplateWritable