Fonction CryptRegisterOIDFunction (wincrypt.h)

La fonction CryptRegisterOIDFunction inscrit une DLL qui contient la fonction à appeler pour le type d’encodage, le nom de la fonction et l’identificateur d’objet (OID) spécifiés.

Par défaut, les nouveaux noms de fonction sont installés à la fin de la liste. Pour inscrire une nouvelle fonction avant les fonctions installées, appelez la fonction CryptSetOIDFunctionValueValue avecdwValueType défini sur REG_DWORD et pwszValueName défini sur CRYPT_OID_REG_FLAGS_VALUE_NAME.

CRYPT_OID_REG_FLAGS_VALUE_NAME est défini comme L"CryptFlags ».

Outre l’inscription d’une DLL, le nom de la fonction à appeler peut être remplacé. Par exemple, le paramètre pszFuncName peut être défini sur CryptDllEncodeObject et le paramètre pszOverrideFuncName sur MyEncodeXyz. La nouvelle forme de CryptDllEncodeObject peut ensuite être référencée à l’aide du nom MyEncodeXyz. Cela permet à une DLL d’exporter plusieurs fonctions OID pour le même nom de fonction sans avoir à interposer sa propre fonction de répartiteur OID.

Syntaxe

BOOL CryptRegisterOIDFunction(
  [in] DWORD   dwEncodingType,
  [in] LPCSTR  pszFuncName,
  [in] LPCSTR  pszOID,
  [in] LPCWSTR pwszDll,
  [in] LPCSTR  pszOverrideFuncName
);

Paramètres

[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.

[in] pszFuncName

Nom de la fonction en cours d’inscription.

[in] pszOID

OID de la fonction à inscrire. 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.

[in] pwszDll

Nom du fichier DLL à inscrire. Il peut contenir des chaînes de variables d’environnement à développer à l’aide de la fonction ExpandEnvironmentStrings avant de charger la DLL.

[in] pszOverrideFuncName

Chaîne qui spécifie un nom pour la fonction exportée dans la DLL. Si pszOverrideFuncName a la valeur NULL, le nom de fonction spécifié par pszFuncName est utilisé.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro (TRUE).

Si la fonction échoue, la valeur de retour est zéro (FALSE).

Remarques

Une fois que vous avez terminé d’utiliser une fonction OID, annulez son inscription en appelant la fonction CryptUnregisterOIDFunction .

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
Bibliothèque Crypt32.lib
DLL Crypt32.dll

Voir aussi

CryptSetOIDFunctionValue

CryptUnregisterOIDFunction

Fonctions de prise en charge OID