void * CSSMAPI CSSM_TP_PassThrough (CSSM_TP_HANDLE TPHandle, CSSM_CL_HANDLE CLHandle, CSSM_CSP_HANDLE CSPHandle, const CSSM_DL_DB_LIST_PTR DBList, uint32 PassThroughId, const void *InputParams)
This function allows applications to call trust policy module-specific operations that have been exported. Such operations may include queries or services specific to the domain represented by the TP module.
- TPHandle (input)
The handle that describes the add-in trust policy module used to perform this function.
- CLHandle (input/optional)
The handle that describes the add-in certificate library module that can be used to manipulate the subject certificate and anchor certificates. If no certificate library module is specified, the TP module uses an assumed CL module, if required.
- CSPHandle (input/optional)
The handle that describes the add-in cryptographic service provider module that can be used to perform cryptographic operations as required to perform the requested operation. If no CSP module is specified, the TP module uses an assumed CSP module, if required.
- DBList (input/optional)
A list of handle pairs specifying a data storage library module and a data store managed by that module. These data stores can contain certificates that might be effected by the CRL, they may contain CRLs, or both. If no DL and DB handle pairs are specified, the TP module can use an assumed DL module and an assumed data store for this operation.
- PassThroughId (input)
An identifier assigned by the TP module to indicate the exported function to perform.
- InputParams (input)
A pointer to a module, implementation-specific structure containing parameters to be interpreted in a function-specific manner by the requested TP module. If the passthrough function requires access to a private key located in the CSP referenced by CSPHandle, then the InputParams should contain a passphrase, or a callback or cryptographic context that can be used to obtain the passphrase.
A pointer to an implementation-specific structure defined by the trust policy module provider. The structure contains the output from the pass-through function. The output data must be interpreted by the calling application based on externally available information. If the pointer is NULL, an error has occurred.
Invalid pointer for input data.
Invalid pass through ID.
Error in allocating memory.
Unable to perform pass through.
Function not implemented.