Purpose
This
function allows applications to call TP module-specific operations
that have been exported. Such operations may include queries or services
specific to the domain represented by the TP module.
Format
void * CSSMAPI CSSM_TP_PassThrough
(CSSM_TP_HANDLE TPHandle,
CSSM_CL_HANDLE CLHandle,
CSSM_DL_HANDLE DLHandle,
CSSM_DB_HANDLE DBHandle,
CSSM_CC_HANDLE CCHandle,
uint32 PassThroughId,
const void *InputParams)
Parameters
Input
- TPHandle
- The handle that describes the TP module used to perform this function.
- PassThroughId
- An identifier assigned by the TP module to indicate the exported
function to perform.
Output
- InputParms
- A pointer to a module, implementation-specific structure containing
parameters to be interpreted in a function-specific manner by the
requested TP module.
Input/optional
- CLHandle
- The handle that describes the DL module that can be used to store
or retrieve objects (such as certificate and CRLs) related to the
subject certificate and anchor certificates. If no DL module is specified,
the TP module uses an assumed DL module, if required.
- DLHandle
- The handle that describes the DL module that can be used to store
or retrieve objects (such as certificate and CRLs) related to the
subject certificate and anchor certificates. If no DL module is specified,
the TP module uses an assumed DL module, if required.
- DBHandle
- The handle that describes the data store that can be accessed
to store or retrieve objects (such as certificate and CRLs) related
to the subject certificate and anchor certificates. If no data store
is specified, the TP module uses an assumed data store, if required.
- CCHandle
- The handle that describes the context for a cryptographic operation.
The cryptographic context specifies the handle of the CSP that must
be used to perform the operation. If no cryptographic context is
specified, the TP module uses an assumed context, if required.
Return Value
A pointer to a module, implementation-specific
structure containing the output from the passthrough 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.