Método IX509CertificateTemplateWritable::Commit (certenroll.h)
O método Commit exclui um modelo ou o salva no Active Directory.
Sintaxe
HRESULT Commit(
[in] CommitTemplateFlags commitFlags,
[in] BSTR strServerContext
);
Parâmetros
[in] commitFlags
Um valor de enumeração CommitTemplateFlags que especifica como salvar ou excluir o modelo. Esse deve ser um dos valores a seguir.
[in] strServerContext
Uma variável BSTR que contém o nome DNS do servidor do Active Directory ao qual as alterações serão aplicadas. Se esse valor for NULL, as alterações serão aplicadas ao controlador de domínio padrão.
Retornar valor
Se a função for bem-sucedida, a função retornará S_OK.
Se a função falhar, ela retornará um valor HRESULT que indica o erro. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.
Código de retorno | Descrição |
---|---|
|
CommitFlagSaveTemplateGenerateOID foi especificado no argumento commitFlags , mas já existe um modelo com um nome comum correspondente ou um OID (identificador de objeto) correspondente. |
|
CommitFlagDelete foi especificado no argumento commitFlags e um modelo com o mesmo Nome Comum foi encontrado, mas o OID não correspondeu. |
|
O chamador não tem a permissão apropriada para salvar ou excluir um modelo. O chamador deve ter permissão de gravação e exclusão no contêiner de modelo e nos objetos de modelo no Active Directory. Se o chamador tiver permissão de exclusão no contêiner de modelo e nos objetos, mas não tiver permissão de exclusão no contêiner e nos objetos OID, o modelo será excluído, mas o OID não será. |
|
CommitFlagSaveTemplateUseCurrentOID ou CommitFlagSaveTemplateOverwrite foi especificado no argumento commitFlags. Esses valores não são usados no momento. |
|
CommitFlagDelete foi especificado no argumento commitFlags , mas não foi possível encontrar um modelo com um CN (Nome Comum) correspondente. |
|
Não há suporte para o método Commit para modelos padrão. |
|
O objeto IX509CertificateTemplateWritable não foi inicializado. |
Comentários
Quando CommitFlagSaveTemplateGenerateOID for especificado no argumento commitFlags , esse método não terá êxito, a menos que o modelo e os contêineres OID já tenham sido criados. Esses contêineres podem ser criados de qualquer uma das seguintes maneiras:
- Instalando uma autoridade de certificação corporativa no servidor.
- Iniciando o snap-in Certtmpl.msc.
- Usando o comando Certutil.exe -installDefaultTemplates para instalar os modelos padrão.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | certenroll.h |