Freigeben über


IX509CertificateTemplateWritable::Commit-Methode (certenroll.h)

Die Commit-Methode löscht eine Vorlage aus oder speichert sie in Active Directory.

Syntax

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

Parameter

[in] commitFlags

Ein CommitTemplateFlags-Enumerationswert , der angibt, wie die Vorlage gespeichert oder gelöscht werden soll. Dies muss einer der folgenden Werte sein.

Wert Bedeutung
CommitFlagSaveTemplateGenerateOID
Speichern Sie die Vorlage, und erstellen Sie einen Objektbezeichner für sie.
CommitFlagSaveTemplateUseCurrentOID
Wird nicht verwendet.
CommitFlagSaveTemplateOverwrite
Wird nicht verwendet.
CommitFlagDeleteTemplate
Löschen Sie die Vorlage.

[in] strServerContext

Eine BSTR-Variable , die den DNS-Namen des Active Directory-Servers enthält, auf den die Änderungen angewendet werden. Wenn dieser Wert NULL ist, werden die Änderungen auf den Standarddomänencontroller angewendet.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion S_OK zurück.

Wenn die Funktion fehlschlägt, gibt sie einen HRESULT-Wert zurück, der den Fehler angibt. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.

Rückgabecode Beschreibung
CRYPT_E_EXISTS
CommitFlagSaveTemplateGenerateOID wurde im commitFlags-Argument angegeben, aber eine Vorlage mit einem übereinstimmenden allgemeinen Namen oder einem übereinstimmenden Objektbezeichner (OID) ist bereits vorhanden.
CRYPT_E_NOT_FOUND
CommitFlagDelete wurde im commitFlags-Argument angegeben, und es wurde eine Vorlage mit dem gleichen allgemeinen Namen gefunden, aber die OID stimmte nicht überein.
E_ACCESSDEINED
Der Aufrufer verfügt nicht über die entsprechende Berechtigung zum Speichern oder Löschen einer Vorlage. Der Aufrufer muss über die Schreib- und Löschberechtigung für den Vorlagencontainer und die Vorlagenobjekte in Active Directory verfügen. Wenn der Aufrufer über die Löschberechtigung für den Vorlagencontainer und die Objekte verfügt, aber nicht über die Löschberechtigung für den OID-Container und die -Objekte verfügt, wird die Vorlage gelöscht, die OID jedoch nicht.
E_NOTIMPL
Entweder CommitFlagSaveTemplateUseCurrentOID oder CommitFlagSaveTemplateOverwrite wurde im commitFlags-Argument angegeben. Diese Werte werden derzeit nicht verwendet.
HRESULT_FROM_WIN32(ERROR_NOT_FOUND)
CommitFlagDelete wurde im commitFlags-Argument angegeben, aber eine Vorlage mit einem übereinstimmenden Common Name (CN) konnte nicht gefunden werden.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
Die Commit-Methode wird für Standardvorlagen nicht unterstützt.
OLE_E_BLANK
Das IX509CertificateTemplateWritable-Objekt wurde nicht initialisiert.

Hinweise

Wenn CommitFlagSaveTemplateGenerateOID im commitFlags-Argument angegeben wird, ist diese Methode nur erfolgreich, wenn die Vorlagen- und OID-Container bereits erstellt wurden. Diese Container können auf eine der folgenden Arten erstellt werden:

  • Installieren einer Unternehmenszertifizierungsstelle auf dem Server.
  • Starten des Certtmpl.msc-Snap-Ins.
  • Verwenden Sie den Certutil.exe -installDefaultTemplates-Befehl , um die Standardvorlagen zu installieren.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile certenroll.h

Weitere Informationen

IX509CertificateTemplateWritable