デバイス ドライバーから、システムがセーフ モードで実行されているかどうかを確認する方法

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:837643
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
概要
ここでは、デバイス ドライバーから、システムがセーフ モードで実行されているかどうかを確認する方法について説明します。
詳細
Windows オペレーティング システム カーネルのポインターにエクスポート ULONG 変数 InitSafeBootMode という名前を指定します。 この変数は、セーフ モード設定を含みます。

デバイス ドライバーは、 InitSafeBootMode 変数の値によって、システムがセーフ モードで実行されているかどうか確認できます。 値 0 はことを意味する、システムがセーフ モードで実行されて いません

次の表は、モード以外の値です。
モード
1 SAFEBOOT_MINIMAL
2 SAFEBOOT_NETWORK
3 * SAFEBOOT_DSREPAIR
* 注: /3 の値は、Windows ドメイン コントローラーのみに適用されます。

ドライバーは、次を宣言する必要があります。
extern PULONG InitSafeBootMode; 
InitSafeBootMode システムがセーフ モードで実行されているかどうかを確認するの値を確認する必要があります。
if (*InitSafeBootMode > 0){      // The system is in Safe Mode.      // Take appropriate action.      //     } 
などがしないようにするのにドライバーをセーフ モードで作業して、使用、次の方法のいずれか。
  • 関数のドライバー

    ファンクション ドライバーが、サービス開始の種類を SERVICE_BOOT_START の AddDevice ルーチンで、 InitSafeBootMode 変数の値をチェックし、エラーを返します。

    メモ DriverEntry ルーチンからエラーを返す必要があることはありません。
  • フィルター ドライバー

    フィルター ドライバーがブート時起動、する場合 AddDevice ルーチンで、 InitSafeBootMode 変数の値を確認します。 デバイス スタックにアタッチできません操作を行います。 成功、 AddDevice ルーチンを返します。
  • その他のドライバー

    前に記載されていないドライバー、 DriverEntry ルーチンで、 InitSafeBootMode 変数の値をチェックします。 システムがセーフ モードで場合は、エラーを返します。

警告: この記事は自動翻訳されています

プロパティ

文書番号:837643 - 最終更新日: 12/08/2015 06:28:38 - リビジョン: 1.0

Microsoft Windows Server 2003 Driver Development Kit (DDK), Microsoft Windows XP Driver Development Kit (DDK), Microsoft Win32 Device Driver Kit for Windows 2000

  • kbnosurvey kbarchive kbinfo kbwdm kbhardware kbddk kbdriver kbdev kbmt KB837643 KbMtja
フィードバック