Partager via


CERT_STORE_PROV_INFO structure (wincrypt.h)

La structure CERT_STORE_PROV_INFO contient des informations retournées par la fonction CertDllOpenStoreProv installée lorsqu’un magasin est ouvert à l’aide du
Fonction CertOpenStore .

Lors de l’ouverture d’un magasin, la fonction CertOpenStore définit tous les champs de la structure CERT_STORE_PROV_INFO sur zéro, à l’exception de cbSize, qui est défini sur la taille de CERT_STORE_PROV_INFO. La structure est mise à jour par la fonction installable CertDllOpenStoreProv . S’il n’existe aucune fonction de rappel supplémentaire à appeler, cStoreProvFunc reste zéro au retour.

Syntaxe

typedef struct _CERT_STORE_PROV_INFO {
  DWORD             cbSize;
  DWORD             cStoreProvFunc;
  void              **rgpvStoreProvFunc;
  HCERTSTOREPROV    hStoreProv;
  DWORD             dwStoreProvFlags;
  HCRYPTOIDFUNCADDR hStoreProvFuncAddr2;
} CERT_STORE_PROV_INFO, *PCERT_STORE_PROV_INFO;

Membres

cbSize

Contient la taille, en octets, de cette structure.

cStoreProvFunc

Contient le nombre d’éléments dans le tableau rgpvStoreProvFunc . Ce nombre doit inclure toutes les valeurs NULL utilisées dans les index avant la dernière fonction de rappel implémentée. Par exemple, si une seule fonction de rappel est implémentée, mais qu’elle se trouve à l’index 2 (CERT_STORE_PROV_WRITE_CERT_FUNC), avec NULL pour les index 0 et 1, le nombre 3 doit être passé pour ce paramètre.

rgpvStoreProvFunc

Tableau de pointeurs vers les fonctions de rappel implémentées par le fournisseur. Ce tableau est indexé par les valeurs fournies dans le tableau suivant, et elles doivent être dans l’ordre indiqué. La fonction de rappel associée s’affiche également. Toutes les fonctions de rappel qui ne sont pas implémentées doivent avoir la valeur NULL. Le tableau n’a pas besoin de contenir tous les index de fonction de rappel, il doit uniquement contenir l’index de fonction de rappel le plus élevé implémenté. Par exemple, si seule la fonction de rappel CERT_STORE_PROV_WRITE_CERT_FUNC (2) est implémentée, le tableau ne doit contenir que trois éléments.

Valeur Signification
CERT_STORE_PROV_CLOSE_FUNC
0 (0x0)

CertStoreProvCloseCallback

CERT_STORE_PROV_READ_CERT_FUNC
1 (0x1)

CertStoreProvReadCertCallback

CERT_STORE_PROV_WRITE_CERT_FUNC
2 (0x2)

CertStoreProvWriteCertCallback

CERT_STORE_PROV_DELETE_CERT_FUNC
3 (0x3)

CertStoreProvDeleteCertCallback

CERT_STORE_PROV_SET_CERT_PROPERTY_FUNC
4 (0x4)

CertStoreProvSetCertPropertyCallback

CERT_STORE_PROV_READ_CRL_FUNC
5 (0x5)

CertStoreProvReadCRLCallback

CERT_STORE_PROV_WRITE_CRL_FUNC
6 (0x6)

CertStoreProvWriteCRLCallback

CERT_STORE_PROV_DELETE_CRL_FUNC
7 (0x7)

CertStoreProvDeleteCRLCallback

CERT_STORE_PROV_SET_CRL_PROPERTY_FUNC
8 (0x8)

CertStoreProvSetCRLPropertyCallback

CERT_STORE_PROV_READ_CTL_FUNC
9 (0x9)

CertStoreProvReadCTL

CERT_STORE_PROV_WRITE_CTL_FUNC
10 (0xA)

CertStoreProvWriteCTL

CERT_STORE_PROV_DELETE_CTL_FUNC
11 (0xB)

CertStoreProvDeleteCTL

CERT_STORE_PROV_SET_CTL_PROPERTY_FUNC
12 (0xC)

CertStoreProvSetCTLProperty

CERT_STORE_PROV_CONTROL_FUNC
13 (0xD)

CertStoreProvControl

CERT_STORE_PROV_FIND_CERT_FUNC
14 (0xE)

CertStoreProvFindCert

CERT_STORE_PROV_FREE_FIND_CERT_FUNC
15 (0xF)

CertStoreProvFreeFindCert

CERT_STORE_PROV_GET_CERT_PROPERTY_FUNC
16 (0x10)

CertStoreProvGetCertProperty

CERT_STORE_PROV_FIND_CRL_FUNC
17 (0x11)

CertStoreProvFindCRL

CERT_STORE_PROV_FREE_FIND_CRL_FUNC
18 (0x12)

CertStoreProvFreeFindCRL

CERT_STORE_PROV_GET_CRL_PROPERTY_FUNC
19 (0x13)

CertStoreProvGetCRLProperty

CERT_STORE_PROV_FIND_CTL_FUNC
20 (0x14)

CertStoreProvFindCTL

CERT_STORE_PROV_FREE_FIND_CTL_FUNC
21 (0x15)

CertStoreProvFreeFindCTL

CERT_STORE_PROV_GET_CTL_PROPERTY_FUNC
22 (0x16)

CertStoreProvGetCTLProperty

hStoreProv

Valeur 32 bits définie par l’application qui est le premier paramètre passé à tous les rappels. Une application peut spécifier le contenu de ce membre comme vous le souhaitez. En règle générale, il s’agit d’un pointeur vers des données spécifiques à l’application, telles que les informations d’état du fournisseur pour chaque magasin ouvert.

dwStoreProvFlags

Contient un ensemble d’indicateurs qui spécifient le fonctionnement du fournisseur. Contient zéro ou une combinaison d’une ou plusieurs des valeurs suivantes.

Valeur Signification
CERT_STORE_PROV_EXTERNAL_FLAG
1 (0x1)
Le fournisseur stocke les certificats, les listes de révocation decertificats et les listes d’approbation de certificats externes au cache du magasin.
CERT_STORE_PROV_DELETED_FLAG
2 (0x2)
Le magasin a été supprimé avec succès. Le rappel CertStoreProvCloseCallback n’est pas appelé.
CERT_STORE_PROV_NO_PERSIST_FLAG
4 (0x4)
Par défaut, le fournisseur conserve les modifications apportées au magasin. Si cet indicateur est défini, le fournisseur ne conserve pas les modifications apportées au magasin.
CERT_STORE_PROV_SYSTEM_STORE_FLAG
8 (0x8)
Le fournisseur conserve les contextes dans une banque système.
CERT_STORE_PROV_LM_SYSTEM_STORE_FLAG
16 (0x10)
Le fournisseur conserve les contextes dans un magasin système LocalMachine.

hStoreProvFuncAddr2

Contient le handle retourné par CryptGetOIDFunctionAddress. CertCloseStore appelle CryptFreeOIDFunctionAddress pour libérer un hStoreProvFuncAddr2 non null. Cela permet au rappel d’appeler une autre fonction installable qui sera libérée à la fermeture du magasin.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête wincrypt.h