0
点赞
收藏
分享

微信扫一扫

WinHttpOpenRequest第6个参数如何传?LPCWSTR*


WinHttpOpenRequest第6个参数MSDN的解释如下:


ppwszAcceptTypes [in]


Pointer to a null-terminated array of string pointers that specifies media types accepted by the client. If this parameter is set to WINHTTP_DEFAULT_ACCEPT_TYPES, no types are accepted by the client. Typically, servers handle a lack of accepted types as indication that the client accepts only documents of type "text/*"; that is, only text documents—no pictures or other binary files. For a list of valid media types, see ​​Media Types​​ defined by IANA at http://www.iana.org/assignments/media-types/.

参考地址:

​​https://msdn.microsoft.com/en-us/library/windows/desktop/aa384099(v=vs.85).aspx​​


---------------------------------------------------------------------------------------------------------------------------------------------------

网上的例子,第6个参数一般传:WINHTTP_DEFAULT_ACCEPT_TYPES,官方的例子也是一样。。。

--------------------------------------------------------------------------------------------------------

第6个参数的类型是LPCWSTR*,即WCHAR**,即是指向字符串的指针数组。

明白其是一个字符串指针数组,数组中的元素是WCHAR*,那么我们就可以这样传参数了:


LPCWSTR ppwszAcceptTypes[3];    // 创建一个WCHAR*指针数据
WCHAR szTmpW[3][32] = {0}; // 字符串数据
wcscpy(szTmpW[0], L"接收类型1");
wcscpy(szTmpW[1], L"接收类型2");
ppwszAcceptTypes[0] = szTmpW[0];
ppwszAcceptTypes[1] = szTmpW[1];
ppwszAcceptTypes[2] = NULL; // 最后一个指针元素必须是NULL,不然判断不了结束位置哈

WinHttpOpenRequest((HINTERNET)222, L"WWW哦", L"呜呜呜", L"OK", L"RRR", ppwszAcceptTypes, 77);


---------------------------------------------------------------------------------------------------


参数传完了,如何解析呢?代码如下:


// 这个需要特别对待呀
LPCWSTR *pAcceptType = ppwszAcceptTypes;
int iIndex = 0;
while(pAcceptType != NULL )
{
if (pAcceptType[iIndex] == NULL)
{
break;
}
WCHAR* pTmp = pAcceptType[iIndex];

}













举报

相关推荐

0 条评论