WinHTTP Async的句柄,是否需要关闭?

问题描述 投票:3回答:1

你是否需要关闭来自 WinHttpOpen(), WinHttpConnect()WinHttpOpenRequest()在你使用它们之后 async模式的WinHttpOpen()。

我想它们是需要的,但是 何以见得 因为所有的事情都是异步完成的,我看到回调的最后一次调用事件是 WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE但我不确定是否总是这样(最后一次调用)。

所以我是否需要关闭句柄,如果需要,如何关闭?

c++ windows winhttp
1个回答
0
投票

是的,WinHTTP句柄需要被关闭。WinHttOpen()。 文档。

当调用程序使用完WinHttpOpen返回的HINTERNET句柄后,必须使用 WinHttpCloseHandle 函数。

对于异步模式,这可以在类的析构器上完成。在这种情况下,句柄可以是一个成员变量,所以不会丢失。如果你使用的是主函数,只需在最后关闭句柄即可。

© www.soinside.com 2019 - 2024. All rights reserved.