Адрес функции вызвал сбой защиты - ошибка печати

Если при попытке распечатать файлы/документы из программы Microsoft Office , такой как Word , Excel , Publisher и др., вы получаете сообщение об ошибке печати(printing error) ; Адрес функции вызвал сбой защиты(Function address caused a protection fault) — тогда этот пост призван вам помочь. В этом посте мы определим некоторые потенциальные известные причины, которые могут вызвать ошибку, а затем предложим возможные решения, которые вы можете попробовать, чтобы помочь устранить эту проблему.

При сбое задания на печать появляется следующий экземпляр сообщения об ошибке;

Function address 12345 caused a protection fault.
(exception code 12345)
The application property sheet page(s) may not function properly.

Адрес функции вызвал сбой защиты

Большинство пользователей, которые сталкиваются с этой ошибкой печати, сообщают, что ошибка не возникает, если они пытаются печатать обычным способом — ошибка появляется только при попытке печати из приложения Office . Имейте(Bear) в виду, что существуют различные экземпляры этого сообщения об ошибке с разными кодами ошибок. Однако основные причины одни и те же — следовательно, одно и то же исправление должно работать во всех случаях этой ошибки.

Вы можете столкнуться с сообщением об ошибке из-за одной или нескольких (но не ограничиваясь ими) следующих известных причин;

  • Правильный принтер не установлен по умолчанию.
  • Устаревший драйвер принтера.
  • Повреждены подразделы принтера.
  • (System)Повреждение системных файлов. Повреждение системных файлов(System) является менее вероятным, но возможным виновником этой проблемы. Как правило, он появляется после того, как проверка безопасности закончилась помещением в карантин некоторых элементов, используемых службой печати.

Исправить(Fix Function) Адрес функции вызвал сбой защиты

Если вы столкнулись с тем, что этот адрес функции вызвал ошибку печати ошибки защиты(Function address caused a protection fault) , вы можете попробовать наши рекомендуемые ниже решения в произвольном порядке и посмотреть, поможет ли это решить проблему.

  1. Запустите средство устранения неполадок принтера
  2. Запустите сканирование SFC/DISM
  3. Изменить принтер по умолчанию
  4. Обновите драйвер принтера
  5. Удалите драйвер принтера, переименуйте подразделы печати и перезапустите службу диспетчера очереди печати.(Print Spooler)
  6. Изменить значение раздела реестра LegacyDefaultPrinterMode
  7. Выполнить восстановление системы

Давайте взглянем на описание процесса, связанного с каждым из перечисленных решений.

Fix Ошибка защиты(Fix Protection) Ошибка свойств принтера(Printer Properties)

1] Запустите средство устранения неполадок принтера

Запуск встроенного средства устранения неполадок (Troubleshooter)Windows 10 перезапустит принтер и драйверы и проверит наличие ошибок. Ваш принтер должен быть подключен во время этой процедуры.

Чтобы  запустить средство устранения неполадок принтера(run the Printer Troubleshooter) , выполните следующие действия:

  • Нажмите  «Пуск»(Start)  и выберите  «Настройки».(Settings.)
  • Перейдите в «  Обновление и безопасность».( Update and Security.)
  • Перейдите на  вкладку « Устранение неполадок(Troubleshooter)  ».
  • Прокрутите вниз и нажмите  «Принтеры».(Printers.)
  • Нажмите кнопку  Запустить средство устранения неполадок( Run the troubleshooter)  .
  • Следуйте(Follow) инструкциям на экране и примените все рекомендуемые исправления.

После этого(Afterward) попробуйте распечатать и посмотрите, устранена ли ошибка печати адреса функции, вызвавшая ошибку защиты . (Function address caused a protection fault)Если нет, перейдите к следующему решению.

2] Запустите сканирование SFC/DISM

SFC/DISM —   это утилита в Windows , которая позволяет пользователям сканировать системные файлы Windows на наличие повреждений и(Windows) восстанавливать поврежденные файлы.

Для простоты и удобства вы можете запустить сканирование, используя описанную ниже процедуру.

  • Нажмите клавишу Windows + R.
  • В диалоговом окне «Выполнить» введите « Блокнот(notepad) » и нажмите Enter, чтобы открыть «Блокнот».
  • Скопируйте и вставьте приведенную ниже команду в текстовый редактор.
@echo off
date /t & time /t
echo Dism /Online /Cleanup-Image /StartComponentCleanup
Dism /Online /Cleanup-Image /StartComponentCleanup
echo ...
date /t & time /t
echo Dism /Online /Cleanup-Image /RestoreHealth
Dism /Online /Cleanup-Image /RestoreHealth
echo ...
date /t & time /t
echo SFC /scannow
SFC /scannow
date /t & time /t
pause
  • Сохраните файл с именем и добавьте расширение .bat  , например; SFC_DISM_scan.bat .
  • Повторно запускайте пакетный файл с правами администратора(run the batch file with admin privilege)  (щелкните правой кнопкой мыши сохраненный файл и выберите «  Запуск(Run as Administrator) от имени администратора» в контекстном меню), пока он не сообщит об ошибках.
  • Перезагрузите компьютер.

