Partager via


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 :

Vous devez appeler CryptRegisterDefaultOIDFunction pour inscrire le fournisseur dans le Registre Windows.

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

Voir aussi

CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH