gpt4 book ai didi

c++ - INTERNET_SCHEME_HTTPS 在两个头文件中的定义如何不同?

转载 作者:太空宇宙 更新时间:2023-11-04 03:35:59 24 4
gpt4 key购买 nike

假设,如果我包含 Winhttp.h,则 INTERNET_SCHEME_HTTPS 定义为 2: https://msdn.microsoft.com/en-us/library/windows/desktop/hh707320(v=vs.85).aspx

但是如果我包含 Wininet.h,它被定义为 4: https://msdn.microsoft.com/en-us/library/windows/desktop/aa385149(v=vs.85).aspx

那是哪一个呢?

最佳答案

答案都是有效的。这取决于您使用的是 WinINet 还是 WinHTTP。

引用自WinINet vs. WinHTTP在 MSDN 上:

With a few exceptions, WinINet is a superset of WinHTTP. When selecting between the two, you should use WinINet, unless you plan to run within a service or service-like process that requires impersonation and session isolation.

简而言之,这两个接口(interface)是不兼容的,因为它们不必兼容。两者是互斥的。

如果出于某种原因你需要两者,要么将实现分成单独的模块,要么按照 Harry Johnston 和 IInspectable 的评论中的建议,使用 #pragma push_macro 保存宏。然后 #undef 它。

关于c++ - INTERNET_SCHEME_HTTPS 在两个头文件中的定义如何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32726887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com