Word、Excel、Publisherなどの(Publisher)Microsoft Officeプログラム内からファイル/ドキュメントを印刷しようとしたときに、印刷エラー(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)ただし、根本的な原因は同じです。したがって、このエラーのすべてのインスタンスで同じ修正が機能するはずです。
次の既知の原因の1つ以上(ただしこれらに限定されない)が原因でエラーメッセージが表示される場合があります。
- 正しいプリンタがデフォルトとして設定されていません。
- 古いプリンタドライバ。
- プリンタのサブキーが破損しています。
- システム(System)ファイルの破損–システム(System)ファイルの破損の可能性は低くなりますが、この問題の原因となる可能性があります。通常、セキュリティスキャンが印刷サービスで使用される一部のアイテムを検疫した後に表示されます。
修正機能(Fix Function)アドレスが保護違反を引き起こしました
この機能アドレスによって保護違反の(Function address caused a protection fault)印刷エラーが発生した場合は、以下の推奨される解決策を順不同で試して、問題の解決に役立つかどうかを確認できます。
- プリンタのトラブルシューティングを実行する
- SFC/DISMスキャンを実行する
- デフォルトのプリンタを変更する
- プリンタードライバーを更新する
- プリンタードライバーをアンインストールし、印刷サブキーの名前を変更して、PrintSpoolerサービスを再起動します
- LegacyDefaultPrinterModeレジストリキーの値データを変更します
- システムの復元を実行する
リストされた各ソリューションに関連するプロセスの説明を見てみましょう。
(Fix Protection)保護違反のプリンタプロパティ(Printer Properties)エラーを修正
1]プリンタのトラブルシューティングを実行する
Windows 10の組み込みのトラブルシューティング(Troubleshooter)を実行すると、プリンターとドライバーが再起動し、エラーがないか確認されます。この手順では、プリンタを接続する必要があります。
プリンタのトラブルシューティング(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キー+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)
- PCを再起動します。
印刷ジョブを再試行して、問題が解決するかどうかを確認してください。そうでない場合は、次の解決策に進みます。
3]デフォルトのプリンタを変更します
使用したいプリンタがWindows設定内のデフォルトとして設定されていない状況でも(Windows)、保護違反の印刷エラーの原因となった機能アドレスが発生する(Function address caused a protection fault)可能性があります。デフォルトのプリンタを変更するには、次の手順を実行します。
- Windowsキー+Rを押します。
- [実行]ダイアログボックスで、 (Run)ms-settings:printers をコピーして貼り付け、 Enterキーを押して、設定(Settings) アプリの[プリンターとスキャナー(Printers & scanners)] ウィンドウ を開き ます。
- [プリンタとスキャナー(Printers & scanners)]タブが表示されたら、右ペインを下にスクロールして、[Windowsにデフォルトのプリンター設定の管理を許可(Allow Windows to manage my default printer)する]チェックボックスをオフにします。
- 次に、使用するプリンタをクリックし、[デフォルトとして設定(Set as default)]をクリックします。
正しいプリンタをデフォルトとして設定したら、コンピュータを再起動して、印刷エラーが解決されるかどうかを確認します。そうでない場合は、次の解決策に進みます。
読む(Read): プリンタをデフォルトの工場出荷時設定にリセットする方法。
4]プリンタードライバーを更新する
このソリューションでは、プリンターに最新のプリントドライバーがインストールされていることを確認する必要があります。プリンタドライバの最新バージョンは(download the latest version of the printer driver) 、製造元のWebサイトからダウンロードでき ます。
または、デバイスマネージャを使用してプリンタドライバを更新する(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)PrintSpoolerサービスを再起動します
このソリューションでは、一連のタスク(プリンタードライバーのアンインストール、印刷サブキーの名前の変更、印刷スプーラー(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プリンタサーバーのプロパティUI(Printer Server Properties UI) を開き ます。
- [プリントサーバーのプロパティ](Print Server Properties) 画面が表示さ れたら、[ドライバ(Drivers) ]タブに移動し、問題の原因となっているドライバを選択します。ドライバを選択した状態で、[削除(Remove)]ボタンをクリックします。
- 次に、 [ドライバとパッケージの削除(Remove Driver And Package )]ダイアログが表示されます。
- [ドライバのみ(Remove driver only.)を削除]のラジオボタンを選択します。
- [ OK]をクリックします。(OK.)
プロセスが完了すると、[プリントサーバーのプロパティ](Print Server Properties) 画面を終了できます。
- 次に、 Windowsキー+ Rを押して、別の[(Windows)実行(Run)]ダイアログボックスを開きます。
- テキストボックス内にregeditと入力し、Enterキーを押し てレジストリ(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)は1つしかないため、名前をwinprint.oldに変更しました。
この手順が完了すると、レジストリエディタ(Registry Editor)を安全に閉じることができます。
- ここでも、[実行(Run)]ダイアログボックスを呼び出し、テキストボックス内にservices.mscと入力し、 (services.msc)Enterキーを押して[(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)レジストリエディタで(Registry Editor)LegacyDefaultPrinterModeレジストリキーの値(Value)データを変更する必要があります。
方法は次のとおりです。
レジストリをバックアップすることを忘れないでください。
- (Navigate)以下のレジストリキーパスに移動またはジャンプします。
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
- 右側のペインで、LegacyDefaultPrinterModeをダブルクリックして、そのプロパティを編集します。
- 値データを1に設定します。(1.)
これにより、 Windows10(Windows 10)での以前のデフォルトのプリンター動作に戻ります。
- [ OK]をクリックして変更を保存します。
- PCを再起動します。
問題が解決したかどうかを確認してください。それ以外の場合は、次の解決策に進みます。
7]システムの復元を実行する
関数アドレスが原因で保護違反の(Function address caused a protection fault)印刷エラーが最近発生し始めたことに気付いた場合は、システムが最近行った変更によって問題が促進された可能性があります。
Officeアプリケーションの印刷機能を損なう原因となった可能性のある変更がわからない場合は、システムの復元(System Restore)を使用して(アプリケーションのインストール、ユーザー設定、およびその間に行われたその他の変更はすべて失われます)、に戻すことができます。印刷が正しく機能していると確信できる日付。
システムの復元を実行するには、次の手順を実行します。
- Windowsキー+Rを押します。
- [ファイル名を指定して実行]ダイアログボックスで、rstruiと入力し、Enterキーを押して(rstrui)システムの復元(System Restore) ウィザード を開き ます。
- システムの復元(System Restore)の初期画面が表示されたら、[次へ(Next)]をクリックして次のウィンドウに進みます。
- 次の画面で、[その他の復元ポイント(Show more restore points)を表示する]に関連付けられているチェックボックスをオンにします。
- これを行った後、最初にエラーに気づき始めた日付よりも古い日付のポイントを選択します。
- [次へ(Next)]をクリック して、次のメニューに進みます。
- [完了](Finish)をクリック して、最後のプロンプトで確認します。
次回のシステム起動時に、古いコンピューターの状態が適用されます。
Hopefully, any of these solutions will fix the issue for you!
Function address caused a Protection Fault - Printing error
If when yоu try to print files/documents from withіn a Microsoft Office program like Word, Excel, Publisher et al and you receive the printing error message; Function address caused a protection fault – then this post is intended to help you. In this post, we will identify some potential known causes that can trigger the error and then provide the possible solutions you can try to help remediate this issue.
When the print job fails, you receive the following instance of the error message;
Function address 12345 caused a protection fault.
(exception code 12345)
The application property sheet page(s) may not function properly.
Most users that are encountering this printing error, report that the error is not occurring if they try to print conventionally – the error only appears whenever they try to print from within an Office application. Bear in mind that there are various instances of this error message with different error codes. However, the underlying causes is the same – consequently, the same fix should work on all the instances of this error.
You might encounter the error message due to one or more (but not limited to) of the following known causes;
- The correct printer is not set as the default.
- Outdated printer driver.
- Corrupt printer subkeys.
- System file corruption – System file corruption is a less likely but a possible culprit for this problem. Typically, it appears after a security scan ended up quarantining some items used by the printing service.
Fix Function address caused a protection fault
If you’re faced with this Function address caused a protection fault printing error, you can try our recommended solutions below in no particular order and see if that helps to resolve the issue.
- Run Printer Troubleshooter
- Run SFC/DISM scan
- Change the default printer
- Update printer driver
- Uninstall printer driver, rename printing subkeys and restart Print Spooler service
- Change LegacyDefaultPrinterMode registry key Value data
- Perform System Restore
Let’s take a look at the description of the process involved in relation to each of the listed solutions.
Fix Protection fault Printer Properties error
1] Run Printer Troubleshooter
Running the Windows 10 in-built Troubleshooter will restart your printer and drivers and check for any errors. Your printer must be connected during this procedure.
To run the Printer Troubleshooter, do the following:
- Click Start and select Settings.
- Go to Update and Security.
- Click the Troubleshooter tab.
- Scroll down and click on Printers.
- Click the Run the troubleshooter button.
- Follow on-screen instructions and apply any recommended fixes.
Afterward, try printing and see if the Function address caused a protection fault printing error is resolved. If not, continue with the next solution.
2] Run SFC/DISM scan
The SFC/DISM is a utility in Windows that allows users to scan for corruptions in Windows system files and restore corrupted files.
For the purposes of ease and convenience, you can run the scan using the procedure below.
- Press Windows key + R.
- In the Run dialog box, type notepad and hit Enter to open Notepad.
- Copy and paste the command below into the text editor.
@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
- Save the file with a name and append the .bat file extension – eg; SFC_DISM_scan.bat.
- Repeatedly run the batch file with admin privilege (right-click the saved file and select Run as Administrator from the context menu) until it reports no errors.
- Restart your PC.
Try the print job again and see if the issue is resolved. If not proceed with the next solution.
3] Change the default printer
The Function address caused a protection fault printing error can also occur in a situation where the printer that you want to use is not set up as the default inside Windows settings. Do the following to change the default printer:
- Press Windows key + R.
- In the Run dialog box, copy and paste ms-settings:printers and hit Enter to open up the Printers & scanners window of the Settings app.
- Once you’re inside the Printers & scanners tab, scroll down on the right pane and uncheck the Allow Windows to manage my default printer setting.
- Now, click the printer that you want to use and click on Set as default.
After you establish the correct printer as the default, restart your computer and see if the printing error is resolved. If not continue with the next solution.
Read: How to reset Printer to default factory settings.
4] Update printer driver
This solution requires you to make sure you have installed the latest print drivers for your printer. You can download the latest version of the printer driver from the manufacturer’s website.
Alternatively, you can update the printer driver via Device Manager. Here’s how:
- Press Windows key + X to open the Power User Menu, then press M key to open Device Manager.
- Once you’re inside Device Manager, scroll down through the list of installed devices and expand/collapse the Print queues section.
- Next, right-click on the printer that you’re having issues with and choose Update driver from the context menu.
- At the next screen, click on Search automatically for updated driver software.
- Wait until the scan is complete. If a new driver version is found, follow the on-screen instructions to download & install it on your computer.
- Restart your device.
Try sending a print job and see if the Function address caused a protection fault printing error is resolved. If not, continue with the next solution.
5] Uninstall printer driver, rename printing subkeys and restart Print Spooler service
In this solution, there’s a sequence of tasks (which involves uninstalling printer driver, renaming printing subkeys and restarting Print Spooler service) that you need to complete to see if the Function address caused a protection fault printing error can be resolved.
Do the following:
- Log in to the affected computer.
- Press Windows key + X to open the Power User Menu, then press M key to open Device Manager.
- Once you’re inside Device Manager, navigate through the list of installed devices and expand the Print queues drop-down menu.
- Next, right-click on the printer driver that you want to remove and choose Uninstall Device.
- Click Uninstall once again to confirm the process.
Once the uninstall process completes, you can exit the Device Manager.
- Next, press Windows key + R to invoke the Run dialog box.
- In the Run dialog box, type printui.exe /s /t2 and hit Enter to open up the Printer Server Properties UI.
- Once you’re inside the Print Server Properties screen, go to the Drivers tab and select the driver that is causing the issue. With the driver selected, click the Remove button.
- You’ll then be prompted by the Remove Driver And Package dialog.
- Select the radio button for Remove driver only.
- Click OK.
Once the process is complete, you can exit the Print Server Properties screen.
- Now press Windows key + R to open up another Run dialog box.
- Type regedit inside the text box and press Enter to open up Registry Editor.
Important: Back up the registry before you continue with this procedure so that you can be able to restore the registry in the event something goes wrong.
- Navigate or jump to the registry key path below:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Print Processors\
At the location, proceed to rename any subkeys or keys under Print Processors with the .old extension. This will force Windows to disregard those keys and create new folders and values instead.
Note: In this case, there’s just one subkey (winprint), so we renamed it to winprint.old.
Once this step is complete, you can safely close Registry Editor.
- Again, invoke the Run dialog box and type services.msc inside the text box and press Enter to open up the Services window.
- In the Services window, locate the Print Spooler service.
- Right-click on Print Spooler and select Properties.
- In the Properties window, click Stop.
This will stop the print queue process. Keep the Print Spooler Properties window open.
- Now, open File Explorer and navigate to the following location:
C:\WINDOWS\system32\spool\PRINTERS
- Delete all the files in the Printers folder.
If you don’t see any files, click the View tab and check the Hidden Items box.
- Close the File Explorer window.
- In the Print Spooler Properties window, click the Start button to restart the service.
Restart your computer once again and reinstall the necessary printer drivers at the next computer startup. Try the print job once more and see if the issue is resolved.
6] Change LegacyDefaultPrinterMode registry key Value data
In this solution, to resolve the Function address caused a protection fault printing error, you’ll need to change LegacyDefaultPrinterMode registry key Value data in Registry Editor.
Here’s how:
Remember to back up the registry.
- Navigate or jump to the registry key path below:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
- On the right pane double-click LegacyDefaultPrinterMode to edit it’s properties.
- Set the Value data to 1.
This will return to the old default printer behavior under Windows 10.
- Click OK to save changes.
- Restart PC.
Check to see if the issue is resolved. Else continue with the next solution.
7] Perform System Restore
If you noticed that the Function address caused a protection fault printing error started to occur recently, it’s entirely possible that the issue was facilitated by a change that your system has gone through recently.
If you have no idea what changed that might have ended up breaking the printing functionality of your Office applications, you can use System Restore (any changes like application installs, user preferences and anything else made during that time will be lost) to revert to a date where you’re certain that the printing was working properly.
To perform System Restore, do the following:
- Press Windows key + R.
- In the Run dialog box, type rstrui and hit Enter to open up the System Restore Wizard.
- Once you arrive at the initial screen of System Restore, click Next to advance to the next window.
- At the next screen, check the box associated with Show more restore points.
- After you’ve done this, select a point that has an older date than the one in which you first started to notice the error.
- Click Next to advance to the next menu.
- Click Finish and confirm at the final prompt.
At the next system startup, your older computer state will be enforced.
Hopefully, any of these solutions will fix the issue for you!