Повторите попытку печати и проверьте, устранена ли проблема. Если нет, перейдите к следующему решению.

3] Изменить принтер по умолчанию

Адрес функции, вызвавший ошибку печати сбоя защиты,(Function address caused a protection fault) также может возникнуть в ситуации, когда принтер, который вы хотите использовать, не настроен по умолчанию в настройках Windows . Чтобы изменить принтер по умолчанию, выполните следующие действия:

  • Нажмите клавишу Windows + R.
  • В диалоговом окне « Выполнить(Run) » скопируйте и вставьте ms-settings:printers  и нажмите Enter, чтобы открыть окно «  Принтеры и сканеры(Printers & scanners) » приложения  «  Настройки(Settings) »  .
  • Когда вы окажетесь на вкладке « Принтеры и сканеры(Printers & scanners) », прокрутите вниз правую панель и снимите флажок « Разрешить Windows управлять моим принтером по умолчанию(Allow Windows to manage my default printer) ».
  • Теперь выберите принтер, который вы хотите использовать, и нажмите « Установить по умолчанию(Set as default) » .

Установив правильный принтер по умолчанию, перезагрузите компьютер и посмотрите, устранена ли ошибка печати. Если нет, перейдите к следующему решению.

Прочтите(Read) :  Как восстановить заводские настройки принтера по умолчанию .

4] Обновить драйвер принтера

Это решение требует, чтобы вы установили последние версии драйверов печати для вашего принтера. Вы можете  загрузить последнюю версию драйвера принтера(download the latest version of the printer driver)  с веб-сайта производителя.

Кроме того, вы можете обновить драйвер принтера(update the printer driver) через диспетчер устройств. Вот как:

  • Нажмите клавишу Windows + X, чтобы открыть меню опытного пользователя(Power User Menu) , затем нажмите клавишу M , чтобы открыть диспетчер устройств.
  • Когда вы окажетесь в Диспетчере устройств(Device Manager) , прокрутите вниз список установленных устройств и разверните/ сверните раздел Очереди печати .(Print queues )
  • Затем щелкните правой кнопкой мыши принтер, с которым у вас возникли проблемы, и выберите « Обновить драйвер(Update driver) » в контекстном меню.
  • На следующем экране нажмите Автоматический поиск обновленного программного обеспечения драйвера.(Search automatically for updated driver software.)
  • Дождитесь(Wait) завершения сканирования. Если обнаружена новая версия драйвера, следуйте инструкциям на экране, чтобы загрузить и установить ее на свой компьютер.
  • Перезагрузите устройство.

Попробуйте отправить задание на печать и посмотрите, устранена ли ошибка печати адреса функции, вызвавшая ошибку защиты . (Function address caused a protection fault)Если нет, перейдите к следующему решению.

5] Удалите(Uninstall) драйвер принтера, переименуйте подразделы печати и перезапустите службу диспетчера очереди печати.(Print Spooler)

В этом решении есть последовательность задач (включая удаление драйвера принтера, переименование подразделов печати и перезапуск службы диспетчера очереди печати(Print Spooler) ), которые необходимо выполнить, чтобы увидеть, можно ли устранить ошибку печати, вызванную адресом функции, с ошибкой защиты .(Function address caused a protection fault)

Сделайте следующее:

  • Войдите на зараженный компьютер.
  • Нажмите клавишу Windows + X, чтобы открыть меню опытного пользователя(Power User Menu) , затем нажмите клавишу M , чтобы открыть диспетчер устройств.
  • Когда вы окажетесь в Диспетчере устройств(Device Manager) , просмотрите список установленных устройств и разверните раскрывающееся меню Очереди печати .(Print queues)
  • Затем щелкните правой кнопкой мыши драйвер принтера, который вы хотите удалить, и выберите « Удалить устройство»(Uninstall Device) .
  • Нажмите « Удалить»(Uninstall)  еще раз, чтобы подтвердить процесс.

После завершения процесса удаления вы можете выйти из диспетчера устройств(Device Manager) .

  • Затем нажмите клавишу Windows + R, чтобы вызвать диалоговое окно « Выполнить ».(Run)
  • В диалоговом окне «Выполнить» введите printui.exe /s /t2  и нажмите Enter, чтобы открыть  пользовательский интерфейс свойств сервера печати(Printer Server Properties UI) .
  • Когда вы окажетесь на экране « Свойства сервера печати(Print Server Properties)  », перейдите на вкладку «  Драйверы(Drivers)  » и выберите драйвер, вызывающий проблему. Выбрав драйвер, нажмите кнопку « Удалить(Remove) » .
  • Затем вам будет предложено диалоговое окно « Удалить драйвер и пакет(Remove Driver And Package ) ».
  • Выберите переключатель « Удалить только драйвер».(Remove driver only.)
  • Нажмите «ОК».(OK.)

