LoadLibrary失败的原因「建议收藏」

LoadLibrary失败的原因「建议收藏」今天使用LoadLibrary时,失败,于是翻了一下MSDN:LoadLibraryTheLoadLibraryfunctionmapsthespecifiedexecutablemoduleintotheaddressspaceofthecallingprocess. Foradditionalloadoptions,usetheLo

大家好,又见面了,我是你们的朋友全栈君。

今天使用LoadLibrary时,失败,于是翻了一下MSDN:

LoadLibrary
The LoadLibrary function maps the specified executable module into the address space of the calling process. 

For additional load options, use the LoadLibraryEx function. 

HMODULE LoadLibrary(
  LPCTSTR lpFileName   // file name of module
);
Parameters
lpFileName 
[in] Pointer to a null-terminated string that names the executable module (either a .dll or .exe file). The name specified is the file name of the module and is not related to the name stored in the library module itself, as specified by the LIBRARY keyword in the module-definition (.def) file. 
If the string specifies a path but the file does not exist in the specified directory, the function fails. When specifying a path, be sure to use backslashes (\), not forward slashes (/). 

If the string does not specify a path, the function uses a standard search strategy to find the file. See the Remarks for more information. 

Return Values
If the function succeeds, the return value is a handle to the module.

If the function fails, the return value is NULL. To get extended error information, call GetLastError. 

Windows 95: If you are using LoadLibrary to load a module that contains a resource whose numeric identifier is greater than 0x7FFF, LoadLibrary fails. If you are attempting to load a 16-bit DLL directly from 32-bit code, LoadLibrary fails. If you are attempting to load a DLL whose subsystem version is greater than 4.0, LoadLibrary fails. If your DllMain function tries to call the Unicode version of a Win32 function, LoadLibrary fails. 

—————————————————————————————————————————————————————————————-

注意上面红色的文字,如果我们在dll的入口函数DllMain()中调用Unicode版本的系统API,则

LoadLibrary加载我们的dll文件时会失败,这就是我这次加载dll失败的原因,将API改为A版本的就

正常了,如GetModuleFileNameA

———————————————————————————————————————————————————————————–

LoadLibrary失败的原因「建议收藏」

您的十分满意是我追求的宗旨。

您的一点建议是我后续的动力。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158361.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 无限层级且乱序的树形结构数据的整理,利用HashMap降低遍历次数「建议收藏」

    无限层级且乱序的树形结构数据的整理,利用HashMap降低遍历次数

  • STM32看门狗详解[通俗易懂]

    STM32看门狗详解[通俗易懂]看门狗的作用:防止单片机因未知原因死机或比我们预期的时间过长长时间不能响应,如果出现这种问题,看门狗就会把单片机复位独立看门狗(IWDG):时钟来源:内部低速时钟(LSI),所以用看门狗时不需要配置时钟一般配置过程:寄存器:IWDG_KR:32位寄存器,低16位有效,只写写入0xAAAA,喂狗0x5555,取消IWDG_PR、IWDG_RLR的写保护0xCCCC,启动看门狗IWDG_PR:32位寄存器,低3位有效配置分频系数,4*2^prer.

  • Android蓝牙开发—经典蓝牙和BLE(低功耗)蓝牙的区别

    Android蓝牙开发—经典蓝牙和BLE(低功耗)蓝牙的区别   最近在做蓝牙开发,刚接触时傻傻的分不清经典蓝牙和低功耗蓝牙的区别,一直用开发低功耗蓝牙的方法去连接经典蓝牙设备,最后当然是一直连接不上了。在此记录下经典蓝牙和低功耗蓝牙的区别和联系。Android中的蓝牙      说到Android中的蓝牙,大家听到的可能有蓝牙1.0、蓝牙2.0、蓝牙3.0、蓝牙4.0之类的以数字结尾的蓝牙版本号,而实际上,在最新的标准中,已经不再使用数…

  • 协方差矩阵计算实例「建议收藏」

    协方差矩阵计算实例「建议收藏」协方差矩阵计算实例突然发现给一组数据去实际计算对应得协方差矩阵,让人有点懵,并未找到太清楚的讲解,这里举一个实例记录一下。1、别把样本数和维度数搞混了具体进行计算容易懵的原因就是很容易把样本数和维度数搞混,维度数n,那么得到的协方差矩阵就是n*n的,和样本数没啥关系。这里还是要明确一下,维度数即是每条样本中的变量数,协方差即是对不同变量的同向程度进行的衡量,下面举个例子来具体说明一下。2、实例说明一下样本:一共4条,2维的这里再强调一下,每条样本都是2维的,即每条样本都包含对两个变量

  • 分享S60 精品软件集

    分享S60 精品软件集此贴软件列表中蓝色是中文版,绿色是英文版【管理类】【手机文件管理类】SeleQ.v1.65简体中文完全版文件管理软件System.Explorer.v1.70英文激活成功教程版SELEQ1.70文件管理软件System.Explorer.v1.70中文激活成功教程版SystemExplorerv1.8系统探索器完全汉化安装版NEW读卡器专用的SELEQ安装方法读卡器专用的SmartFileman安装软件文件管

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号