你是否需要关闭来自 WinHttpOpen(), WinHttpConnect() 和 WinHttpOpenRequest()在你使用它们之后 与 async模式的WinHttpOpen()。
我想它们是需要的,但是 何以见得 因为所有的事情都是异步完成的,我看到回调的最后一次调用事件是 WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE但我不确定是否总是这样(最后一次调用)。
所以我是否需要关闭句柄,如果需要,如何关闭?
是的,WinHTTP句柄需要被关闭。WinHttOpen()。 文档。
当调用程序使用完WinHttpOpen返回的HINTERNET句柄后,必须使用 WinHttpCloseHandle 函数。
对于异步模式,这可以在类的析构器上完成。在这种情况下,句柄可以是一个成员变量,所以不会丢失。如果你使用的是主函数,只需在最后关闭句柄即可。