typedef int (__stdcall *CB_Challenge)(void *usr_arg, const
unsigned char *p_challenge_in,
unsigned int challenge_in_len,
unsigned char **pp_challenge_out,
unsigned int *p_challenge_out_len);
typedef int (__stdcall *CB_Challenge_END)(void *usr_arg, unsigned char *p_challenge_out);
std::string library_name("callingdll");
#ifndef _WIN32
library_name = library_name.toLower();
#endif
CB_Challenge sla_function = 0;
CB_Challenge_END sla_function_end = 0;
HINSTANCE h_da_sla_dll = LoadLibrary(library_name.c_str());
if (h_da_sla_dll != NULL) {
sla_function = (CB_Challenge)GetProcAddress(h_da_sla_dll, "callingdll");
sla_function_end = (CB_Challenge_END)GetProcAddress(h_da_sla_dll, "SLA_Challenge_END");
} else {
}
1个dll动态调用的典型实例
最新推荐文章于 2023-02-28 11:31:26 发布