Condividi tramite


Interfaccia ICertPolicy2 (certpol.h)

L'interfaccia ICertPolicy2 è una delle due interfacce che forniscono comunicazioni tra il motore del server servizi certificati e il modulo dei criteri.

Nota Il modulo criteri può comunicare con il motore del server di Servizi certificati tramite l'interfaccia ICertServerPolicy .
 
Il motore del server Servizi certificati chiama i metodi ICertPolicy2 per eseguire le attività seguenti:
  • Inizializzare il modulo criteri.
  • Notificare al modulo criteri che una nuova richiesta ha immesso il sistema. Il modulo dei criteri può quindi usare i metodi dell'interfaccia ICertServerPolicy per indicare che la richiesta è valida e deve essere inviata, non è valida e deve essere negata o deve essere tenuta in considerazione in un secondo momento.
  • Recuperare una descrizione del modulo criteri e delle relative funzionalità.
  • Notificare al modulo criteri che il server servizi certificati è in corso di terminazione.

Le interfacce di Servizi certificati supportano sia modelli di threading apartment che di threading libero. Per una migliore velocità effettiva, è consigliabile usare il threading gratuito.

Ereditarietà

L'interfaccia ICertPolicy2 eredita da ICertPolicy e IDispatch. ICertPolicy2 include anche questi tipi di membri:

Metodi

L'interfaccia ICertPolicy2 include questi metodi.

 
ICertPolicy2::GetManageModule

Recupera l'interfaccia ICertManageModule associata all'interfaccia ICertPolicy2 chiamando GetManageModule e passando l'indirizzo di un puntatore a un ICertManageModule.

Commenti

Gli implementatori di ICertPolicy devono implementare anche ICertManageModule. Inoltre, il ProgID per una classe che implementa ICertPolicy deve essere conforme a una convenzione di denominazione. In particolare, il ProgID deve essere nel formato seguente:

"MyApp. Criteri"

Dove MyApp è un identificatore che identifica l'applicazione. In C++, ad esempio, è possibile usare quanto segue nella macro DECLARE_REGISTRY di una classe (CMyCertPolicyModule) che implementa ICertPolicy.

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

Per l'esempio precedente, il valore IDS_CERTPOLICYMODULE_DESC è un identificatore specifico dell'applicazione nel file di risorse (rc) per una stringa che descrive la classe .

Le costanti stringa definite in Certmod.h possono essere usate per semplificare la procedura di denominazione.

Costante Valore
wszCERTPOLICYMODULE_POSTFIX TEXT(". Criterio")
 

Non è possibile registrare più di un modulo criteri di Visual Basic Scripting Edition nel server servizi certificati contemporaneamente. Se più moduli di criteri di questo tipo sono registrati nel server Servizi certificati, lo snap-in MMC autorità di certificazione, l'applicazione Servizi certificati o lo strumento Certutil possono generare errori. Si noti che l'ambiente di sviluppo visual Basic Scripting Edition registra automaticamente una DLL quando viene compilata correttamente. Di conseguenza, è possibile che si verifichi questa situazione quando un modulo criteri di Visual Basic Scripting Edition è già registrato e viene creato un altro modulo di criteri di Visual Basic Scripting Edition. Per evitare questa situazione, è necessario annullare la registrazione di uno dei moduli dei criteri di Visual Basic Scripting Edition usando l'istruzione della riga di comando regsvr32 /u FileName.dll, dove FileName.dll è il nome del modulo criteri visual Basic Scripting Edition che non si intende rendere attivo.

Gli implementatori di ICertPolicy in Visual Basic Scripting Edition devono denominare il progetto nel formato :

"MyApp"

Dove MyApp è un identificatore che identifica l'applicazione; inoltre, la classe che implementa ICertPolicy deve essere denominata"Policy".

Requisiti

   
Client minimo supportato Nessuno supportato
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione certpol.h (include Certsrv.h)