Condividi tramite


Esempio 6: Cancellazione di tutti i flag

In questo esempio vengono illustrati due modi diversi per cancellare tutti i flag impostati nel Registro di sistema e per la sessione:

  • Sottrae il valore del flag corrente.

  • Sottrae valori elevati.

Nota I metodi illustrati da questo esempio cancellano solo i flag. Non reimpostano le dimensioni massime della traccia dello stack o il tag del pool speciale del kernel nei valori predefiniti.

Sottrae il valore del flag corrente

Il comando seguente cancella tutti i flag impostati nella voce del flag a livello di sistema nel Registro di sistema sottraendo il valore corrente della voce. In questo esempio il valore corrente è 0xE0. Il comando usa il parametro /r per indicare la modalità del Registro di sistema a livello di sistema e il valore E0 con un segno meno (-) per sottrarre E0 dal valore del flag.

gflags /r -E0 

In risposta, GFlags visualizza il valore modificato della voce del Registro di sistema a livello di sistema. Un valore pari a zero indica che il comando ha esito positivo e che non sono più presenti flag a livello di sistema impostati nel Registro di sistema.

Current Boot Registry Settings are: 00000000 

Si noti che i comandi seguenti hanno lo stesso effetto del comando usato in questo esempio e possono essere usati in modo intercambiabile:

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

Sottrae valori elevati

Il comando seguente cancella tutti i flag a livello di sistema sottraendo valori elevati (0xFFFFFFFF) dall'impostazione del flag a livello di sistema.

gflags /r -ffffffff 

In risposta, GFlags visualizza il valore modificato della voce del flag a livello di sistema. Un valore pari a zero indica che il comando ha esito positivo e che non sono più presenti flag a livello di sistema impostati nel Registro di sistema.

Current Boot Registry Settings are: 00000000 

Mancia Digitare questo comando nel Blocco note, quindi salvare il file come clearflag.bat. Successivamente, per cancellare tutti i flag, digitare ClearFlag.

Infine, l'esempio seguente dimostra che il metodo intuitivo di cancellare tutti i flag non funziona.

Il comando seguente viene visualizzato per impostare il valore della voce del flag a livello di sistema su 0. Tuttavia, aggiunge effettivamente zero al valore del flag a livello di sistema. In questo esempio il valore corrente della voce del flag a livello di sistema è 0xE0.

gflags /r 0 

In risposta, GFlags visualizza il valore del flag a livello di sistema dopo il completamento del comando:

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

Il comando non ha alcun effetto perché aggiunge il valore 0 alla voce del flag a livello di sistema.