Поделиться через


Запрос специального пула по тегу пула

Вы можете запросить специальный пул для всех выделений, использующих указанный тег пула. Одновременно с запросами специальных пулов ядра можно связать только один тег пула в системе.

В Windows Vista и более поздних версиях Windows можно также использовать командную строку для запроса специального пула по тегу пула. Дополнительные сведения см. в разделе Команды GFlags.

Запрос специального пула по тегу пула

  1. Выберите вкладку Системный реестр или Флаги ядра .

    В Windows Vista и более поздних версиях Windows этот параметр доступен на обеих вкладках. В более ранних версиях Windows он доступен только на вкладке Системный реестр .

  2. В разделе Специальный тег пула ядра щелкните Текст и введите четырехсимвый шаблон для тега.

    Тег может содержать подстановочные знаки ? (один символ) и * (несколько символов). Например, Fat* или Av?4.

  3. На следующем снимке экрана показан тег, введенный в виде текста на вкладке Системный реестр.

    Снимок экрана: тег, введенный в виде текста на вкладке Системный реестр в GFlags.

  4. Щелкните Применить.

    При нажатии кнопки Применить GFlags изменяет выделение с текста на шестнадцатеричное и отображает символы ASCII в виде шестнадцатеричных значений в обратном порядке (нижнем конце). Например, если ввести Тег1, GFlags отображает тег как 0x31676154 (1gaT). Таким образом он хранится в реестре и отображается отладчиком и другими средствами.

    На следующем рисунке показан эффект нажатия кнопки Применить.

    Снимок экрана: эффект нажатия кнопки Применить в GFlags с отображением тега в виде шестнадцатеричных значений.

Замечания

Чтобы эффективно использовать эту функцию, убедитесь, что драйвер или другая программа в режиме ядра использует уникальный тег пула. Если вы подозреваете, что драйвер использует весь специальный пул, рассмотрите возможность использования нескольких тегов пула в коде. Затем можно протестировать драйвер несколько раз, назначив специальный пул одному тегу пула в каждом тесте.

Кроме того, выберите тег пула с шестнадцатеричным значением, превышающим размер страницы в системе. Если для кода режима ядра ввести тег пула со значением меньше PAGE_SIZE, Gflags запрашивает специальный пул для всех выделений, размер которых находится в пределах соответствующего диапазона, и запрашивает специальный пул для выделения с эквивалентным тегом пула. Например, если выбрать размер 30, специальный пул будет использоваться для всех выделений размером от 17 до 32 байт, а также для выделений с тегом пула 0x0030.