2010-04-22 31 views
1

这是一个奇怪的驱动程序错误,对我没有多大意义。当从配置文件中读取配置延迟和制造商信息时,缓冲区溢出错误

我正在运行我们公司开发的C#.NET开发的应用程序。

我正在使用进程监视器监视应用程序,并注意到它访问了很多注册表。在进程监视器输出看起来是这样的,

Operation  Result   Path 
RegQueryValue Success   HKLM\System\CurrentControlSet\Enum\SWMUXBUS\SW_MODEM\7&6c4af30&0&5&0004\Driver 
RegQueryValue Success   HKLM\System\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\0000\Properties 
RegQueryValue Success   HKLM\System\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\0000\Default 
RegQueryValue Success   HKLM\System\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\0000\InactivityScale 
RegQueryValue Name Not Found HKLM\System\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\0000\PowerDelay 
RegQueryValue Name Not Found HKLM\System\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\0000\ConfigDelay 
RegQueryValue Buffer Overflow HKLM\System\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\0000\Manufacturer 
RegQueryValue Buffer Overflow HKLM\System\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\0000\Model 
RegQueryValue Name Not Found HKLM\System\CurrentControlSet\Control\Class\{4D36E96D-E325-11CE-BFC1-08002BE10318}\0000\Version 

的应用程序在读这东西从注册表中每5秒,所以我会问几个问题,

  1. 这是什么东西?
  2. 为什么应用程序阅读这些东西?
  3. 为什么说'缓冲区溢出'?
  4. 这可能会导致我的应用程序的性能问题?

从我所看到的应用程序没有明确阅读这个东西,所以我认为这涉及到机器上的驱动程序(这是一个上网本)。

+1

这可能更适合堆栈溢出。如果您希望我们将其迁移到那里,请举出版主注意。 – 2010-04-22 04:35:43

+1

也许,但我认为,因为它可能与驱动程序有关,它更多的是硬件。如果我在另一台机器上运行这个软件,我没有得到上述注册表的东西。如果达成一致,很乐意提出它? – peter 2010-04-22 04:47:58

+0

@peter:我认为这里没问题;它有点低级,所以你可能需要等一会儿才能得到答案。所以可能会更快地回答它。 – 2010-04-22 09:39:27

回答

3

看起来像检查调制解调器,似乎是一些WLAN设备。

“缓冲区溢出”是注册表查询的正常返回值,其中调用方指定的缓冲区很小。通常情况下,您将使用零大小的缓冲区进行查询以确定所需的大小,并跟进第二个查询和足够大的缓冲区。