PFN_CERT_DLL_OPEN_STORE_PROV_FUNC fonction de rappel (wincrypt.h)
La fonction CertDllOpenStoreProv est implémentée par un fournisseur de magasins et est utilisée pour ouvrir un magasin. Cette fonction est appelée par la fonction CertOpenStore .
Syntaxe
PFN_CERT_DLL_OPEN_STORE_PROV_FUNC PfnCertDllOpenStoreProvFunc;
BOOL PfnCertDllOpenStoreProvFunc(
[in] LPCSTR lpszStoreProvider,
[in] DWORD dwEncodingType,
[in] HCRYPTPROV_LEGACY hCryptProv,
[in] DWORD dwFlags,
[in] const void *pvPara,
[in] HCERTSTORE hCertStore,
[in, out] PCERT_STORE_PROV_INFO pStoreProvInfo
)
{...}
Paramètres
[in] lpszStoreProvider
Pointeur vers une chaîne ANSI terminée par null qui contient le type de fournisseur de magasin.
Les valeurs suivantes représentent les types de magasins prédéfinis. Le type de fournisseur de magasin détermine le contenu du paramètre pvPara , ainsi que l’utilisation et la signification du mot haut du paramètre dwFlags . Des fournisseurs de magasins supplémentaires peuvent être installés ou inscrits à l’aide de la fonction CryptInstallOIDFunctionAddress ou CryptRegisterOIDFunction . Pour plus d’informations sur l’ajout de fournisseurs de magasins, consultez Extension des fonctionnalités CertOpenStore.
Identifiant du fournisseur | Description | Contenu de pvPara |
---|---|---|
CERT_STORE_PROV_MEMORY
sz_CERT_STORE_PROV_MEMORY |
Crée un magasin de certificats dans la mémoire mise en cache. Aucun certificat, liste de révocation de certificats (CRL) ou liste de certificats d’approbation (CTL) n’est initialement chargé dans le magasin. Généralement utilisé pour créer un magasin temporaire.
L’ajout de certificats, de listes de révocation de certificats ou de CTL, ou toute modification des propriétés de certificats, de listes de révocation de certificats ou de listes de révocation de certificats dans un magasin de mémoire ne sont pas automatiquement enregistrées. Ils peuvent être enregistrés dans un fichier ou dans un objet BLOB mémoire à l’aide de CertSaveStore. |
Non utilisé. |
CERT_STORE_PROV_FILE |
Initialise le magasin avec des certificats, des listes de révocation de certificats et des listes de révocation de certificats lus à partir d’un fichier ouvert spécifié. Ce fournisseur s’attend à ce que le fichier contienne uniquement un magasin sérialisé et non pas des messages signés PKCS #7 ou un seul certificat encodé.
Le pointeur de fichier doit être positionné au début des informations du magasin sérialisé. Une fois les données du magasin sérialisé chargées dans le magasin de certificats, le pointeur de fichier est positionné au début de toutes les données qui peuvent suivre les données du magasin sérialisé dans le fichier. Si CERT_FILE_STORE_COMMIT_ENABLE est défini dans dwFlags, le handle de fichier est dupliqué et le magasin est toujours validé en tant que magasin sérialisé. Le fichier n’est pas fermé lorsque le magasin est fermé. |
Pointeur vers le handle d’un fichier ouvert avec CreateFile. |
CERT_STORE_PROV_FILENAME_A |
Initialise le magasin avec des certificats, des listes de révocation de certificats et des listes de révocation de certificats à partir d’un fichier. Le fournisseur ouvre le fichier et tente d’abord de lire le fichier en tant que magasin sérialisé, puis en tant que message signé PKCS #7 et enfin en tant que certificat encodé unique.
Le paramètre dwEncodingType doit contenir les types d’encodage à utiliser avec les messages et les certificats. Si le fichier contient un certificat encodé X.509 , l’opération d’ouverture échoue avec GetLastError et retourne ERROR_ACCESS_DENIED. Si l’indicateur CERT_FILE_STORE_COMMIT_ENABLE est défini dans dwFlags, la valeur dwCreationDisposition passée à CreateFile est la suivante :
Si dwFlags inclut CERT_FILE_STORE_COMMIT_ENABLE, le fichier est commité en tant que magasin PKCS #7 ou sérialisé en fonction du type de fichier ouvert. Si le fichier était vide ou si le nom de fichier a une extension .p7c ou .spc, le fichier est commité en tant que PKCS #7. Sinon, le fichier est commité en tant que magasin sérialisé. |
Pointeur vers une chaîne ANSI terminée par null qui contient le nom d’un fichier existant non ouvert. |
CERT_STORE_PROV_FILENAME
CERT_STORE_PROV_FILENAME_W sz_CERT_STORE_PROV_FILENAME sz_CERT_STORE_PROV_FILENAME_W |
Identique à CERT_STORE_PROV_FILENAME_A. | Pointeur vers une chaîne Unicode terminée par null qui contient le nom d’un fichier existant non ouvert. |
CERT_STORE_PROV_COLLECTION
sz_CERT_STORE_PROV_COLLECTION |
Ouvre un magasin qui sera une collection d’autres magasins. Les magasins sont ajoutés ou supprimés de la collection à l’aide de CertAddStoreToCollection et de CertRemoveStoreFromCollection. Lorsqu’un magasin est ajouté à une collection, tous les certificats, listes de révocation de certificats et listes de révocation de certificats de ce magasin deviennent disponibles pour les recherches ou les énumérations du magasin de collections.
Le mot haut de dwFlags est défini sur zéro. |
Doit être NULL. |
CERT_STORE_PROV_REG |
Initialise le magasin avec des certificats, des listes de révocation de certificats et des listes de révocation de certificats à partir d’une sous-clé de Registre.
Ce fournisseur ouvre ou crée les sous-clés de Registre Certificates, CRL et CTL sous la clé passée dans pvPara. La clé d’entrée n’est pas fermée par le fournisseur. Avant de retourner, le fournisseur ouvre sa propre copie de la clé passée dans pvPara. Si CERT_STORE_READONLY_FLAG est défini dans le mot bas de dwFlags, les sous-clés de Registre sont ouvertes à l’aide de RegOpenKey avec KEY_READ_ACCESS. Sinon, les sous-clés de Registre sont créées à l’aide de RegCreateKey avec KEY_ALL_ACCESS. Toute modification apportée au contenu du magasin ouvert est immédiatement conservée dans le Registre. Toutefois, si CERT_STORE_READONLY_FLAG est défini dans le mot bas de dwFlags, toute tentative d’ajout au contenu du magasin ou de modification de la propriété d’un contexte entraîne une erreur avec GetLastError retournant le code E_ACCESSDENIED. |
Handle d’une clé de Registre ouverte. |
CERT_STORE_PROV_SYSTEM_A |
Initialise le magasin avec des certificats, des listes de révocation de certificats et des listes de révocation de certificats à partir du magasin système spécifié.
Le magasin système est un magasin de collections logique qui se compose d’un ou plusieurs magasins physiques. Un magasin physique associé à un magasin système est inscrit auprès de la fonction CertRegisterPhysicalStore . Une fois le magasin système ouvert, tous les magasins physiques qui lui sont associés sont également ouverts par des appels à CertOpenStore et sont ajoutés à la collection de magasins système à l’aide de la fonction CertAddStoreToCollection . Le mot haut dwFlags indique l’emplacement du magasin système, généralement défini sur CERT_SYSTEM_STORE_CURRENT_USER. Pour plus d’informations sur les emplacements du Registre, consultez dwFlags plus loin dans cette rubrique et Emplacements du magasin système. Certains emplacements du magasin système peuvent être ouverts à distance ; Pour plus d’informations, consultez Emplacements du magasin système. |
Pointeur vers une chaîne ANSI terminée par un caractère Null qui contient un nom de magasin système, tel que « My » ou « Root ». |
CERT_STORE_PROV_SYSTEM
CERT_STORE_PROV_SYSTEM_W sz_CERT_STORE_PROV_SYSTEM sz_CERT_STORE_PROV_SYSTEM_W |
Identique à CERT_STORE_PROV_SYSTEM_A. | Pointeur vers une chaîne Unicode terminée par un caractère Null qui contient un nom de magasin système, tel que « My » ou « Root ». |
CERT_STORE_PROV_SYSTEM_REGISTRY_A |
Initialise le magasin avec des certificats, des listes de révocation de certificats et des listes de révocation de certificats à partir d’un magasin de registre physique. Le magasin physique n’est pas ouvert en tant que magasin de collections. Les énumérations et les recherches passent uniquement par les certificats, les listes de révocation de certificats et les listes de révocation de certificats dans ce magasin physique.
Le mot haut dwFlags indique l’emplacement du magasin système, généralement défini sur CERT_SYSTEM_STORE_CURRENT_USER. Pour plus d’informations, consultez dwFlags plus loin dans cette rubrique. Certains emplacements du magasin système peuvent être ouverts à distance ; Pour plus d’informations, consultez Emplacements du magasin système. |
Pointeur vers une chaîne ANSI terminée par un caractère Null qui contient un nom de magasin système, tel que « My » ou « Root ». |
CERT_STORE_PROV_SYSTEM_REGISTRY
CERT_STORE_PROV_SYSTEM_REGISTRY_W sz_CERT_STORE_PROV_SYSTEM_REGISTRY sz_CERT_STORE_PROV_SYSTEM_REGISTRY_W |
Identique à CERT_STORE_PROV_SYSTEM_REGISTRY_A. | Pointeur vers une chaîne Unicode terminée par un caractère Null qui contient un nom de magasin système, tel que « My » ou « Root ». |
CERT_STORE_PROV_PHYSICAL
CERT_STORE_PROV_PHYSICAL_W sz_CERT_STORE_PROV_PHYSICAL sz_CERT_STORE_PROV_PHYSICAL_W |
Initialise le magasin avec des certificats, des listes de révocation de certificats et des listes de révocation de certificats à partir d’un magasin physique spécifié qui est membre d’un magasin système logique.
Deux noms sont séparés par une barre oblique inverse (\), par exemple « Root.LocalMachine ». Ici, « Root » est le nom du magasin système et . LocalMachine » est le nom du magasin physique. Le système et les noms des magasins physiques ne peuvent pas contenir de barres obliques inverses. Le mot haut dwFlags indique l’emplacement du magasin système, généralement CERT_SYSTEM_STORE_CURRENT_USER. Pour plus d’informations, consultez dwFlags plus loin dans cette rubrique. Certains emplacements de magasin physique peuvent être ouverts à distance. |
Pointeur vers une chaîne Unicode terminée par null qui contient à la fois le nom du magasin système et les noms physiques. |
CERT_STORE_PROV_MSG | Initialise le magasin avec des certificats, des listes de révocation de certificats et des listes de révocation de certificats à partir du message de chiffrement spécifié. Le paramètre dwEncodingType doit contenir les types d’encodage utilisés avec les messages et les certificats. | Handle HCRYPTMSG du message encodé, retourné par un appel à CryptMsgOpenToDecode. |
CERT_STORE_PROV_PKCS7
sz_CERT_STORE_PROV_PKCS7 |
Initialise le magasin avec des certificats, des listes de révocation de certificats et des listes de révocation de certificats à partir d’un message signé PKCS #7 encodé. Le paramètre dwEncodingType doit spécifier les types d’encodage à utiliser avec les messages et les certificats. | Pointeur vers une structure CRYPT_DATA_BLOB qui représente le message encodé. |
CERT_STORE_PROV_SERIALIZED
sz_CERT_STORE_PROV_SERIALIZED |
Initialise le magasin avec des certificats, des listes de révocation de certificats et des listes de révocation de certificats à partir d’un emplacement de mémoire qui contient un magasin sérialisé. | Pointeur vers une structure de CRYPT_DATA_BLOB qui contient l’objet BLOB de mémoire sérialisée. |
CERT_STORE_PROV_LDAP
CERT_STORE_PROV_LDAP_W sz_CERT_STORE_PROV_LDAP sz_CERT_STORE_PROV_LDAP_W |
Initialise le magasin avec des certificats, des listes de révocation de certificats et des listes de révocation de certificats à partir des résultats d’une requête LDAP.
Pour effectuer des opérations d’écriture sur le magasin, la chaîne de requête doit spécifier une requête BASE sans filtre et un seul attribut. |
Si le paramètre dwFlags contient l’indicateur CERT_LDAP_STORE_OPENED_FLAG , il s’agit de l’adresse d’une structure CERT_LDAP_STORE_OPENED_PARA qui spécifie la session LDAP établie à utiliser.
Sinon, il s’agit d’un pointeur vers une chaîne Unicode terminée par une valeur Null qui contient la chaîne de requête LDAP. Pour plus d’informations sur les chaînes de requête LDAP, consultez Dialecte LDAP. |
CERT_STORE_PROV_SMART_CARD
CERT_STORE_PROV_SMART_CARD_W sz_CERT_STORE_PROV_SMART_CARD sz_CERT_STORE_PROV_SMART_CARD_W |
Pas utilisé pour l'instant. |
[in] dwEncodingType
Spécifie le type d’encodage de certificat et le type d’encodage de message. L’encodage est utilisé uniquement lorsque le paramètre dwSaveAs de la fonction CertSaveStore contient CERT_STORE_SAVE_AS_PKCS7. Sinon, le paramètre dwEncodingType n’est pas utilisé.
Ce paramètre s’applique uniquement lorsque le type de fournisseur CERT_STORE_PROV_MSG, CERT_STORE_PROV_PKCS7 ou CERT_STORE_PROV_FILENAME est spécifié dans le paramètre lpszStoreProvider . Pour tous les autres types de fournisseurs, ce paramètre n’est pas utilisé et doit être défini sur zéro.
Ce paramètre peut être une combinaison d’une ou plusieurs des valeurs suivantes.
Valeur | Signification |
---|---|
|
Spécifie l’encodage de message PKCS #7. |
|
Spécifie l’encodage de certificat X.509. |
[in] hCryptProv
Handle pour un fournisseur de chiffrement. Ce paramètre peut être NULL.
[in] dwFlags
Ces valeurs se composent de valeurs de mots hauts et de mots faibles combinés à l’aide d’une opération OR au niveau du bit.
La partie à faible mot de dwFlags contrôle diverses caractéristiques générales du magasin de certificats ouvert. Cette partie peut être utilisée avec tous les types de fournisseurs de magasins. La partie à bas mot de dwFlags peut être l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
Créez un magasin s’il n’en existe pas. Cette fonction doit échouer si le magasin existe déjà.
Si ni CERT_STORE_OPEN_EXISTING_FLAG ni CERT_STORE_CREATE_NEW_FLAG n’est défini, ouvrez un magasin existant ou créez et ouvrez un magasin s’il n’existe pas déjà. |
|
Différer la fermeture du fournisseur du magasin jusqu’à ce que tous les certificats, listes de révocation de certificats ou CTL obtenus à partir du magasin ne soient plus utilisés. Le magasin est en fait fermé lorsque le dernier certificat, liste de révocation de certificats ou CTL obtenu à partir du magasin est libéré. Toutes les modifications apportées aux propriétés de ces certificats, listes de révocation de certificats et CTL, même après l’appel à cette fonction, doivent être conservées.
Si cet indicateur n’est pas défini et que les certificats, listes de révocation de certificats ou CTL obtenus à partir du magasin sont toujours en cours d’utilisation, les modifications apportées aux propriétés de ces certificats, listes de révocation de certificats et CTL ne doivent pas être conservées. Si cette fonction est appelée avec CERT_CLOSE_STORE_FORCE_FLAG, CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG doit être ignorée. Lorsque cet indicateur est défini et qu’une valeur HCRYPTPROV non NULL est passée, ce fournisseur continue d’être utilisé même après l’appel à cette fonction. |
|
Le magasin est supprimé au lieu d’être ouvert. Cette fonction retourne FALSE pour la réussite et l’échec de la suppression. Pour indiquer la réussite de la suppression, appelez SetLastError avec zéro. Pour indiquer l’échec de la suppression, appelez SetLastError avec le code d’erreur approprié. |
|
Normalement, une énumération de tous les certificats dans le magasin ignore tout certificat avec la propriété CERT_ARCHIVED_PROP_ID définie. Si cet indicateur est défini, une énumération des certificats dans le magasin contiendra tous les certificats du magasin, y compris ceux qui ont la propriété CERT_ARCHIVED_PROP_ID . |
|
Ouvrez le magasin avec l’ensemble maximal d’autorisations autorisées. Si cet indicateur est spécifié, les magasins de Registre sont d’abord ouverts avec un accès en écriture et, en cas d’échec, ils sont rouverts avec un accès en lecture seule. |
|
Cet indicateur n’est pas utilisé lorsque le paramètre hCryptProv a la valeur NULL. Cet indicateur n’est valide que lorsqu’un handle CSP non NULL est passé en tant que paramètre hCryptProv . La définition de cet indicateur empêche la mise en production automatique d’un fournisseur de solutions Cloud autre que la valeur par défaut lorsque le magasin de certificats est fermé. |
|
Ouvrez uniquement un magasin existant. Si le magasin n’existe pas, la fonction échoue. |
|
Ouvrez le magasin en lecture seule. Toute tentative de modification du contenu du magasin génère une erreur. Lorsque cet indicateur est défini et qu’un fournisseur de magasin basé sur le Registre est utilisé, les sous-clés de Registre sont ouvertes à l’aide de RegOpenKey avec KEY_READ_ACCESS. Sinon, les sous-clés de Registre sont créées à l’aide de RegCreateKey avec KEY_ALL_ACCESS. |
|
Si cet indicateur est pris en charge, le fournisseur définit la propriété CERT_STORE_LOCALIZED_NAME_PROP_ID du magasin. Le nom localisé peut être récupéré en appelant la fonction CertGetStoreProperty avec dwPropID défini sur CERT_STORE_LOCALIZED_NAME_PROP_ID. Cet indicateur est pris en charge pour les fournisseurs de types CERT_STORE_PROV_FILENAME, CERT_STORE_PROV_SYSTEM, CERT_STORE_PROV_SYSTEM_REGISTRY et CERT_STORE_PROV_PHYSICAL_W. |
|
Lorsque vous ouvrez un magasin plusieurs fois, vous pouvez définir cet indicateur pour garantir une utilisation efficace de la mémoire en réutilisant la mémoire pour les parties encodées d’un contexte de certificat, de liste de révocation de certificats ou de CTL sur les instances ouvertes des magasins. |
|
Listes d’identificateurs de clé existent dans CurrentUser et LocalMachine. Ces identificateurs de clé ont des propriétés très similaires aux propriétés des certificats. Si le CERT_STORE_UPDATE_KEYID_FLAG est défini, pour chaque identificateur de clé dans le magasin qui a une propriété CERT_KEY_PROV_INFO_PROP_ID , cette propriété est automatiquement mise à jour à partir de la propriété identificateur de clé CERT_KEY_PROV_INFO_PROP_ID ou de la CERT_KEY_IDENTIFIER_PROP_ID du certificat associé à cet identificateur de clé. |
|
Utilisez les privilèges de SE_BACKUP_NAME et de SE_RESTORE_NAME du thread pour ouvrir des magasins système basés sur le Registre ou sur des fichiers. Si le thread ne dispose pas de ces privilèges, cette fonction doit échouer avec une erreur d’accès refusé. |
Les types de fournisseurs CERT_STORE_PROV_SYSTEM, CERT_STORE_PROV_SYSTEM_REGISTRY et CERT_STORE_PROV_PHYSICAL utilisent les mots élevés suivants de dwFlags pour spécifier les emplacements du registre du magasin système :
CERT_SYSTEM_STORE_CURRENT_SERVICE
CERT_SYSTEM_STORE_CURRENT_USER
CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY
CERT_SYSTEM_STORE_LOCAL_MACHINE
CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE
CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY
CERT_SYSTEM_STORE_SERVICES
CERT_SYSTEM_STORE_USERS
Par défaut, un emplacement de magasin système est ouvert par rapport à la clé de Registre prédéfinie HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE ou HKEY_USERS . Pour plus d’informations, consultez Emplacements du magasin système.
Les indicateurs de mots hauts suivants remplacent ce comportement par défaut.
Valeur | Signification |
---|---|
|
Lorsqu’il est défini, pvPara doit contenir un pointeur vers une structure CERT_SYSTEM_STORE_RELOCATE_PARA plutôt qu’une chaîne. La structure indique à la fois le nom du magasin et son emplacement dans le Registre. |
|
Par défaut, lorsque le magasin CurrentUser « Root » est ouvert, toutes les racines SystemRegistry qui ne figurent pas dans la liste racine protégée sont supprimées du cache avant le retour de cette fonction. Lorsque cet indicateur est défini, cette valeur par défaut est remplacée et toutes les racines dans SystemRegistry sont retournées et aucune case activée de la liste racine protégée n’est effectuée. |
Le fournisseur CERT_STORE_PROV_REGISTRY utilise les indicateurs de mots hauts suivants.
Valeur | Signification |
---|---|
|
Le fournisseur de CERT_STORE_PROV_REG enregistre les certificats, les listes de révocation de certificats et les listes de révocation de certificats dans une seule sous-clé de magasin sérialisée au lieu d’effectuer l’opération d’enregistrement par défaut. La valeur par défaut est que chaque certificat, liste de révocation de certificats ou CTL est enregistré en tant que sous-clé de Registre distincte sous la sous-clé appropriée.
Cet indicateur est principalement utilisé pour les magasins téléchargés à partir du modèle de stratégie de groupe (GPT), tels que les magasins CurrentUserGroupPolicy et LocalMachineGroupPolicy. Lorsque CERT_REGISTRY_STORE_SERIALIZED_FLAG est défini, les ajouts, les suppressions ou les modifications de propriété de stockage ne sont pas conservés tant qu’il n’y a pas d’appel à CertCloseStore ou CertControlStore à l’aide de CERT_STORE_CTRL_COMMIT. |
|
pvPara contient un handle pour une clé de Registre sur un ordinateur distant. Pour accéder à une clé de Registre sur un ordinateur distant, les autorisations de sécurité sur l’ordinateur distant doivent être définies pour autoriser l’accès. Pour plus d'informations, consultez la section Notes. |
Les types de fournisseurs CERT_STORE_PROV_FILE et CERT_STORE_PROV_FILENAME utilisent les indicateurs de mots hauts suivants.
Valeur | Signification |
---|---|
|
La définition de cet indicateur valide tous les ajouts au magasin ou les modifications apportées aux propriétés des contextes du magasin dans le magasin de fichiers lorsque CertCloseStore est appelé ou lorsque CertControlStore est appelé avec CERT_STORE_CONTROL_COMMIT.
CertOpenStore échoue avec E_INVALIDARG si CERT_FILE_STORE_COMMIT_ENABLE et CERT_STORE_READONLY_FLAG sont définis dans dwFlags. |
Le type de fournisseur CERT_STORE_PROV_LDAP utilise les indicateurs de mots hauts suivants.
Valeur | Signification |
---|---|
|
Pour fournir l’intégrité requise par certaines applications, signez numériquement tout le trafic LDAP à destination et en provenance d’un serveur LDAP à l’aide du protocole d’authentification Kerberos. |
|
Utilisez cet indicateur pour utiliser une session LDAP existante. Lorsque cet indicateur est spécifié, le paramètre pvPara est l’adresse d’une structure CERT_LDAP_STORE_OPENED_PARA qui contient des informations sur la session LDAP à utiliser. |
|
Effectue une recherche DNS A-Record-only sur l’URL nommée dans le paramètre pvPara . Cela empêche la génération de fausses requêtes DNS lors de la résolution des noms d’hôte d’URL. Utilisez cet indicateur lors de la transmission d’un nom d’hôte par opposition à un nom de domaine pour le paramètre pvPara . |
|
Utilisez cet indicateur avec l’indicateur CERT_LDAP_STORE_OPENED_FLAG pour que la session LDAP soit indépendante lorsque le magasin est fermé. Le système dissocie la session LDAP à l’aide de la fonction ldap_unbind lorsque le magasin est fermé. |
[in] pvPara
Valeur 32 bits qui peut contenir des informations supplémentaires pour cette fonction. Le contenu de ce paramètre dépend de la valeur de lpszStoreProvider et d’autres paramètres.
[in] hCertStore
Handle du magasin en mémoire qui a été ouvert et peut être utilisé pour effectuer des appels à d’autres appels d’API liés au magasin, tels que CertAddSerializedElementToStore.
[in, out] pStoreProvInfo
Pointeur vers la structure CERT_STORE_PROV_INFO à mettre à jour. La structure de données a été mise à zéro et cbSize définie avant l’appel.
Le membre cStoreProvFunc de la structure CERT_STORE_PROV_INFO correspond au nombre de fonctions de rappel implémentées et qui doivent être définies en dernier. Une fois cStoreProvFunc défini, tous les appels de magasin suivants, tels que CertAddEncodedCertificateToStore, appellent la fonction de rappel de fournisseur appropriée.
Valeur retournée
TRUE en cas de réussite ; sinon, FALSE.
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] |
Plateforme cible | Windows |
En-tête | wincrypt.h |