windows - 使用 GetAdaptersInfo() 时,所有适配器仅 Malloc 一次?

标签 windows winapi networking malloc

我查看了 MSDN 中的 GetAdaptersInfo() 示例:

http://msdn.microsoft.com/en-us/library/aa365917%28VS.85%29.aspx

并注意到虽然示例尝试遍历所有适配器,但它只为第一个适配器分配内存。

这是一个错误吗?

如果不是,为什么不呢?所有适配器都具有相同的信息大小吗?

为了进一步澄清我的问题:我了解样本中两次调用 malloc 的作用。我不明白的是为什么它在循环之外。如果系统中只有一个适配器,当然没有问题。但是当有多个适配器时会发生什么?这是错误吗?

谢谢。

最佳答案

此示例代码中需要注意的一件事是,如果在调用 GetAdaptersInfo 之间适配器的数量恰好增加,您将过度运行缓冲区。这是极不可能的,但代码仍应检查该条件。

关于windows - 使用 GetAdaptersInfo() 时,所有适配器仅 Malloc 一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3982246/

相关文章:

c - Win32 WriteFile 返回 0 字节作为写入的字节数。 lpBuffer 包含 4455 字节

c - winapi 最小化窗口通知(橙色冲洗)

ios - 如何使用 AFNetworking 将数据 POST 到 Parse.com

c# - 启动 Windows 服务时无法找到程序集文件 'example.dll'

c# - 按钮数组的点击事件

c# - 从 PathTooLongException 中检索路径信息

c++ - 如何在 Visual Studio 2012 中为基于 Win32 对话框的应用程序启用 'Insert Activex Control'?

c# - 如何获取已知文件夹的本地化名称?

networking - 如何构建可以处理 20.000 个并发连接的服务器?

.net - .Net 的 UPnP 库