ICertPolicy2-Schnittstelle (certpol.h)

Die ICertPolicy2-Schnittstelle ist eine von zwei Schnittstellen, die die Kommunikation zwischen der Certificate Services-Server-Engine und dem Richtlinienmodul ermöglichen.

Hinweis Das Richtlinienmodul kann über die ICertServerPolicy-Schnittstelle mit der Certificate Services-Server-Engine kommunizieren.
 
Das Zertifikatdienste-Servermodul ruft die ICertPolicy2-Methoden auf, um die folgenden Aufgaben auszuführen:
  • Initialisieren Sie das Richtlinienmodul.
  • Benachrichtigen Sie das Richtlinienmodul, dass eine neue Anforderung in das System eingedrungen ist. Das Richtlinienmodul kann dann die Methoden der ICertServerPolicy-Schnittstelle verwenden, um anzugeben, dass die Anforderung gut ist und ausgegeben werden sollte, schlecht ist und abgelehnt werden sollte oder zur späteren Prüfung gehalten werden sollte.
  • Rufen Sie eine Beschreibung des Richtlinienmoduls und seiner Funktionalität ab.
  • Benachrichtigen Sie das Richtlinienmodul, dass der Zertifikatdiensteserver beendet wird.

Certificate Services-Schnittstellen unterstützen sowohl Apartmentthreading- als auch Free-Threading-Modelle. Für einen besseren Durchsatz wird freies Threading empfohlen.

Vererbung

Die ICertPolicy2-Schnittstelle erbt von ICertPolicy und IDispatch. ICertPolicy2 verfügt auch über die folgenden Membertypen:

Methoden

Die ICertPolicy2-Schnittstelle verfügt über diese Methoden.

 
ICertPolicy2::GetManageModule

Ruft die der ICertPolicy2-Schnittstelle zugeordnete ICertManageModule-Schnittstelle ab, indem GetManageModule aufgerufen und die Adresse eines Zeigers an ein ICertManageModule übergeben wird.

Hinweise

Implementierer von ICertPolicy sollten auch ICertManageModule implementieren. Darüber hinaus muss die ProgID für eine Klasse, die ICertPolicy implementiert, einer Benennungskonvention entsprechen. Insbesondere muss die ProgID folgende Form aufweisen:

"MyApp. Richtlinie"

Wobei MyApp ein Bezeichner ist, der die Anwendung identifiziert. In C++ kann beispielsweise Folgendes im DECLARE_REGISTRY Makro einer Klasse (CMyCertPolicyModule) verwendet werden, die ICertPolicy implementiert.

DECLARE_REGISTRY(
    CMyCertPolicyModule,
    L"MyCode.Policy.1",
    L"MyCode.Policy",
    IDS_CERTPOLICYMODULE_DESC,
    THREADFLAGS_BOTH);

Im vorherigen Beispiel ist der wert IDS_CERTPOLICYMODULE_DESC ein anwendungsspezifischer Bezeichner in der Ressourcendatei (.rc) für eine Zeichenfolge, die die -Klasse beschreibt.

Zeichenfolgenkonstanten, die in Certmod.h definiert sind, können verwendet werden, um die Anwendung der Benennungskonvention zu vereinfachen.

Konstante Wert
wszCERTPOLICYMODULE_POSTFIX TEXT(". Richtlinie")
 

Es kann nicht mehr als ein Visual Basic Scripting Edition-Richtlinienmodul gleichzeitig auf dem Certificate Services-Server registriert werden. Wenn mehr als ein solches Richtlinienmodul auf dem Zertifikatdiensteserver registriert ist, kann das MMC-Snap-In der Zertifizierungsstelle, die Zertifikatdiensteanwendung oder das Certutil-Tool Fehler verursachen. Beachten Sie, dass die Visual Basic Scripting Edition-Entwicklungsumgebung eine DLL automatisch registriert, wenn sie erfolgreich erstellt wurde. Daher kann diese Situation auftreten, wenn ein Visual Basic Scripting Edition-Richtlinienmodul bereits registriert ist und ein anderes Visual Basic Scripting Edition-Richtlinienmodul erstellt wird. Um diese Situation zu vermeiden, müssen Sie die Registrierung eines der Visual Basic Scripting Edition-Richtlinienmodule aufheben, indem Sie die Befehlszeilenanweisung regsvr32 /u FileName.dllverwenden, wobei FileName.dll der Name des Visual Basic Scripting Edition-Richtlinienmoduls ist, das Sie nicht aktivieren möchten.

Implementierer von ICertPolicy in Visual Basic Scripting Edition müssen ihr Projekt in folgendem Format benennen:

"MyApp"

Wobei MyApp ein Bezeichner ist, der die Anwendung identifiziert; Darüber hinaus muss die Klasse, die ICertPolicy implementiert, den Namen "Policy" haben.

Anforderungen

   
Unterstützte Mindestversion (Client) Nicht unterstützt
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile certpol.h (include Certsrv.h)