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 CryptSetOIDFunctionValue avec dwValueType 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, seules les X509_ASN_ENCODING et les PKCS_7_ASN_ENCODING sont utilisées ; 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 inscrite.
[in] pszOID
OID de la fonction à inscrire. Si le mot à 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 de classement élevé de l’OID est égal à zéro, le mot de bas ordre 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 variable 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 la 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 égale à zéro (FALSE).
Notes
Une fois que vous avez terminé d’utiliser une fonction OID, annulez son inscription en appelant la fonction CryptUnregisterOIDFunction .
Configuration requise
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 |