Richiesta di pool speciali per tag di pool
È possibile richiedere un pool speciale per tutte le allocazioni che usano un tag di pool specificato. Un solo tag di pool nel sistema può essere associato a richieste di pool speciali del kernel alla volta.
In Windows Vista e versioni successive di Windows è anche possibile usare la riga di comando per richiedere un pool speciale in base al tag del pool. Per informazioni, vedere Comandi GFlags.
Per richiedere un pool speciale in base al tag del pool
Selezionare la scheda Registro di sistema o la scheda Flag kernel .
In Windows Vista e versioni successive di Windows, questa opzione è disponibile in entrambe le schede. Nelle versioni precedenti di Windows, è disponibile solo nella scheda Registro di sistema .
Nella sezione Tag del pool speciale del kernel fare clic su Testo e quindi digitare un modello a quattro caratteri per il tag.
Il tag può includere i caratteri jolly ? (carattere singolo) e * (più caratteri). Ad esempio, Fat* o Av?4.
La schermata seguente mostra un tag immesso come testo nella scheda Registro di sistema.
Fare clic su Applica.
Quando si fa clic su Applica, GFlags modifica la selezione da Text a Hex e visualizza i caratteri ASCII come valori esadecimali inverso (inferiore) ordine. Ad esempio, se si digita Tag1, GFlags visualizza il tag come 0x31676154 (1gaT). Si tratta del modo in cui viene archiviato nel Registro di sistema e visualizzato dal debugger e da altri strumenti.
La figura seguente mostra l'effetto di fare clic su Applica.
Osservazioni
Per usare questa funzionalità in modo efficace, assicurarsi che il driver o altro programma in modalità kernel usi un tag di pool univoco. Se si sospetta che il driver usi tutto il pool speciale, prendere in considerazione l'uso di più tag di pool nel codice. È quindi possibile testare il driver più volte, assegnando un pool speciale a un tag di pool in ogni test.
Selezionare anche un tag di pool con un valore esadecimale maggiore delle dimensioni della pagina del sistema. Per il codice in modalità kernel, se si immette un tag di pool con un valore minore di PAGE_SIZE, Gflags richiede un pool speciale per tutte le allocazioni le cui dimensioni si trovano all'interno dell'intervallo corrispondente e richiede pool speciali per le allocazioni con un tag di pool equivalente. Ad esempio, se si seleziona una dimensione di 30, verrà usato un pool speciale per tutte le allocazioni tra 17 e 32 byte di dimensioni e per le allocazioni con il tag del pool 0x0030.