Interfaz ICertExit (certexit.h)
La interfaz ICertExit proporciona comunicaciones entre el servidor de Servicios de certificados y un módulo de salida.
- Inicialice el servidor de Servicios de certificados.
- Notifique al módulo de salida de un evento como la emisión de certificados, la emisión de la lista de revocación de certificados (CRL) o el apagado del servidor.
- Recupere una descripción del módulo de salida.
ICertExit se define en Certexit.h. Sin embargo, al crear el programa, use Certsrv.h como archivo de inclusión.
Las interfaces de Servicios de certificados admiten modelos de subprocesos de apartamento y subprocesos libres. Para mejorar el rendimiento, se recomienda el subproceso libre.
Herencia
La interfaz ICertExit hereda de la interfaz IDispatch . ICertExit también tiene estos tipos de miembros:
Métodos
La interfaz ICertExit tiene estos métodos.
ICertExit::GetDescription Devuelve una descripción legible del módulo de salida y su función. |
ICertExit::Initialize Lo llama el motor de servidor cuando se inicializa a sí mismo. |
ICertExit::Notify Llamado por el motor de servidor para notificar a un módulo de salida que se ha producido un evento. |
Comentarios
Los implementadores de ICertExit también deben implementar ICertManageModule. Además, el ProgID de una clase que implementa ICertExit debe cumplir una convención de nomenclatura. En concreto, el ProgID debe tener el formato :
"MyApp. Salir"
Donde MyApp es un especificador que identifica la aplicación. Por ejemplo, en C++, el código siguiente se podría usar en la macro DECLARE_REGISTRY de una clase (CMyCertExitModule) que implementa ICertExit.
DECLARE_REGISTRY(
CMyCertExitModule,
L"MyCode.Exit.1",
L"MyCode.Exit",
IDS_CERTEXITMODULE_DESC,
THREADFLAGS_BOTH)
En el ejemplo anterior, el valor IDS_CERTEXITMODULE_DESC es un identificador específico de la aplicación en el archivo de recursos (.rc) de una cadena que describe la clase .
Las constantes de cadena definidas en Certmod.h se pueden usar para simplificar el seguimiento de la convención de nomenclatura.
Constante | Valor |
---|---|
wszCERTEXITMODULE_POSTFIX | TEXT(". Salir") |
No se puede registrar más de un módulo de salida de Visual Basic Scripting Edition en el servidor de Certificate Services a la vez. Si se registra más de un módulo de salida de Visual Basic Scripting Edition, el complemento MMC de entidad de certificación, la aplicación Certificate Services o el programa de línea de comandos certutil pueden producir errores. Tenga en cuenta que el entorno de desarrollo de Visual Basic Scripting Edition registra automáticamente un archivo DLL cuando se compila correctamente. Como resultado, puede encontrarse con esta situación cuando un módulo de salida de Visual Basic Scripting Edition ya está registrado y se crea otro módulo de salida de Visual Basic Scripting Edition. Para evitar esta situación, debe anular el registro de uno de los módulos de salida de Visual Basic Scripting Edition, mediante la instrucción de línea de comandos regsvr32 /u FileName.dll, donde FileName.dll es el nombre del módulo de salida visual Basic Scripting Edition que no está pensado para activarse.
Los implementadores de ICertExit en Visual Basic Scripting Edition deben asignar un nombre al proyecto con el formato siguiente:
"MyApp"
Donde MyApp es un especificador que identifica la aplicación; además, la clase que implementa ICertExit debe denominarse "Exit".
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | No se admite ninguno |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | certexit.h (incluya Certsrv.h) |