Fehlerüberprüfung 0xC2: BAD_POOL_CALLER
Die BAD_POOL_CALLER Fehlerüberprüfung hat den Wert 0x000000C2. Dies gibt an, dass der aktuelle Thread eine ungültige Poolanforderung stellt.
Wichtig
Dieser Artikel richtet sich an Programmierer. Wenn Sie ein Kunde sind, der während der Verwendung Ihres Computers einen Bluescreen-Fehlercode erhalten hat, finden Sie weitere Informationen unter Behandeln von Bluescreenfehlern.
BAD_POOL_CALLER Parameter
Parameter 1 gibt die Art der Verletzung an.
Parameter 1 | Parameter 2 | Parameter 3 | Parameter 4 | Fehlerursache |
---|---|---|---|---|
0x00 |
0 |
Pooltyp |
Pool tag |
Der aktuelle Thread hat eine 0-Byte-Poolzuordnung angefordert. |
0x01, 0x02 0x04 |
Zeiger auf den Poolheader |
Erster Teil des Poolheaderinhalts |
0 |
Der Poolheader wurde beschädigt. |
0x06 |
Reserviert |
Zeiger auf den Poolheader |
Inhalt des Poolheaders |
Der aktuelle Thread hat versucht, den Pool frei zu geben, der bereits freigegeben wurde. |
0x07 |
Reserviert |
Inhalt des Poolheaders |
Adresse des freigegebenen Poolsblocks |
Der aktuelle Thread hat versucht, den Pool frei zu geben, der bereits freigegeben wurde. |
0x08 |
Aktuelle IRQL |
Pooltyp |
Größe der Zuordnung in Bytes |
Der aktuelle Thread hat versucht, den Pool an einem ungültigen IRQL zuzuordnen. |
0x09 |
Aktuelle IRQL |
Pooltyp |
Adresse des Pools |
Der aktuelle Thread hat versucht, den Pool bei einem ungültigen IRQL frei zu geben. |
0x0A |
Adresse des Pools |
Tag des Zuteilungsgebers |
Tag, das in der versuchten Freien verwendet wird |
Der aktuelle Thread hat versucht, den Poolspeicher mithilfe des falschen Tags freizugeben. (Der Arbeitsspeicher kann zu einer anderen Komponente gehören.) |
0x0B 0x0C oder 0x0D |
Adresse des Pools |
Tag der Poolzuordnung |
Fehlerhafter Kontingentprozesszeiger |
Der aktuelle Thread hat versucht, ein Kontingent für eine beschädigte Poolzuordnung freizugeben. |
0x40 |
Startadresse |
Start des Systemadressraums |
0 |
Der aktuelle Thread hat versucht, den Kernelpool an einer Benutzermodusadresse frei zu geben. |
0x41 |
Startadresse |
Physischer Seitenrahmen |
Höchster physischer Seitenrahmen |
Der aktuelle Thread hat versucht, eine nicht zugeordnete nicht ausgestellte Pooladresse frei zu geben. |
0x42 oder 0x43 |
Adresse, die freigegeben wird |
0 |
0 |
Der aktuelle Thread hat versucht, eine virtuelle Adresse frei zu geben, die sich nie in einem Pool befand. |
0x44 |
Startadresse |
Reserviert |
0 |
Der aktuelle Thread hat versucht, eine nicht zugeordnete nicht ausgestellte Pooladresse frei zu geben. |
0x46 |
Startadresse |
0 |
0 |
Der aktuelle Thread hat versucht, eine ungültige Pooladresse frei zu geben. |
0x47 |
Startadresse |
Physischer Seitenrahmen |
Höchster physischer Seitenrahmen |
Der aktuelle Thread hat versucht, eine nicht zugeordnete nicht ausgestellte Pooladresse frei zu geben. |
0x48 |
Startadresse |
Reserviert |
Reserviert |
Der aktuelle Thread hat versucht, eine nicht zugeordnete ausgelagerte Pooladresse frei zu geben. |
0x50 |
Startadresse |
Startoffset in Seiten vom Anfang des ausgelagerten Pools |
Größe des ausgelagerten Pools in Bytes |
Der aktuelle Thread hat versucht, eine nicht zugeordnete Auslagerungspooladresse frei zu geben. |
0x60 |
Startadresse |
0 |
0 |
Der aktuelle Thread hat versucht, eine ungültige zusammenhängende Speicheradresse freizugeben. (Der Aufrufer von MmFreeContiguousMemory übergibt einen ungültigen Zeiger.) |
0x99 |
Adresse, die freigegeben wird |
0 |
0 |
Der aktuelle Thread hat versucht, einen Pool mit einer ungültigen Adresse frei zu geben. (Dieser Code kann auch auf eine Beschädigung des Poolheaders hinweisen.) |
0x9A |
Pooltyp |
Anzahl der angeforderten Bytes |
Pool tag |
Der aktuelle Thread markierte eine Zuordnungsanforderung MUST_SUCCEED. (Dieser Pooltyp wird nicht mehr unterstützt.) |
0x9B |
Pooltyp |
Anzahl der angeforderten Bytes |
Adresse des Anrufers |
Der aktuelle Thread hat versucht, einen Pool mit dem Tag 0 zuzuweisen. (Dies wäre nicht nachverfolgbar und könnte die vorhandenen Tagtabellen beschädigen.) |
0x9C |
Pooltyp |
Anzahl der angeforderten Bytes |
Adresse des Anrufers |
Der aktuelle Thread hat versucht, einen Pool mit dem Tag "BIG" zuzuordnen. (Dies wäre nicht nachverfolgbar und könnte möglicherweise die vorhandenen Tagtabellen beschädigen.) |
0x9D |
Falsches Pooltag verwendet |
Pooltyp |
Adresse des Anrufers |
Der aktuelle Thread hat versucht, einen Pool mit einem Tag zuzuordnen, das keine Buchstaben oder Ziffern enthält. Die Verwendung solcher Tags erschwert die Nachverfolgung von Poolproblemen. |
0x41286 |
Reserviert |
Reserviert |
Startoffset vom Anfang des ausgelagerten Pools in Seiten |
Der aktuelle Thread hat versucht, eine Auslagerungspooladresse in der Mitte einer Zuordnung frei zu geben. |
Die _POOL_TYPE Codes werden in Ntddk.h aufgelistet. Insbesondere gibt 0 einen nicht ausgelagerten Pool und 1 einen ausgelagerten Pool an.
Ursache
Vom aktuellen Thread wurde eine ungültige Poolanforderung gestellt. In der Regel erfolgt dies auf einer ungültigen IRQL-Ebene oder bei doppelter Freigabe der gleichen Speicherbelegung usw.
Lösung
Aktivieren Sie die Treiberüberprüfung mit aktivierten Speicherpooloptionen, um weitere Informationen zu diesen Fehlern zu erhalten und den fehlerhaften Treiber zu finden.
Treiberüberprüfung
Driver Verifier ist ein Tool, das in Echtzeit ausgeführt wird, um das Verhalten von Treibern zu untersuchen. Wenn Fehler bei der Ausführung von Treibercode angezeigt werden, wird proaktiv eine Ausnahme erstellt, damit dieser Teil des Treibercodes genauer überprüft werden kann. Der Treiberüberprüfungs-Manager ist in Windows integriert und auf allen Windows-PCs verfügbar. Um den Treiberüberprüfungs-Manager zu starten, geben Sie Verifier an einer Eingabeaufforderung ein. Sie können konfigurieren, welche Treiber Sie überprüfen möchten. Der Code, der überprüft, dass Treiber während der Ausführung mehr Aufwand verursachen. Versuchen Sie daher, die kleinste Anzahl von Treibern so wie möglich zu überprüfen. Weitere Informationen finden Sie unter Driver Verifier.
Windows-Speicherdiagnose
Führen Sie insbesondere bei Einer Beschädigung des Arbeitsspeicherpools das Windows-Speicherdiagnosetool aus, um den physischen Speicher als Ursache zu isolieren. Geben Sie im Suchfeld der Systemsteuerung Arbeitsspeicher ein, und wählen Sie dann Speicherprobleme Ihres Computers diagnostizieren aus. Nachdem der Test ausgeführt wurde, verwenden Sie die Ereignisanzeige, um die Ergebnisse im Systemprotokoll anzuzeigen. Suchen Sie nach dem Eintrag MemoryDiagnostics-Results , um die Ergebnisse anzuzeigen.