DeleteIpForwardEntry() の呼び出しは、Windows XP および Windows 7 では問題なく機能します。ただし、Windows Vista では、ERROR_ACCESS_DENIED で失敗します。
ドキュメントには、「ユーザーがローカル コンピューターで必要な管理者権限を持っていないか、アプリケーションが組み込みの管理者 (RunAs 管理者) として拡張シェルで実行されていない」と記載されています。
私の場合、ユーザーはローカル コンピューターの管理者であり、アプリケーションは SOFTWARE\Microsoft\Windows\CurrentVersion\Run 経由でログオン時に実行されるため、「拡張シェル」で実行するように指示することはできません。
Vista でこの「Catch 22」の状況を解決する方法はありますか?