调用 DeleteIpForwardEntry() 在 Windows XP 和 Windows 7 上运行良好。但是,在 Windows Vista 上,它会因 ERROR_ACCESS_DENIED 而失败。
文档说“用户在本地计算机上缺乏所需的管理权限,或者应用程序没有在增强的外壳中作为内置管理员(RunAs 管理员)运行。”
好吧,在我的情况下,用户是本地计算机上的管理员,并且应用程序在登录时通过 SOFTWARE\Microsoft\Windows\CurrentVersion\Run 运行,所以我不能真正告诉它在“增强的 shell”中运行。
有没有办法解决 Vista 中的这种“Catch 22”情况?