После завершения процесса вы можете закрыть экран свойств сервера печати(Print Server Properties)  .

  • Теперь нажмите клавишу Windows + R, чтобы открыть другое диалоговое окно « Выполнить ».(Run)
  • Введите regedit в текстовое поле и нажмите  Enter  , чтобы открыть  редактор реестра(Registry Editor) .

Важно! Сделайте (Important:) резервную копию реестра(Back up the registry) , прежде чем продолжить эту процедуру, чтобы иметь возможность восстановить реестр в случае, если что-то пойдет не так.

  • Перейдите или перейдите к пути к ключу реестра ниже:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Print Processors\

На месте переименуйте все подразделы или ключи в разделе « Процессоры печати»(Print Processors) с расширением .old(.old extension) . Это заставит Windows игнорировать эти ключи и вместо этого создавать новые папки и значения.

Примечание(Note) . В данном случае имеется только один подраздел (winprint), поэтому мы переименовали его в winprint.old .

После завершения этого шага вы можете безопасно закрыть редактор реестра(Registry Editor) .

  • Снова вызовите диалоговое окно « Выполнить », введите (Run)services.msc в текстовом поле и нажмите Enter  , чтобы открыть окно «  Службы(Services) »  .
  • В окне « Службы(Services)  » найдите службу «  Диспетчер очереди печати»( Print Spooler)  .
  • Щелкните правой кнопкой мыши  диспетчер очереди печати(Print Spooler)  и выберите  « Свойства».(Properties.)
  • В окне «Свойства» нажмите  «Остановить».(Stop.)

Это остановит процесс очереди печати. Не закрывайте окно свойств диспетчера очереди печати .(Print Spooler Properties)

  • Теперь откройте проводник(File Explorer) и перейдите в следующее место:

C:\WINDOWS\system32\spool\PRINTERS

  • Удалите все файлы в  папке « Принтеры(Printers)  ».

Если вы не видите никаких файлов, перейдите на вкладку «  Вид(View)  » и установите флажок «  Скрытые элементы(Hidden Items)  ».

  • Закройте окно Проводника.
  • В окне « Свойства диспетчера очереди печати(Print Spooler Properties) » нажмите кнопку «  Пуск(Start) »  , чтобы перезапустить службу.

Перезагрузите компьютер еще раз и переустановите необходимые драйверы принтера при следующем включении компьютера. Попробуйте выполнить задание на печать еще раз и посмотрите, решена ли проблема.

6] Изменить значение раздела реестра LegacyDefaultPrinterMode.

В этом решении, чтобы устранить ошибку печати сбоя защиты, связанную с адресом функции(Function address caused a protection fault) , вам потребуется изменить значение(Value) раздела реестра LegacyDefaultPrinterMode в редакторе реестра(Registry Editor) .

Вот как:

Не забудьте сделать резервную копию реестра.

  • Перейдите(Navigate) или перейдите к пути к разделу реестра ниже:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
  • На правой панели дважды щелкните LegacyDefaultPrinterMode , чтобы изменить его свойства.
  • Установите значение данных на 1.

Это вернет к старому поведению принтера по умолчанию в Windows 10 .

  • Нажмите OK , чтобы сохранить изменения.
  • Перезагрузите ПК.

Проверьте, решена ли проблема. В противном случае продолжите со следующим решением.

7] Выполните восстановление системы

Если вы заметили, что адрес функции вызвал ошибку печати ошибки защиты,(Function address caused a protection fault) которая недавно начала возникать, вполне возможно, что проблема была вызвана изменением, которое недавно произошло в вашей системе.

Если вы понятия не имеете, какие изменения могли привести к нарушению функций печати в ваших приложениях Office , вы можете использовать восстановление системы(System Restore) (любые изменения, такие как установка приложений, пользовательские настройки и все остальное, сделанное за это время, будут потеряны), чтобы вернуться к дата, когда вы уверены, что печать работала правильно.

Чтобы выполнить восстановление системы , выполните следующие действия:

  • Нажмите клавишу Windows + R.
  • В диалоговом окне «Выполнить» введите rstrui  и нажмите Enter, чтобы открыть   мастер восстановления системы .(System Restore)
  • Когда вы попадете на начальный экран восстановления системы(System Restore) , нажмите « Далее(Next) », чтобы перейти к следующему окну.
  • На следующем экране установите флажок, связанный с Показать больше точек восстановления(Show more restore points) .
  • После того, как вы это сделаете, выберите точку, которая имеет более раннюю дату, чем та, в которой вы впервые начали замечать ошибку.
  • Щелкните Далее(Next)  , чтобы перейти к следующему меню.
  • Нажмите « Готово(Finish)  » и подтвердите в последнем запросе.

При следующем запуске системы будет применено старое состояние вашего компьютера.

Hopefully, any of these solutions will fix the issue for you!



About the author

Я инженер-программист с более чем 10-летним опытом работы с Apple iOS и периферийными устройствами. Мой опыт в разработке аппаратного обеспечения заставляет меня стремиться к тому, чтобы устройства наших клиентов были максимально надежными и плавными. Последние несколько лет я пишу код и научился использовать Git, Vim и Node.js.



Related posts