PCCTL_CONTEXT WINAPI CertDuplicateCTLContext(PCCTL_CONTEXT pCtlContext) { TRACE("(%p)\n", pCtlContext); if (pCtlContext) Context_AddRef((void *)pCtlContext, sizeof(CTL_CONTEXT)); return pCtlContext; }
PCCRL_CONTEXT WINAPI CertDuplicateCRLContext(PCCRL_CONTEXT pCrlContext) { TRACE("(%p)\n", pCrlContext); if (pCrlContext) Context_AddRef(&crl_from_ptr(pCrlContext)->base); return pCrlContext; }
context_t *Context_CreateLinkContext(unsigned int contextSize, context_t *linked, WINECRYPT_CERTSTORE *store) { context_t *context; TRACE("(%d, %p)\n", contextSize, linked); context = CryptMemAlloc(sizeof(context_t) + contextSize); if (!context) return NULL; memcpy(context_ptr(context), context_ptr(linked), contextSize); context->vtbl = linked->vtbl; context->ref = 1; context->linked = linked; context->properties = linked->properties; Context_AddRef(linked); store->vtbl->addref(store); context->store = store; TRACE("returning %p\n", context); return context; }