Partager via


IX509CertificateTemplateWritable ::Commit, méthode (certenroll.h)

La méthode Commit supprime un modèle de ou l’enregistre dans Active Directory.

Syntaxe

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

Paramètres

[in] commitFlags

Valeur d’énumération CommitTemplateFlags qui spécifie comment enregistrer ou supprimer le modèle. Il doit s’agir de l’une des valeurs suivantes.

Valeur Signification
CommitFlagSaveTemplateGenerateOID
Enregistrez le modèle et créez un identificateur d’objet pour celui-ci.
CommitFlagSaveTemplateUseCurrentOID
Non utilisé.
CommitFlagSaveTemplateOverwrite
Non utilisé.
CommitFlagDeleteTemplate
Supprimez le modèle.

[in] strServerContext

Variable BSTR qui contient le nom DNS du serveur Active Directory auquel les modifications seront appliquées. Si cette valeur est NULL, les modifications sont appliquées au contrôleur de domaine par défaut.

Valeur retournée

Si la fonction réussit, la fonction retourne S_OK.

Si la fonction échoue, elle retourne une valeur HRESULT qui indique l’erreur. Les valeurs possibles sont notamment celles figurant dans le tableau suivant. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

Code de retour Description
CRYPT_E_EXISTS
CommitFlagSaveTemplateGenerateOID a été spécifié dans l’argument commitFlags , mais un modèle avec un nom commun correspondant ou un identificateur d’objet (OID) correspondant existe déjà.
CRYPT_E_NOT_FOUND
CommitFlagDelete a été spécifié dans l’argument commitFlags et un modèle portant le même nom commun a été trouvé, mais l’OID ne correspond pas.
E_ACCESSDEINED
L’appelant ne dispose pas de l’autorisation appropriée pour enregistrer ou supprimer un modèle. L’appelant doit disposer des autorisations d’écriture et de suppression sur le conteneur de modèle et les objets de modèle dans Active Directory. Si l’appelant dispose de l’autorisation de suppression sur le conteneur et les objets du modèle, mais qu’il n’a pas l’autorisation de suppression sur le conteneur et les objets OID, le modèle est supprimé, mais pas l’OID.
E_NOTIMPL
CommitFlagSaveTemplateUseCurrentOID ou CommitFlagSaveTemplateOverwrite a été spécifié dans l’argument commitFlags. Ces valeurs ne sont actuellement pas utilisées.
HRESULT_FROM_WIN32(ERROR_NOT_FOUND)
CommitFlagDelete a été spécifié dans l’argument commitFlags , mais un modèle avec un nom commun (CN) correspondant est introuvable.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
La méthode Commit n’est pas prise en charge pour les modèles par défaut.
OLE_E_BLANK
L’objet IX509CertificateTemplateWritable n’a pas été initialisé.

Remarques

Lorsque CommitFlagSaveTemplateGenerateOID est spécifié dans l’argument commitFlags , cette méthode n’aboutit que si le modèle et les conteneurs OID ont déjà été créés. Ces conteneurs peuvent être créés de l’une des manières suivantes :

  • Installation d’une autorité de certification d’entreprise sur le serveur.
  • Lancement du composant logiciel enfichable Certtmpl.msc.
  • Utilisation de la commande Certutil.exe -installDefaultTemplates pour installer les modèles par défaut.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête certenroll.h

Voir aussi

IX509CertificateTemplateWritable