本文主要是介绍HttpOpenRequest 函数偶尔会引起崩溃的坑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
通常我们会像下面一样调用:
HINTERNET HttpOpenRequestA([in] HINTERNET hConnect,[in] LPCSTR lpszVerb,[in] LPCSTR lpszObjectName,[in] LPCSTR lpszVersion,[in] LPCSTR lpszReferrer,[in] LPCSTR *lplpszAcceptTypes,[in] DWORD dwFlags,[in] DWORD_PTR dwContext
);CONST TCHAR *szAcceptType=__HTTP_ACCEPT_TYPE;hRequest = HttpOpenRequest( hConnection,__HTTP_VERB_GET, // HTTP VerbszURI, // Object NameHTTP_VERSION, // VersionNULL, // Reference&szAcceptType, // Accept TypeINTERNET_FLAG_KEEP_CONNECTION | NTERNET_FLAG_NO_CACHE_WRITE,0); // context call-back point
这里将会存在隐患,不定时随机崩溃
First-chance exception in Test.exe (KERNEL32.DLL): 0xC0000005: Access Violation
这里需要查阅MSDN后就能明白了:
HttpOpenRequestA 函数 (wininet.h) - Win32 apps | Microsoft Learn
所以要按上面的方法写szAcceptTypes,因为他是一个二维数组.
这篇关于HttpOpenRequest 函数偶尔会引起崩溃的坑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!