Для таких буферов я обычно код:
var
Buf: array[word] of byte;
Который выделяет 64 КБ буфера.
Но, из моего небольшого эксперимента, WinINet настолько медленный, что размер внутреннего буфера сильно не изменится.
Если вы ищете производительность, взгляните на WinHTTP , который намного быстрее, чем WinINet . Более чем в 10 раз быстрее, по крайней мере, для нескольких соединений. Единственная отсутствующая функция - это диалоговые окна для удаленного удаленного доступа:
Службы Microsoft Windows HTTP (WinHTTP) предоставляют разработчикам
высокоуровневый интерфейс с поддержкой сервера
к HTTP / 1.1 интернет-протоколу.
WinHTTP предназначен для использования
в основном в серверных сценариях
серверные приложения, которые общаются
с HTTP-серверами.
WinINet был разработан как клиентская платформа HTTP для интерактивных
настольные приложения, такие как
Microsoft Internet Explorer, Microsoft
Офис и Microsoft Money. WinINet
отображает пользовательский интерфейс для некоторых
такие операции, как сбор пользователя
полномочия. WinHTTP, однако, обрабатывает
эти операции программно.
Серверные приложения, требующие HTTP
клиентские сервисы должны использовать WinHTTP
вместо WinINet. Для большего
информацию смотрите в Портировании WinINet
Приложения к WinHTTP.
WinHTTP также предназначен для использования в системных службах и клиенте на основе HTTP
Приложения. Тем не менее, однопользовательский
приложения, которым требуется протокол FTP
функциональность, постоянство файлов cookie,
кеширование, автоматический диалог учетных данных
обработка, Internet Explorer
совместимость или платформа нижнего уровня
поддержка должна рассмотреть возможность использования
WinINet.
Извлечено из MSDN
Я реализовал доступ клиентов WinInet и WinHTTP в нашей открытой ORM-структуре. Вы можете взглянуть на эту статью блога, чтобы узнать больше информации о WinHTTP .
Насколько я знаю, в последней версии IE используется WinHTTP вместо WinINet . Поэтому мы можем рассмотреть возможность пойти в том же направлении.