PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE fonction de rappel (wincrypt.h)
La fonction PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE initialise le fournisseur. Vous devez implémenter cette fonction dans le cadre de votre fournisseur personnalisé.
Syntaxe
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE PfnCryptObjectLocatorProviderInitialize;
BOOL PfnCryptObjectLocatorProviderInitialize(
[in] PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH pfnFlush,
[in] LPVOID pContext,
[out] DWORD *pdwExpectedObjectCount,
[out] PCRYPT_OBJECT_LOCATOR_PROVIDER_TABLE *ppFuncTable,
[out] void **ppPluginContext
)
{...}
Paramètres
[in] pfnFlush
Pointeur vers l’implémentation de la fonction PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH .
[in] pContext
Pointeur vers un objet défini par le fournisseur qui contient des informations sur le fournisseur et les objets.
[out] pdwExpectedObjectCount
Spécifie le nombre d’objets uniques que le fournisseur s’attend à localiser. Cette valeur indique à l’appelant la quantité de mémoire à allouer pour le stockage des objets. Définissez cette valeur sur zéro (0) pour spécifier la valeur par défaut de 10 000 objets.
[out] ppFuncTable
Une structure CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE qui contient des pointeurs vers les fonctions implémentées par le fournisseur. Aucun pointeur de la table ne peut avoir la valeur NULL. L’appelant ne libère pas cette structure. Il est prévu que le fournisseur retourne une table qui n’est pas allouée sur le tas.
[out] ppPluginContext
Pointeur vers une mémoire tampon facultative définie par ce fournisseur. La mémoire tampon n’est pas modifiée par l’appelant. Votre fournisseur peut utiliser les données pour l’aider à déterminer les actions à effectuer ou à conserver des informations supplémentaires. Cette valeur peut être définie sur NULL.
Valeur retournée
Si la fonction réussit, retournez non zéro (TRUE).
Si la fonction échoue, retournez zéro (FALSE) et spécifiez une erreur appropriée dans la fonction SetLastError . La plupart des erreurs sont transmises via Schannel sans changement, mais ce comportement n’est pas garanti. Certaines erreurs peuvent être mappées à d’autres erreurs.
Remarques
La fonction PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE est actuellement appelée uniquement par le fournisseur de services de sécurité Schannel (SCHANNEL). L’API de chiffrement (CAPI) appelle en interne votre fournisseur personnalisé si, à compter de Windows 8, vous spécifiez le nom du principal de sécurité dans le paramètre pszPrincipal de la fonction AcquireCredentialsHandle.
Lorsque vous implémentez cette fonction, n’oubliez pas de remplir la table de fonctions CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE avec des pointeurs vers les fonctions suivantes implémentées par votre fournisseur :
- PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET
- PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE
- PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD
- PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE
- PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2012 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wincrypt.h |