次の方法で共有


例 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 を追加するため、効果はありません。