121 ret->ctx.hCertStore = store;
188 ret->ctx.hCertStore = store;
255 ret->ctx.hCertStore = store;
264 TRACE(
"(%p, %p)\n", store, ctl);
278 TRACE(
"(%p, %08x, %d, %p)\n", store,
dwFlags, dwCtrlType,
322 ret->memStore = memStore;
325 ret->provCloseStore =
386 (
void **)&provOpenFunc, &hFunc);
391 provInfo.
cbSize =
sizeof(provInfo);
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static void * context_ptr(context_t *context)
void CRYPT_FreeStore(WINECRYPT_CERTSTORE *store) DECLSPEC_HIDDEN
void CRYPT_InitStore(WINECRYPT_CERTSTORE *store, DWORD dwFlags, CertStoreType type, const store_vtbl_t *) DECLSPEC_HIDDEN
LPVOID WINAPI CryptMemAlloc(ULONG cbSize)
HCRYPTOIDFUNCSET WINAPI CryptInitOIDFunctionSet(LPCSTR pszFuncName, DWORD dwFlags)
BOOL WINAPI CryptGetOIDFunctionAddress(HCRYPTOIDFUNCSET hFuncSet, DWORD dwEncodingType, LPCSTR pszOID, DWORD dwFlags, void **ppvFuncAddr, HCRYPTOIDFUNCADDR *phFuncAddr)
BOOL WINAPI CryptFreeOIDFunctionAddress(HCRYPTOIDFUNCADDR hFuncAddr, DWORD dwFlags)
HCERTSTORE WINAPI CertOpenStore(LPCSTR lpszStoreProvider, DWORD dwMsgAndCertEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const void *pvPara)
BOOL WINAPI CertCloseStore(HCERTSTORE hCertStore, DWORD dwFlags)
#define ERROR_ACCESS_DENIED
#define ERROR_FILE_NOT_FOUND
WINECRYPT_CERTSTORE * CRYPT_ProvOpenStore(LPCSTR lpszStoreProvider, DWORD dwEncodingType, HCRYPTPROV hCryptProv, DWORD dwFlags, const void *pvPara)
WINECRYPT_CERTSTORE * CRYPT_ProvCreateStore(DWORD dwFlags, WINECRYPT_CERTSTORE *memStore, const CERT_STORE_PROV_INFO *pProvInfo)
static BOOL ProvStore_addCRL(WINECRYPT_CERTSTORE *store, context_t *crl, context_t *toReplace, context_t **ppStoreContext, BOOL use_link)
static BOOL ProvStore_deleteCert(WINECRYPT_CERTSTORE *store, context_t *context)
static void ProvStore_addref(WINECRYPT_CERTSTORE *store)
static context_t * ProvStore_enumCert(WINECRYPT_CERTSTORE *store, context_t *prev)
static BOOL ProvStore_deleteCRL(WINECRYPT_CERTSTORE *store, context_t *crl)
static BOOL ProvStore_deleteCTL(WINECRYPT_CERTSTORE *store, context_t *ctl)
static BOOL ProvStore_addCTL(WINECRYPT_CERTSTORE *store, context_t *ctl, context_t *toReplace, context_t **ppStoreContext, BOOL use_link)
static BOOL ProvStore_addCert(WINECRYPT_CERTSTORE *store, context_t *cert, context_t *toReplace, context_t **ppStoreContext, BOOL use_link)
static context_t * ProvStore_enumCTL(WINECRYPT_CERTSTORE *store, context_t *prev)
static BOOL ProvStore_control(WINECRYPT_CERTSTORE *cert_store, DWORD dwFlags, DWORD dwCtrlType, void const *pvCtrlPara)
static const store_vtbl_t ProvStoreVtbl
static context_t * ProvStore_enumCRL(WINECRYPT_CERTSTORE *store, context_t *prev)
static DWORD ProvStore_release(WINECRYPT_CERTSTORE *cert_store, DWORD flags)
struct _WINE_PROVIDERSTORE WINE_PROVIDERSTORE
static void ProvStore_releaseContext(WINECRYPT_CERTSTORE *store, context_t *context)
const store_vtbl_t * vtbl
void ** rgpvStoreProvFunc
HCERTSTOREPROV hStoreProv
BOOL(* delete)(struct WINE_CRYPTCERTSTORE *, context_t *)
context_t *(* enumContext)(struct WINE_CRYPTCERTSTORE *store, context_t *prev)
BOOL(* addContext)(struct WINE_CRYPTCERTSTORE *, context_t *, context_t *, context_t **, BOOL)
PFN_CERT_STORE_PROV_CLOSE provCloseStore
PFN_CERT_STORE_PROV_WRITE_CRL provWriteCrl
PFN_CERT_STORE_PROV_DELETE_CTL provDeleteCtl
HCERTSTOREPROV hStoreProv
WINECRYPT_CERTSTORE * memStore
PFN_CERT_STORE_PROV_WRITE_CERT provWriteCert
PFN_CERT_STORE_PROV_WRITE_CTL provWriteCtl
PFN_CERT_STORE_PROV_DELETE_CRL provDeleteCrl
PFN_CERT_STORE_PROV_DELETE_CERT provDeleteCert
PFN_CERT_STORE_PROV_CONTROL provControl
DWORD(* release)(struct WINE_CRYPTCERTSTORE *, DWORD)
BOOL(WINAPI * PFN_CERT_STORE_PROV_WRITE_CTL)(_Inout_ HCERTSTOREPROV hStoreProv, _In_ PCCTL_CONTEXT pCtlContext, _In_ DWORD dwFlags)
#define CERT_STORE_PROV_WRITE_CTL_FUNC
void(WINAPI * PFN_CERT_STORE_PROV_CLOSE)(_Inout_opt_ HCERTSTOREPROV hStoreProv, _In_ DWORD dwFlags)
#define CERT_STORE_PROV_CONTROL_FUNC
BOOL(WINAPI * PFN_CERT_STORE_PROV_WRITE_CRL)(_Inout_ HCERTSTOREPROV hStoreProv, _In_ PCCRL_CONTEXT pCrlContext, _In_ DWORD dwFlags)
BOOL(WINAPI * PFN_CERT_STORE_PROV_DELETE_CTL)(_Inout_ HCERTSTOREPROV hStoreProv, _In_ PCCTL_CONTEXT pCtlContext, _In_ DWORD dwFlags)
#define CERT_STORE_PROV_EXTERNAL_FLAG
#define CERT_STORE_CREATE_NEW_FLAG
_In_ DWORD dwEncodingType
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
#define CERT_STORE_PROV_CLOSE_FUNC
#define CERT_STORE_PROV_DELETE_CTL_FUNC
BOOL(WINAPI * PFN_CERT_STORE_PROV_DELETE_CERT)(_Inout_ HCERTSTOREPROV hStoreProv, _In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwFlags)
#define CERT_STORE_PROV_MEMORY
BOOL(WINAPI * PFN_CERT_DLL_OPEN_STORE_PROV_FUNC)(_In_ LPCSTR lpszStoreProvider, _In_ DWORD dwEncodingType, _In_opt_ HCRYPTPROV_LEGACY hCryptProv, _In_ DWORD dwFlags, _In_opt_ const void *pvPara, _In_ HCERTSTORE hCertStore, _Inout_ PCERT_STORE_PROV_INFO pStoreProvInfo)
#define CRYPT_OID_OPEN_STORE_PROV_FUNC
_In_ PCCERT_CONTEXT _In_ DWORD _Outptr_opt_ PCCERT_CONTEXT * ppStoreContext
#define CERT_STORE_PROV_DELETE_CRL_FUNC
#define CERT_STORE_PROV_WRITE_ADD_FLAG
#define CERT_STORE_PROV_DELETE_CERT_FUNC
BOOL(WINAPI * PFN_CERT_STORE_PROV_DELETE_CRL)(_Inout_ HCERTSTOREPROV hStoreProv, _In_ PCCRL_CONTEXT pCrlContext, _In_ DWORD dwFlags)
BOOL(WINAPI * PFN_CERT_STORE_PROV_WRITE_CERT)(_Inout_ HCERTSTOREPROV hStoreProv, _In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwFlags)
#define CERT_STORE_DELETE_FLAG
BOOL(WINAPI * PFN_CERT_STORE_PROV_CONTROL)(_Inout_ HCERTSTOREPROV hStoreProv, _In_ DWORD dwFlags, _In_ DWORD dwCtrlType, _In_opt_ void const *pvCtrlPara)
#define CERT_STORE_PROV_WRITE_CERT_FUNC
#define CERT_STORE_READONLY_FLAG
#define CERT_STORE_PROV_WRITE_CRL_FUNC