IX509CertificateTemplateWritable::Commit 方法 (certenroll.h)
Commit 方法會從 中刪除範本,或將其儲存至 Active Directory。
語法
HRESULT Commit(
[in] CommitTemplateFlags commitFlags,
[in] BSTR strServerContext
);
參數
[in] commitFlags
CommitTemplateFlags 列舉值,指定如何儲存或刪除範本。 這必須是下列其中一個值。
值 | 意義 |
---|---|
|
儲存範本並為其建立物件標識碼。 |
|
未使用。 |
|
未使用。 |
|
刪除範本。 |
[in] strServerContext
BSTR 變數,其中包含將套用變更之 Active Directory 伺服器的 DNS 名稱。 如果此值為 NULL,則會將變更套用至預設域控制器。
傳回值
如果函式成功,函式會傳回 S_OK。
如果函式失敗,它會傳回 指出錯誤的 HRESULT 值。 可能的值包括 (但不限於) 下表中的這些值。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值。
傳回碼 | Description |
---|---|
|
CommitFlagSaveTemplateGenerateOID 已在 commitFlags 自變數中指定,但具有相符通用名稱的範本或相符的物件標識碼 (OID) 已經存在。 |
|
CommitFlagDelete 是在 commitFlags 自變數中指定,而且找到具有相同通用名稱的範本,但 OID 不相符。 |
|
呼叫端沒有儲存或刪除範本的適當許可權。 呼叫端必須具有 Active Directory 中範本容器和範本物件的寫入和刪除許可權。 如果呼叫端具有範本容器和對象的刪除許可權,但沒有 OID 容器和物件的刪除許可權,則會刪除範本,但不會刪除 OID。 |
|
CommitFlagSaveTemplateUseCurrentOID 或 CommitFlagSaveTemplateOverwrite 是在 commitFlags 自變數中指定。 目前未使用這些值。 |
|
CommitFlagDelete 已在 commitFlags 自變數中指定,但找不到具有相符的一般名稱 (CN) 的範本。 |
|
默認範本不支援 Commit 方法。 |
|
尚未初始化 IX509CertificateTemplateWritable 物件。 |
備註
在 commitFlags 自變數中指定 CommitFlagSaveTemplateGenerateOID 時,除非已建立範本和 OID 容器,否則此方法將不會成功。 這些容器可以透過下列任何方式建立:
- 在伺服器上安裝企業證書頒發機構單位。
- 啟動 Certtmpl.msc 嵌入式管理單元。
- 使用 Certutil.exe -installDefaultTemplates 命令來安裝預設範本。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | certenroll.h |