Partager via


Fonction CryptGetOIDFunctionAddress (wincrypt.h)

La fonction CryptGetOIDFunctionAddress recherche dans la liste des fonctions inscrites et installées une correspondance de type d’encodage et d’identificateur d’objet (OID). Si une correspondance est trouvée, la DLL qui contient la fonction est, si nécessaire, chargée. Si une correspondance est trouvée, un pointeur vers l’adresse de fonction et un pointeur vers le handle de fonction sont également retournés. Le nombre de références sur le handle de fonction est incrémenté.

Syntaxe

BOOL CryptGetOIDFunctionAddress(
  [in]  HCRYPTOIDFUNCSET  hFuncSet,
  [in]  DWORD             dwEncodingType,
  [in]  LPCSTR            pszOID,
  [in]  DWORD             dwFlags,
  [out] void              **ppvFuncAddr,
  [out] HCRYPTOIDFUNCADDR *phFuncAddr
);

Paramètres

[in] hFuncSet

Handle de jeu de fonctions précédemment obtenu à partir d’un appel à la fonction CryptInitOIDFunctionSet .

[in] dwEncodingType

Spécifie le type d’encodage à mettre en correspondance. Actuellement, seuls les X509_ASN_ENCODING et les PKCS_7_ASN_ENCODING sont utilisés ; toutefois, des types d’encodage supplémentaires peuvent être ajoutés à l’avenir. Pour faire correspondre les deux types d’encodage actuels, utilisez :

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

Pour les fonctions qui n’utilisent pas de type d’encodage, définissez ce paramètre sur zéro.

[in] pszOID

Si le mot d’ordre élevé de l’OID est différent de zéro, pszOID est un pointeur vers une chaîne OID telle que « 2.5.29.1 » ou une chaîne ASCII telle que « file ». Si le mot d’ordre élevé de l’OID est égal à zéro, le mot d’ordre inférieur spécifie l’identificateur numérique à utiliser comme identificateur d’objet. Cet OID résultant est mappé à la fonction installée ou inscrite auprès du même OID.

[in] dwFlags

Ce paramètre peut être la valeur suivante.

Valeur Signification
CRYPT_GET_INSTALLED_OID_FUNC_FLAG
Recherche uniquement la liste installée des fonctions.

[out] ppvFuncAddr

Pointeur vers un pointeur vers une adresse de fonction. Si une correspondance est trouvée, ppvFuncAddr pointe vers l’adresse de fonction.

[out] phFuncAddr

Si une correspondance est trouvée, phFuncAddr pointe vers le handle de fonction. Le nombre de références pour le handle est incrémenté. Une fois que vous avez terminé d’utiliser le handle, relâchez le handle en appelant la fonction CryptFreeOIDFunctionAddress .

Note Par défaut, les listes de fonctions inscrites et installées font l’objet d’une recherche. Pour rechercher uniquement la liste installée des fonctions, définissez CRYPT_GET_INSTALLED_OID_FUNC_FLAG. Cet indicateur est défini par une fonction inscrite pour obtenir l’adresse d’une fonction préinstallée qu’elle remplace. Par exemple, la fonction inscrite peut gérer un nouveau cas spécial et appeler la fonction préinstallée pour gérer les cas restants.
 

Valeur retournée

Si la fonction réussit et qu’une correspondance est trouvée, la fonction retourne une valeur différente de zéro (TRUE).

Si la fonction échoue ou si aucune correspondance n’est trouvée, elle retourne zéro (FALSE). Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Remarques

Vous pouvez appeler CryptGetOIDFunctionAddress avec l’argument pszOID défini sur CMSG_DEFAULT_INSTALLABLE_FUNC_OID pour obtenir la fonction installable par défaut pour les fonctions de rappel suivantes.

Pour récupérer les fonctions par défaut, définissez dwEncodingType sur une combinaison OR au niveau du bit des types d’encodage suivants.

CRYPT_ASN_ENCODINGX509_ASN_ENCODING

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête wincrypt.h
Bibliothèque Crypt32.lib
DLL Crypt32.dll

Voir aussi

Fonctions de prise en charge OID