Compartilhar via


Solicitando pool especial por marca de pool

Você pode solicitar um pool especial para todas as alocações que usam uma marca de pool especificada. Somente uma marca de pool no sistema pode ser associada a solicitações especiais de pool de kernel ao mesmo tempo.

No Windows Vista e em versões posteriores do Windows, você também pode usar a linha de comando para solicitar pool especial por marca de pool. Para obter informações, consulte Comandos GFlags.

Para solicitar pool especial por marca de pool

  1. Selecione a guia Registro do Sistema ou a guia Sinalizadores de Kernel .

    No Windows Vista e versões posteriores do Windows, essa opção está disponível em ambas as guias. Em versões anteriores do Windows, ela está disponível apenas na guia Registro do Sistema .

  2. Na seção Marca de Pool Especial do Kernel , clique em Texto e digite um padrão de quatro caracteres para a marca.

    A marca pode incluir os caracteres curinga ? (caractere único) e * (vários caracteres). Por exemplo, Fat* ou Av?4.

  3. A captura de tela a seguir mostra uma marca inserida como texto na guia Registro do Sistema.

    Captura de tela de uma marca inserida como texto na guia Registro do Sistema em GFlags.

  4. Clique em Aplicar.

    Quando você clica em Aplicar, O GFlags altera a seleção de Texto para Hexadecimal e exibe os caracteres ASCII como valores hexadecimais na ordem inversa (endian inferior). Por exemplo, se você digitar Tag1, GFlags exibirá a marca como 0x31676154 (1gaT). Essa é a maneira como ele é armazenado no registro e exibido pelo depurador e outras ferramentas.

    A ilustração a seguir mostra o efeito de clicar em Aplicar.

    Captura de tela mostrando o efeito de clicar em Aplicar em GFlags, exibindo a marca como valores hexadecimal.

Observações

Para usar esse recurso com eficiência, verifique se o driver ou outro programa de modo kernel usa uma marca de pool exclusiva. Se você suspeitar que o driver está consumindo todo o pool especial, considere usar várias marcas de pool em seu código. Em seguida, você pode testar o driver várias vezes, atribuindo um pool especial a uma marca de pool em cada teste.

Além disso, selecione uma marca de pool com um valor hexadecimal maior que o tamanho da página do sistema. Para o código do modo kernel, se você inserir uma marca de pool que tenha um valor menor que PAGE_SIZE, o Gflags solicitará um pool especial para todas as alocações cujo tamanho está dentro do intervalo correspondente e solicitará um pool especial para alocações com uma marca de pool equivalente. Por exemplo, se você selecionar um tamanho de 30, o pool especial será usado para todas as alocações entre 17 e 32 bytes de tamanho e para alocações com a marca de pool 0x0030.