Langage de programmation général de haut niveau, créé en tant qu'extension du langage de programmation C, qui possède des caractéristiques orientées objet, génériques et fonctionnelles, ainsi que des fonctions de manipulation de la mémoire de bas niveau.
Comment résoudre getprocAddress retourne NULL quand GetLastError retourne Error Code 0 : "opération réussie" pour toutes les fonctions de bcrypt.dll
Christophe
0
Points de réputation
J'aimerai utiliser les fonctions de bcrypt.dll en c++
Je charge la bibliothèque avec LoadLibraryA et je récupère les adresses des fonctions avec GetProcAddress.
NTSTATUS (WINAPI *lpfBCryptOpenAlgorithmProvider) (
BCRYPT_ALG_HANDLE*,
LPCWSTR,
LPCWSTR,
ULONG);
hInstbcrypt = LoadLibraryA("bcrypt.dll");
if ( hInstbcrypt != NULL )
{
lpfBCryptOpenAlgorithmProvider =
(NTSTATUS (WINAPI *)(BCRYPT_ALG_HANDLE*, LPCWSTR, LPCWSTR, ULONG))
GetProcAddress(hInstbcrypt, "BCryptOpenAlgorithmProvider");
if ( lpfBCryptOpenAlgorithmProvider == NULL )
{
ErrorCode = GetLastError();
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, ErrorCode, MAKELANGID(LANG_FRENCH, SUBLANG_FRENCH), Message, 2046, NULL);
}
}
...
Le problème c'est que GetProcAddress retourne NULL et que GetLastError retourne 0: "opération réussie".
Comment résoudre ce problème ?
J'ai aussi essayé de lier bcrypt.lib au projet, mais le linker ne trouve pas les fonctions :
[Lieur Erreur] Error: Externe 'BCryptOpenAlgorithmProvider' non résolu.
Quelqu'un a-t-il une solution ?
Technologies de développement | C++
Technologies de développement | C++
Connectez-vous pour répondre