Skip to content

Latest commit

 

History

History
125 lines (95 loc) · 4.94 KB

nn-certexit-icertexit.md

File metadata and controls

125 lines (95 loc) · 4.94 KB
UID title description helpviewer_keywords old-location tech.root ms.assetid ms.date ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames req.redist ms.custom f1_keywords dev_langs topic_type api_type api_location api_name
NN:certexit.ICertExit
ICertExit (certexit.h)
Provides communications between the Certificate Services server and an exit module.
ICertExit
ICertExit interface [Security]
ICertExit interface [Security]
described
_certsrv_icertexit
certexit/ICertExit
security.icertexit
security\icertexit.htm
security
731c4f3c-20b4-4f3d-8241-a94cdf656fe5
12/05/2018
ICertExit, ICertExit interface [Security], ICertExit interface [Security],described, _certsrv_icertexit, certexit/ICertExit, security.icertexit
certexit.h
Certsrv.h
Windows
None supported
Windows Server 2003 [desktop apps only]
Windows
19H1
ICertExit
certexit/ICertExit
c++
APIRef
kbSyntax
COM
Certexit.h
ICertExit

ICertExit interface

-description

The ICertExit interface provides communications between the Certificate Services server and an exit module.

Note  The exit module can communicate with the Certificate Services server by using the ICertServerExit interface.
 
The Certificate Services server calls the ICertExit methods to perform the following tasks:
  • Initialize the Certificate Services server.
  • Notify the exit module of an event such as certificate issuance, certificate revocation list (CRL) issuance, or server shutdown, has occurred.
  • Retrieve a description of the exit module.

ICertExit is defined in Certexit.h. When you create your program, however, use Certsrv.h as the include file.

Certificate Services interfaces support both apartment-threading and free-threading models. For better throughput, free threading is recommended.

-inheritance

The ICertExit interface inherits from the IDispatch interface. ICertExit also has these types of members:

-remarks

Implementers of ICertExit should also implement ICertManageModule. Additionally, the ProgID for a class implementing ICertExit must conform to a naming convention. Specifically, the ProgID must be of the form:

"MyApp.Exit"

Where MyApp is a specifier that identifies the application. For example, in C++, the following code could be used in the DECLARE_REGISTRY macro of a class (CMyCertExitModule) which implements ICertExit.

DECLARE_REGISTRY(
    CMyCertExitModule,
    L"MyCode.Exit.1",
    L"MyCode.Exit",
    IDS_CERTEXITMODULE_DESC,
    THREADFLAGS_BOTH)

For the previous sample, the IDS_CERTEXITMODULE_DESC value is an application-specific identifier in the resource file (.rc) for a string that describes the class.

String constants defined in Certmod.h can be used to simplify following the naming convention.

Constant Value
wszCERTEXITMODULE_POSTFIX TEXT(".Exit")
 

No more than one Visual Basic Scripting Edition exit module may be registered on the Certificate Services server at one time. If more than one Visual Basic Scripting Edition exit module is registered, the Certification Authority MMC snap-in, Certificate Services application, or certutil command line program may produce errors. Note that the Visual Basic Scripting Edition development environment automatically registers a DLL when it is successfully built. As a result, you may encounter this situation when one Visual Basic Scripting Edition exit module is already registered and another Visual Basic Scripting Edition exit module is created. To avoid this situation, you must unregister one of the Visual Basic Scripting Edition exit modules, by means of the command-line instruction regsvr32 /u FileName.dll, where FileName.dll is the name of the Visual Basic Scripting Edition exit module that is not intended to be made active.

Implementers of ICertExit in Visual Basic Scripting Edition must name their project in the form:

"MyApp"

Where MyApp is a specifier that identifies the application; further, the class implementing ICertExit must be named "Exit".

-see-also

ICertServerExit

IDispatch