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 CERT_STORE_DELETE_FLAG
HCRYPTOIDFUNCSET WINAPI CryptInitOIDFunctionSet(LPCSTR pszFuncName, DWORD dwFlags)
static void ProvStore_addref(WINECRYPT_CERTSTORE *store)
#define CERT_STORE_PROV_WRITE_CRL_FUNC
#define CERT_STORE_PROV_DELETE_CTL_FUNC
#define CERT_STORE_PROV_DELETE_CERT_FUNC
BOOL(WINAPI * PFN_CERT_STORE_PROV_DELETE_CTL)(_Inout_ HCERTSTOREPROV hStoreProv, _In_ PCCTL_CONTEXT pCtlContext, _In_ DWORD dwFlags)
PFN_CERT_STORE_PROV_DELETE_CTL provDeleteCtl
PFN_CERT_STORE_PROV_WRITE_CERT provWriteCert
WINECRYPT_CERTSTORE * CRYPT_ProvCreateStore(DWORD dwFlags, WINECRYPT_CERTSTORE *memStore, const CERT_STORE_PROV_INFO *pProvInfo)
#define CERT_STORE_PROV_DELETE_CRL_FUNC
#define CERT_STORE_PROV_WRITE_CTL_FUNC
HCERTSTOREPROV hStoreProv
PFN_CERT_STORE_PROV_WRITE_CTL provWriteCtl
#define CERT_STORE_PROV_WRITE_CERT_FUNC
static BOOL ProvStore_deleteCTL(WINECRYPT_CERTSTORE *store, context_t *ctl)
void CRYPT_FreeStore(WINECRYPT_CERTSTORE *store) DECLSPEC_HIDDEN
static void ProvStore_releaseContext(WINECRYPT_CERTSTORE *store, context_t *context)
static void * context_ptr(context_t *context)
static BOOL ProvStore_deleteCert(WINECRYPT_CERTSTORE *store, context_t *context)
BOOL(* addContext)(struct WINE_CRYPTCERTSTORE *, context_t *, context_t *, context_t **, BOOL)
_In_ PCCERT_CONTEXT _In_ DWORD _Outptr_opt_ PCCERT_CONTEXT * ppStoreContext
BOOL(WINAPI * PFN_CERT_STORE_PROV_WRITE_CRL)(_Inout_ HCERTSTOREPROV hStoreProv, _In_ PCCRL_CONTEXT pCrlContext, _In_ DWORD dwFlags)
LPVOID WINAPI CryptMemAlloc(ULONG cbSize)
#define CERT_STORE_CREATE_NEW_FLAG
#define ERROR_ACCESS_DENIED
HCERTSTOREPROV hStoreProv
_In_ DWORD dwEncodingType
PFN_CERT_STORE_PROV_DELETE_CRL provDeleteCrl
void ** rgpvStoreProvFunc
#define CERT_STORE_PROV_MEMORY
#define CERT_STORE_PROV_EXTERNAL_FLAG
BOOL WINAPI CertCloseStore(HCERTSTORE hCertStore, DWORD dwFlags)
DWORD(* release)(struct WINE_CRYPTCERTSTORE *, DWORD)
static context_t * ProvStore_enumCRL(WINECRYPT_CERTSTORE *store, context_t *prev)
#define ERROR_FILE_NOT_FOUND
void(WINAPI * PFN_CERT_STORE_PROV_CLOSE)(_Inout_opt_ HCERTSTOREPROV hStoreProv, _In_ DWORD dwFlags)
struct _WINE_PROVIDERSTORE WINE_PROVIDERSTORE
PFN_CERT_STORE_PROV_DELETE_CERT provDeleteCert
BOOL(WINAPI * PFN_CERT_STORE_PROV_CONTROL)(_Inout_ HCERTSTOREPROV hStoreProv, _In_ DWORD dwFlags, _In_ DWORD dwCtrlType, _In_opt_ void const *pvCtrlPara)
const store_vtbl_t * vtbl
#define CERT_STORE_PROV_WRITE_ADD_FLAG
PFN_CERT_STORE_PROV_CONTROL provControl
BOOL(WINAPI * PFN_CERT_STORE_PROV_WRITE_CTL)(_Inout_ HCERTSTOREPROV hStoreProv, _In_ PCCTL_CONTEXT pCtlContext, _In_ DWORD dwFlags)
PFN_CERT_STORE_PROV_CLOSE provCloseStore
#define CERT_STORE_READONLY_FLAG
WINECRYPT_CERTSTORE * memStore
PFN_CERT_STORE_PROV_WRITE_CRL provWriteCrl
BOOL(WINAPI * PFN_CERT_STORE_PROV_DELETE_CERT)(_Inout_ HCERTSTOREPROV hStoreProv, _In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwFlags)
#define InterlockedDecrement
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
#define CRYPT_OID_OPEN_STORE_PROV_FUNC
static DWORD ProvStore_release(WINECRYPT_CERTSTORE *cert_store, DWORD flags)
context_t *(* enumContext)(struct WINE_CRYPTCERTSTORE *store, context_t *prev)
static BOOL ProvStore_addCTL(WINECRYPT_CERTSTORE *store, context_t *ctl, context_t *toReplace, context_t **ppStoreContext, BOOL use_link)
static BOOL ProvStore_deleteCRL(WINECRYPT_CERTSTORE *store, context_t *crl)
static BOOL ProvStore_addCert(WINECRYPT_CERTSTORE *store, context_t *cert, context_t *toReplace, context_t **ppStoreContext, BOOL use_link)
BOOL(WINAPI * PFN_CERT_STORE_PROV_DELETE_CRL)(_Inout_ HCERTSTOREPROV hStoreProv, _In_ PCCRL_CONTEXT pCrlContext, _In_ DWORD dwFlags)
#define InterlockedIncrement
BOOL WINAPI CryptFreeOIDFunctionAddress(HCRYPTOIDFUNCADDR hFuncAddr, DWORD dwFlags)
static BOOL ProvStore_addCRL(WINECRYPT_CERTSTORE *store, context_t *crl, context_t *toReplace, context_t **ppStoreContext, BOOL use_link)
static context_t * ProvStore_enumCTL(WINECRYPT_CERTSTORE *store, context_t *prev)
HCERTSTORE WINAPI CertOpenStore(LPCSTR lpszStoreProvider, DWORD dwMsgAndCertEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const void *pvPara)
static BOOL ProvStore_control(WINECRYPT_CERTSTORE *cert_store, DWORD dwFlags, DWORD dwCtrlType, void const *pvCtrlPara)
static context_t * ProvStore_enumCert(WINECRYPT_CERTSTORE *store, context_t *prev)
#define CERT_STORE_PROV_CLOSE_FUNC
BOOL WINAPI CryptGetOIDFunctionAddress(HCRYPTOIDFUNCSET hFuncSet, DWORD dwEncodingType, LPCSTR pszOID, DWORD dwFlags, void **ppvFuncAddr, HCRYPTOIDFUNCADDR *phFuncAddr)
WINE_DEFAULT_DEBUG_CHANNEL(crypt)
BOOL(* delete)(struct WINE_CRYPTCERTSTORE *, context_t *)
static const store_vtbl_t ProvStoreVtbl
#define CERT_STORE_PROV_CONTROL_FUNC
void CRYPT_InitStore(WINECRYPT_CERTSTORE *store, DWORD dwFlags, CertStoreType type, const store_vtbl_t *) DECLSPEC_HIDDEN
BOOL(WINAPI * PFN_CERT_STORE_PROV_WRITE_CERT)(_Inout_ HCERTSTOREPROV hStoreProv, _In_ PCCERT_CONTEXT pCertContext, _In_ DWORD dwFlags)
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)
WINECRYPT_CERTSTORE * CRYPT_ProvOpenStore(LPCSTR lpszStoreProvider, DWORD dwEncodingType, HCRYPTPROV hCryptProv, DWORD dwFlags, const void *pvPara)