次の方法で共有


例 6: すべてのフラグをクリアする

この例では、レジストリとセッションに設定されているすべてのフラグをクリアする方法を 2 種類示します。

  • 現在のフラグ値を減算します。

  • 高い値を減算します。

この例で示す方法は、フラグのみをクリアします。 スタック トレースの最大サイズまたはカーネルの特別なプール タグは既定値にリセットされません。

現在のフラグ値を減算する

次のコマンドは、現在の値を減算してレジストリのシステム全体のフラグ エントリに設定されたすべてのフラグをクリアします。 この例では、現在の値は 0xE0 です。 このコマンドは、/r パラメーターを使用して、システム全体のレジストリ モードとマイナス記号で E0 値を示して、フラグ値から E0 を減算します。

gflags /r -E0 

これに対して、GFlags はシステム全体のフラグ レジストリ エントリの修正値を表示します。 値が 0 の場合は、コマンドが成功し、レジストリに設定されたシステム全体のフラグがなくなったことを示します。

Current Boot Registry Settings are: 00000000 

次のコマンドには、この例で使用されているコマンドと同じ効果があり、区別なく使用できることに注意してください。

gflags /r -20 -40 -80 
gflags /r -hfc -hpc -hvc 

高い値を減算する

次のコマンドは、システム全体のフラグ設定から高い値 (0xFFFFFFFF) を減算して、システム全体のフラグをすべてクリアします。

gflags /r -ffffffff 

これに対して、GFlags はシステム全体のフラグ エントリの修正値を表示します。 値が 0 の場合は、コマンドが成功し、レジストリに設定されたシステム全体のフラグがなくなったことを示します。

Current Boot Registry Settings are: 00000000 

ヒント メモ帳にこのコマンドを入力してから、ファイルを clearflag.bat として保存します。 その後は、すべてのフラグをクリアする場合、「ClearFlag」と入力するだけで済みます。

最後に、次の例では、すべてのフラグをクリアする直感的な方法が機能しないことを示しています。

次のコマンドは、システム全体のフラグ エントリの値を 0 に設定しているようです。 ただし、実際にはシステム全体のフラグ値に 0 が追加されています。 この例では、システム全体のフラグ エントリの現在の値は 0xE0 です。

gflags /r 0 

それに対して、GFlags はコマンドの完了後にシステム全体のフラグ値を表示します。

Current Boot Registry Settings are: 000000e0
    hfc - Enable heap free checking
    hpc - Enable heap parameter checking
    hvc - Enable heap validation on call

このコマンドでは、システム全体のフラグ エントリに 0 の値を追加しているため効果はありません。