DLL провайдера w32time настроен неправильно? - не удалось загрузить w32time с ошибкой «доступ запрещен»

0

Я нахожусь на своем пути с этой супер описательной ошибкой "Доступ запрещен". Здесь доведено до конца. Пожалуйста, имейте в виду, что есть много информации, поэтому я могу оставить некоторых случайно.

  • Я пишу поставщика времени для службы w32time, это НЕ sysadmin, он не фиксируется путем регистрации/отмены регистрации службы
  • Я подозреваю, что моя dll неправильно настроена таким образом, чтобы создать ошибку "Access Denied"

Вот что я сделал, чтобы попытаться выяснить, что случилось с моей dll:

-Ran это зависит от всех функций обратного вызова (TimeProvOpen, TimeProvClose, TimeProvCmd)

  • Все права доступа к dll и всей иерархии каталогов теперь читаются/записываются/изменяются
  • Поместите некоторые записи в dll - ничего журналов, что означает, что TimeProvOpen даже не вызван!
  • Я определенно администратор

Я не уверен, что еще делать. Я включил журналы отладки для службы времени Windows, и это не более описательно. Просто говорит:

Запуск 'mytimeprovider', dll: 'path'

Ошибка регистрации: Time Provider "mytimeprovider" не удалось запустить из-за следующей ошибки: доступ запрещен (0x80070005)

Что еще я должен искать? Что может вызвать отказ в доступе, даже если разрешения являются хорошими, и отображаются функции обратного вызова?

Теги:
dll
time
service

2 ответа

0

Если вы не являетесь разработчиком какого-либо атомарного устройства синхронизации времени с вашим компьютером, зачем вам решать эту проблему?

Я имею в виду, что w32tm.exe уже может синхронизироваться с протоколом времени tcp с другими серверами времени на основе ip в Интернете. протокол регулирует время работы компьютера в зависимости от промежутка времени и может игнорировать большие пробелы (или вы можете отключить это). Просто beter просто будет источником времени на основе ip, поэтому вам не нужно менять саму службу (ну, я не могу представить, почему кто-то будет)

Для вашего устройства просто вы можете позволить ему говорить по протоколу tcp/ip в том же протоколе, который используется службой w32tm.exe. Вы могли бы сделать это с помощью arduino или pic, расформировав всю ОС Windows и получив меньшее количество часов для продажи.

Кстати, эта служба может отслеживать несколько сервисов времени, поэтому ее не так просто обмануть.

Или оберните вокруг time.exe, чтобы просто установить время

  • 0
    Я делаю именно это. Написание провайдера времени для высокоточного ввода в настоящее время не поддерживается на этом компьютере. Спасибо за ответ.
  • 0
    Хорошо, может случиться так, что вам нужно запрограммировать его как службу (учетная запись локальной системы), службы могут работать под ней, но люди (обычно) не могут запустить код под этой учетной записью, поскольку они не могут войти в эту учетную запись. Время само по себе может быть изменено учетными записями администратора, но изменение его внутреннего поведения может потребовать еще больше разрешений и под другими учетными данными (учетная запись системы) ... это просто мысль. Даже администратор не обладает правами системного аккаунта, он как внутренний бог MS на машине (но не имеет сетевых удаленных разрешений).
0

Таким образом, моя dll зависит от другой статической библиотеки, созданной ассоциированной. Насколько я могу судить, мои разрешения возникают оттуда. Когда другая библиотека исключена, моя dll может быть загружена службой w32time. Я все еще пытаюсь понять, как включить эту другую DLL без ошибок.

По крайней мере, это не моя вина, да!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню