Freigeben über


Anfordern eines speziellen Pools nach Pooltag

Sie können einen speziellen Pool für alle Zuordnungen anfordern, die ein angegebenes Pooltag verwenden. Es kann nur ein Pooltag auf dem System gleichzeitig mit speziellen Kernelpoolanforderungen verknüpft werden.

In Windows Vista und höheren Versionen von Windows können Sie auch die Befehlszeile verwenden, um einen speziellen Pool nach Pooltag anzufordern. Weitere Informationen finden Sie unter GFlags-Befehle.

So fordern Sie einen speziellen Pool nach Pooltag an

  1. Wählen Sie die Registerkarte Systemregistrierung oder die Registerkarte Kernelflags aus.

    Unter Windows Vista und höheren Versionen von Windows ist diese Option auf beiden Registerkarten verfügbar. In früheren Versionen von Windows ist es nur auf der Registerkarte Systemregistrierung verfügbar.

  2. Klicken Sie im Abschnitt Kernel Special Pool Tag auf Text, und geben Sie dann ein vierstelliges Muster für das Tag ein.

    Das Tag kann die Wildcardzeichen ? (ein Zeichen) und * (mehrere Zeichen) enthalten. Beispiel: Fat* oder Av?4.

  3. Der folgende Screenshot zeigt ein Tag, das als Text auf der Registerkarte Systemregistrierung eingegeben wird.

    Screenshot eines Tags, das als Text auf der Registerkarte Systemregistrierung in GFlags eingegeben wird.

  4. Klicken Sie auf Anwenden.

    Wenn Sie auf Übernehmen klicken, ändert GFlags die Auswahl von Text in Hex und zeigt die ASCII-Zeichen als Hexadezimalwerte in umgekehrter (unterer Endian)-Reihenfolge an. Wenn Sie beispielsweise Tag1 eingeben, zeigt GFlags das Tag als 0x31676154 (1gaT) an. Auf diese Weise wird sie in der Registrierung gespeichert und vom Debugger und anderen Tools angezeigt.

    Die folgende Abbildung zeigt den Effekt des Klickens auf Übernehmen.

    Screenshot: Klicken auf Anwenden in GFlags und Anzeigen des Tags als Hexadezimalwerte

Bemerkungen

Um dieses Feature effektiv zu verwenden, stellen Sie sicher, dass Ihr Treiber oder ein anderes Kernelmodusprogramm ein eindeutiges Pooltag verwendet. Wenn Sie vermuten, dass Ihr Treiber den gesamten speziellen Pool nutzt, sollten Sie mehrere Pooltags in Ihrem Code verwenden. Anschließend können Sie Ihren Treiber mehrmals testen und in jedem Test einen speziellen Pool zu einem Pooltag zuweisen.

Wählen Sie außerdem ein Pooltag mit einem Hexadezimalwert aus, der größer als die Seitengröße des Systems ist. Wenn Sie für Kernelmoduscode ein Pooltag eingeben, das einen Wert kleiner als PAGE_SIZE hat, fordert Gflags einen speziellen Pool für alle Zuordnungen an, deren Größe innerhalb des entsprechenden Bereichs liegt, und fordert einen speziellen Pool für Zuordnungen mit einem entsprechenden Pooltag an. Wenn Sie beispielsweise eine Größe von 30 auswählen, wird ein spezieller Pool für alle Zuordnungen zwischen 17 und 32 Bytes und für Zuordnungen mit dem Pooltag 0x0030 verwendet.