This article was previously published under Q256010
Important This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:
256986 Description of the Microsoft Windows Registry
Windows based computers listed in the applies to section may display one of the following error messages on a blue screen:
The parameters in these error messages vary, depending on the programs in use and the system configuration.
Warning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.
The "STOP: 0x00000076 (0xY,0xY,0xY,0xY) PROCESS_HAS_LOCKED_PAGES" error message is caused by a driver not cleaning up completely after an I/O operation.
Parameter 1 - 0 Parameter 2 - process address Parameter 3 - number of locked pages Parameter 4 - pointer to driver stacks (if enabled) or 0 if not
Windows includes a registry value that you can use to save stack traces that enable you to identify the problem driver.
Note Using DriverVerifier to enable the Pool Tracking option will result in the same behavior in Vista, 2008, Win7 and 2008 R2 as setting the registry value TrackLockedPages to 1.
Use Registry Editor (Regedt32.exe) to view the following registry key:
Add the following registry value, and then restart your computer:
Value Name: TrackLockedPages Value Type: REG_DWORD Value Data: 1 Radix: hexadecimal
After you make this change, Windows saves stack traces so that you can identify the problem driver. There is no other way to determine which driver is neglecting to clean up the I/O operations. After you enable this flag, if the driver commits the error again, you see the following error message:
Parameter 1 - The calling address in the driver that locked the pages Parameter 2 - The caller of the calling address in the driver that locked the pages Parameter 3 - A pointer to the MDL containing the locked pages Parameter 4 - The problem driver's name (Unicode string)
The problem driver's name is listed on the blue "Stop" screen and is available for dumping again as the fourth parameter in the "Stop" data.
After you identify and update or remove the problem driver, you should remove the TrackLockedPages value from the registry.