Как найти причину ошибки Access Denied на компьютере с Windows? - PullRequest
1 голос
/ 11 апреля 2011

Мне было интересно, есть ли способ узнать точные причины ошибки «Отказано в доступе» в окне Windows.

Например, у меня есть этот код, который аварийно завершает работу при отказе в доступе на Win2008R2, когда он работает без изменений. Я надеялся, что ProcMon точно скажет мне, к какому ресурсу отказано в доступе - нет, хотя я не фильтровал события.

Итак, я немного растерян - как же я должен это устранить?

Для справки, я пытаюсь запустить код ICertAdmin2.ResubmitRequest. Он работает нормально с повышенными правами, но завершается неудачно с отказом в доступе, когда выполняется без прав:

System.UnauthorizedAccessException: CCertAdmin::ResubmitRequest: Access is denied. 0x80070005 (WIN32: 5)
   at CERTADMINLib.ICertAdmin2.ResubmitRequest(String strConfig, Int32 RequestId)

Заранее спасибо всем Добрым Самаритянам там.

Ответы [ 2 ]

0 голосов
/ 11 апреля 2011

Код ошибки, который вы получаете, выглядит как код ошибки COM HRESULT.Все это имеет особое значение.Посмотрите здесь , чтобы узнать больше, как их интерпретировать.

0 голосов
/ 11 апреля 2011

ProcMon не будет, но filemon, вероятно, будет. Он сообщает вам об успехе / отказе и поисках.

Скорее всего, это попытка записи в программные файлы (но не ограничиваясь этим), но filemon скажет вам

...