日期:2014-05-16  浏览次数:20846 次

一些Windows API导致的Crash以及使用问题总结

 

RegQueryValueEx

gethostbyname/getaddrinfo

_localtime64

FindFirstFile/FindNextFile

VerQueryValue

CreateFileMapping相关

SetDllDirectory

 

Windows API就没有问题、没有BUG吗?答案是否定的!代码都是写出来,怎么可能完全没有问题呢?下面我们就来看看目前发现有哪些Windows API是有问题的,或者说使用上面有误区的。

 

1、RegQueryValueEx

首先看看这个API,获取注册表里面的信息,这个API本身没有问题,暂时还没见到崩溃在这个API里面的。不过这个API的使用上面有一些小技巧需要注意。使用不当会引发一些意想不到的问题甚至崩溃(API的具体使用请查阅MSDN,下面不再赘述)。

问题主要发生在我们获取注册表里面的字符串值的情况下,看看这样一段代码:

DWORD dwType = REG_SZ;

DWORD