Condividi tramite


Metodo ICertExit::Initialize (certexit.h)

Il metodo Initialize viene chiamato dal motore del server quando inizializza se stesso.

La chiamata al metodo Initialize del modulo di uscita consente al modulo di uscita di eseguire l'inizializzazione e informare il motore del server di quali tipi di eventi si desidera ricevere una notifica.

Sintassi

HRESULT Initialize(
  [in]          const BSTR strConfig,
  [out, retval] LONG       *pEventMask
);

Parametri

[in] strConfig

Rappresenta il nome dell'autorità di certificazione, come immesso durante l'installazione di Servizi certificati. Per informazioni sul nome della stringa di configurazione, vedere ICertConfig2.

[out, retval] pEventMask

Puntatore al valore che rappresenta gli eventi per i quali il modulo di uscita richiede la notifica. Può trattarsi di uno o più dei valori seguenti.

Valore Significato
EXITEVENT_CERTDENIED
Certificato negato.
EXITEVENT_CERTISSUED
Certificato emesso.
EXITEVENT_CERTPENDING
Certificato in sospeso.
EXITEVENT_CERTRETRIEVEPENDING
Chiamata riuscita a RetrievePending.
EXITEVENT_CERTREVOKED
Certificato revocato.
EXITEVENT_CRLISSUED
Elenco di revoche di certificati rilasciato.
EXITEVENT_SHUTDOWN
Arresto di Servizi certificati.

Valore restituito

C++

Se il metodo ha esito positivo, il metodo restituisce S_OK e *pEventMask è impostato su una combinazione dei flag nella tabella seguente (o EXITEVENT_INVALID se il modulo di uscita non vuole ricevere alcuna notifica di eventi).

Se il metodo ha esito negativo, restituisce un valore HRESULT che indica l'errore. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.

Se il modulo di uscita non vuole ricevere una notifica di eventi, è necessario impostare il flag EXITEVENT_INVALID.

VB

Il valore restituito è una maschera che contiene flag che indicano gli eventi per i quali il modulo di uscita richiede la notifica. Dopo la chiamata, tutti gli eventi di questi tipi verranno inviati dal motore del server al modulo di uscita tramite una chiamata a Notify. È possibile impostare uno o tutti i flag seguenti.
Codice/valore restituito Descrizione
EXITEVENT_CERTDENIED
&H4
Certificato negato.
EXITEVENT_CERTISSUED
&H1
Certificato emesso.
EXITEVENT_CERTPENDING
&H2
Certificato in sospeso.
EXITEVENT_CERTRETRIEVEPENDING
&H10
Chiamata riuscita a RetrievePending.
EXITEVENT_CERTREVOKED
&H8
Certificato revocato.
EXITEVENT_CRLISSUED
&H20
Elenco di revoche di certificati rilasciato.
EXITEVENT_INVALID
0
L'evento non è attualmente valido.
EXITEVENT_SHUTDOWN
&H40
Arresto di Servizi certificati.

Commenti

Quando si scrive un modulo di uscita personalizzato, implementare questo metodo.

Esempio

#include <windows.h>
#include <stdio.h>
#include <Certexit.h>

STDMETHODIMP CCertExit::Initialize(
    /* [in] */ BSTR const strConfig,
    /* [retval][out] */ LONG __RPC_FAR *pEventMask)
{
    // Verify valid pointer passed in.
    if (NULL == pEventMask)
        return ( E_POINTER );  // Bad pointer

    // strConfig can be used by the Exit module.
    // Here, it is stored in a BSTR member variable.
    // Remember to call SysFreeString to free m_strConfig when done.
    m_strConfig = SysAllocString( strConfig );
    // Check to determine whether there was enough memory.
    if (NULL == m_strConfig)
        return ( E_OUTOFMEMORY );  // Not enough memory

    // Inform server engine (CA) that we're interested in
    // the following events.
    *pEventMask = EXITEVENT_CERTISSUED |
                  EXITEVENT_CERTPENDING |
                  EXITEVENT_CERTDENIED |
                  EXITEVENT_CERTREVOKED |
                  EXITEVENT_CERTRETRIEVEPENDING |
                  EXITEVENT_CRLISSUED |
                  EXITEVENT_SHUTDOWN;

    if ( fDebug )
    {
        printf("Exit's Initialize member called\n");
        printf("\tstrConfig = %ws\n", strConfig );
    }

    return( S_OK );
}

Requisiti

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

Vedi anche

ICertExit

ICertExit2

Notificare