我查看了 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/