Этот пример кода просто ничего не делает с данными. Вы должны добавить код, чтобы сделать что-то с данными, например:
if (!pszOutBuffer)
{
printf("Out of memory\n");
dwSize=0;
}
else
{
// Read the Data.
ZeroMemory(pszOutBuffer, dwSize+1);
if (!WinHttpReadData( hRequest, (LPVOID)pszOutBuffer,
dwSize, &dwDownloaded))
{
printf( "Error %u in WinHttpReadData.\n",
GetLastError());
}
else
{
// add code here to do something with the data
// data is in pszOutBuffer and byte count is dwSize
}
}
} while( dwSize > 0 );
Звонок на ZeroMemory
не нужен. Вероятно, это поможет вам не запутаться, если ваша программа ошибочно попытается получить доступ к данным после точки, которая была прочитана. В этом нет необходимости, если ваш код следует основным правилам здравого смысла при работе с данными, полученными по сети - не читайте за dwSize
и не предполагайте, что у данных есть завершающий нулевой байт.