Метод IX509CertificateTemplateWritable::Commit (certenroll.h)
Метод Commit удаляет шаблон из Active Directory или сохраняет его в Active Directory.
Синтаксис
HRESULT Commit(
[in] CommitTemplateFlags commitFlags,
[in] BSTR strServerContext
);
Параметры
[in] commitFlags
Значение перечисления CommitTemplateFlags , указывающее способ сохранения или удаления шаблона. Это должно быть одно из следующих значений.
[in] strServerContext
Переменная BSTR , содержащая DNS-имя сервера Active Directory, к которому будут применены изменения. Если это значение равно NULL, изменения будут применены к контроллеру домена по умолчанию.
Возвращаемое значение
Если функция завершается успешно, функция возвращает S_OK.
Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
Код возврата | Описание |
---|---|
|
CommitFlagSaveTemplateGenerateOID был указан в аргументе commitFlags , но шаблон с совпадающим общим именем или идентификатором соответствующего объекта (OID) уже существует. |
|
CommitFlagDelete был указан в аргументе commitFlags , и был найден шаблон с тем же общим именем, но OID не совпадает. |
|
Вызывающий объект не имеет соответствующего разрешения на сохранение или удаление шаблона. Вызывающий объект должен иметь разрешение на запись и удаление для контейнера шаблона и объектов шаблона в Active Directory. Если вызывающий объект имеет разрешение на удаление для контейнера шаблона и объектов, но не имеет разрешения на удаление для контейнера и объектов OID, шаблон будет удален, но OID не будет. |
|
В аргументе commitFlags был указан параметр CommitFlagSaveTemplateOverwriteUseCurrentOID или CommitFlagSaveTemplateOverwrite. Эти значения в настоящее время не используются. |
|
CommitFlagDelete был указан в аргументе commitFlags , но не удалось найти шаблон с совпадающим общим именем (CN). |
|
Метод Commit не поддерживается для шаблонов по умолчанию. |
|
Объект IX509CertificateTemplateWritable не инициализирован. |
Комментарии
Если CommitFlagSaveTemplateGenerateOID указан в аргументе commitFlags , этот метод не будет успешным, если только контейнеры шаблонов и OID уже не созданы. Эти контейнеры можно создать любым из следующих способов:
- Установка центра сертификации предприятия на сервере.
- Запуск оснастки Certtmpl.msc.
- Использование командыCertutil.exe -installDefaultTemplates для установки шаблонов по умолчанию.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | certenroll.h |