関数アドレスが保護違反を引き起こしました - Windows 11/10 での印刷エラー

Word、Excel、Publisher などの Microsoft Office プログラム内からファイルやドキュメントを印刷しようとしたときに、印刷エラーメッセージが表示されます。関数アドレスが保護違反を引き起こしました一部のエラーコードと一緒に、この投稿はエラーを修正するのに役立ちます。

印刷ジョブが失敗すると、次のエラーメッセージのインスタンスが表示されます。

関数アドレス 12345 が保護違反を引き起こしました。
(例外コード 12345)
アプリケーションのプロパティシートページが適切に機能しない可能性があります。

一部またはすべてのプロパティページが表示されない場合があります。

関数アドレスが保護違反エラーが発生する原因

この印刷エラーが発生したほとんどのユーザーは、Office アプリケーション内から印刷しようとするたびにエラーが表示されると報告しています。このエラーメッセージには、さまざまなエラーコードを持つさまざまなインスタンスがあることに注意してください。ただし、根本的な原因は同じです。したがって、同じ修正がこのエラーのすべてのインスタンスで機能するはずです。

次の既知の原因の 1 つ以上(ただしこれらに限定されない)が原因でエラーメッセージが発生する可能性があります。

  • 正しいプリンタが既定として設定されていません。
  • プリンタドライバが古い。
  • プリンタのサブキーが破損している。
  • システムファイルの破損 - システムファイルの破損は考えにくいですが、この問題の原因となる可能性があります。通常、セキュリティスキャンが印刷サービスによって使用されるアイテムを隔離した後に表示されます。

関数アドレスが保護違反を引き起こす問題を修正する

関数アドレスが保護違反の印刷エラーが発生した場合は、次の解決策を試して問題を解決できます。

  1. プリンタのトラブルシューティングを実行する
  2. SFC と DISM スキャンを実行する
  3. 既定のプリンタを変更する
  4. プリンタドライバを更新する
  5. プリンタドライバをアンインストールし、印刷サブキーの名前を変更し、印刷スプーラサービスを再起動する
  6. LegacyDefaultPrinterMode レジストリキーの値データを変更する
  7. システムの復元を実行する

各方法の詳細を見てみましょう。

関数アドレスが保護違反を引き起こしました - Windows 11/10 での印刷エラー

1] プリンタのトラブルシューティングを実行する

Windows 11/10 の組み込みトラブルシューティングを実行すると、プリンタとドライバが再起動され、エラーがチェックされて修正されます。手順全体でプリンタが接続されている必要があります。

Windows 10 でプリンタのトラブルシューティングを実行するには、次の手順を実行します。

  • スタートをクリックし、設定を選択します。
  • 更新とセキュリティに移動します。
  • トラブルシューティングタブをクリックします。
  • 下にスクロールしてプリンタをクリックします。
  • トラブルシューティングを実行ボタンをクリックします。
  • 画面の指示に従って、推奨される修正を適用します。

Windows 11 でプリンタのトラブルシューティングを実行するには、

  • Windows + Iを押して設定を開きます
  • システム > トラブルシューティング > その他のトラブルシューティングに移動します
  • 下にスクロールして、プリンタの横にある実行をクリックします
  • トラブルシューティングが実行され、問題があれば修正されます

その後、印刷を試して、関数アドレスが保護違反の印刷エラーが解決されたかどうかを確認します。そうでない場合は、次の解決策に進みます。

2] SFC と DISM スキャンを実行する

Windows の SFC および DISM ユーティリティを使用すると、ユーザーは Windows システムファイルと Windows システムイメージの破損をスキャンして修復できます。

簡単かつ便利に、以下の手順を使用してスキャンを実行できます。

Windows PC でメモ帳を開き、次のコンテンツをコピーして貼り付けます。

@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
  • 管理者権限でバッチファイルを繰り返し実行します(保存したファイルを右クリックし、コンテキストメニューから管理者として実行を選択します)。エラーが報告されなくなるまで実行します。
  • PC を再起動します。

印刷ジョブをもう一度試して、問題が解決されたかどうかを確認します。そうでない場合は、次の解決策に進みます。

3] 既定のプリンタを変更する

関数アドレスが保護違反の印刷エラーは、使用するプリンタが Windows 設定で既定として設定されていない場合にも発生する可能性があります。

Windows 10 で既定のプリンタを変更するには、

  • スタートボタンをクリックし、プリンタとスキャナを検索します。プリンタとスキャナをクリックします。
  • プリンタとスキャナの設定で、右側のペインを下にスクロールし、Windows に既定のプリンタを管理させる設定のチェックを外します。
  • 次に、使用するプリンタをクリックし、既定に設定をクリックします。

Windows 11 で既定のプリンタを変更するには、

  • 設定アプリを開きます
  • Bluetooth とデバイスを選択し、プリンタとスキャナをクリックします
  • Windows に既定のプリンタを管理させるの横にあるボタンをオフにします。
  • 次に、既定として設定するプリンタをクリックして設定を開きます。プリンタの設定で、既定に設定をクリックします。

