Condividi tramite


Richiesta di un pool speciale tramite tag del pool

È possibile richiedere un pool speciale per tutte le allocazioni che usano un tag di pool specificato. È possibile associare un solo tag del pool nel sistema alle richieste di pool speciali del kernel contemporaneamente.

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

  1. Selezionare la scheda Registro di sistema o la scheda Flag del 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 .

  2. Nella sezione Kernel Special Pool Tag, fare clic su Testo e quindi digitare una sequenza di quattro caratteri per il tag.

    Il tag può includere i caratteri jolly ? (carattere singolo) e * (più caratteri). Ad esempio, Fat* o Av?4.

  3. La schermata seguente mostra un tag immesso come testo nella scheda Registro di sistema.

    Screenshot di un tag immesso come testo nella scheda Registro di Sistema in GFlags.

  4. Fare clic su Applica.

    Quando si fa clic su Applica, GFlags modifica la selezione da Testo a Esadecimale e visualizza i caratteri ASCII come valori esadecimali in ordine inverso (endian inferiore). Ad esempio, se si digita Tag1, GFlags visualizza il tag come 0x31676154 (1gaT). Questo è il 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.

    Screenshot che mostra l'effetto di fare clic su Applica in GFlags, visualizzando il tag come valori esadecimali.

Osservazioni

Per usare questa funzionalità in modo efficace, assicurarsi che il driver o un altro programma in modalità kernel usi un tag di pool univoco. Se si sospetta che il driver usi tutto il pool speciale, è consigliabile usare più tag del pool nel codice. È quindi possibile testare il driver più volte, assegnando un pool speciale a un tag del pool in ogni test.

Selezionare anche un tag del pool con un valore esadecimale maggiore delle dimensioni della pagina del sistema. Per il codice in modalità kernel, se si immette un tag del 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 un pool speciale per le allocazioni con un tag di pool equivalente. Ad esempio, se si seleziona una dimensione pari a 30, verrà usato un pool speciale per tutte le allocazioni comprese tra 17 e 32 byte e per le allocazioni con il tag pool 0x0030.