正しいプリンタを既定として設定したら、コンピュータを再起動して印刷エラーが解決されたかどうかを確認します。そうでない場合は、次の解決策に進みます。

4] プリンタドライバを更新する

この解決策では、プリンタ用の最新の印刷ドライバがインストールされていることを確認する必要があります。モデルに基づいて、メーカーの Web サイトからプリンタドライバの最新バージョンをダウンロードしてインストールできます。ドライバが見つからない場合は、サードパーティのドライバ更新プログラムを使用してドライバを更新できます。

問題が解決されたかどうかを確認します。

5] プリンタドライバをアンインストールし、印刷サブキーの名前を変更し、印刷スプーラサービスを再起動する

このプロセスには、関数アドレスが保護違反の印刷エラーを解決できるかどうかを確認するために完了する必要がある一連のタスク(プリンタドライバのアンインストール、印刷サブキーの名前変更、印刷スプーラサービスの再起動)が含まれます。

次の操作を行います。

  • 影響を受けるコンピュータにログインします。
  • Windows キー + X を押してパワーユーザーメニューを開き、Mキーを押してデバイスマネージャを開きます。
  • デバイスマネージャに入ったら、インストールされているデバイスのリストをナビゲートし、プリントキュードロップダウンメニューを展開します。
  • 次に、削除するプリンタドライバを右クリックしてデバイスのアンインストールを選択します。
  • プロセスを確認するために、もう一度アンインストールをクリックします。

アンインストールプロセスが完了したら、デバイスマネージャを終了できます。

  • 次に、Windows キー + R を押して実行ダイアログボックスを呼び出します。
  • 実行ダイアログボックスに「printui.exe /s /t2」と入力し、Enter キーを押してプリンタサーバのプロパティ UIを開きます。
  • プリンタサーバのプロパティ画面に入ったら、ドライバタブに移動し、問題を引き起こしているドライバを選択します。ドライバを選択したら、削除ボタンをクリックします。
  • ドライバとパッケージの削除ダイアログが表示されます。
  • ドライバのみを削除するラジオボタンを選択します。
  • OKをクリックします。

プロセスが完了したら、プリンタサーバのプロパティ画面を終了できます。

  • もう一度 Windows キー + R を押して別の「ファイル名を指定して実行」ダイアログボックスを開きます。
  • テキストボックスに「regedit」と入力し、Enter キーを押してレジストリエディタを開きます。

重要:続行する前にレジストリをバックアップしておくと、何か問題が発生した場合にレジストリを復元できます。

  • 以下のレジストリキーパスに移動またはジャンプします。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Print Processors\

その場所で、Print Processorsにあるサブキーまたはキーに「.old」拡張子を付けて名前を変更します。これにより、Windows はそれらのキーを無視し、代わりに新しいフォルダと値を作成します。

注:この場合、サブキーは 1 つ(winprint)しかないため、winprint.old に名前を変更しました。

この手順が完了したら、レジストリエディタを安全に閉じることができます。

  • もう一度、実行ダイアログボックスを呼び出し、テキストボックスに「services.msc」と入力して Enter キーを押し、サービスウィンドウを開きます。
  • サービスウィンドウで、印刷スプーラサービスを見つけます。
  • 印刷スプーラを右クリックして、プロパティを選択します。
  • プロパティウィンドウで、停止をクリックします。

これにより、印刷キュープロセスが停止します。印刷スプーラのプロパティウィンドウを開いたままにしておきます。

  • 次に、エクスプローラを開き、次の場所に移動します。

C:\WINDOWS\system32\spool\PRINTERS

  • プリンタフォルダ内のすべてのファイルを削除します。

ファイルが見つからない場合は、表示タブをクリックして、隠しアイテムボックスをオンにします。

  • エクスプローラウィンドウを閉じます。
  • 印刷スプーラのプロパティウィンドウで、開始ボタンをクリックしてサービスを再起動します。

コンピュータをもう一度再起動し、次のコンピュータの起動時に必要なプリンタドライバを再インストールします。印刷ジョブをもう一度試して、問題が解決されたかどうかを確認します。

6] LegacyDefaultPrinterMode レジストリキーの値データを変更する

この解決策では、関数アドレスが保護違反の印刷エラーを解決するために、レジストリエディタでLegacyDefaultPrinterModeレジストリキーの値データを変更する必要があります。

方法:

レジストリをバックアップすることを忘れないでください。

  • 以下のレジストリキーパスに移動またはジャンプします。
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
  • 右側のペインで、LegacyDefaultPrinterMode をダブルクリックしてプロパティを編集します。
  • 値データを1に設定します。

これにより、Windows 10 の以前の既定のプリンタの動作に戻ります。

  • OKをクリックして変更を保存します。
  • PC を再起動します。

問題が解決されたかどうかを確認します。

7] システムの復元を実行する

関数アドレスが保護違反の印刷エラーが最近発生し始めたことに気付いた場合、システムに最近加えられた変更によって問題が発生した可能性があります。

印刷機能を壊した可能性のある変更内容がわからない場合は、システムの復元を実行して、印刷中の PC を正常に戻す必要があります。