Can OANOCACHE be used for non-debug purposes?

Raymond Chen


Friday asks whether OANOCACHE can be used for non-debug purposes, say to improve stability and/or speed. You can try, but it’s not recommended. For one thing, it probably damages stability, because there are many applications out there which unwittingly rely on the BSTR cache to protect them from heap corruption bugs. The Windows team has for years wanted to tweak the BSTR cache (even going so far as getting rid of it entirely), but the compatibility issues always return and quash any attempts at radical restructuring.

Identifying applications that rely on the BSTR cache and deploying an appropriate compatibility shim would be one thing. It’s applications which support third party plug-ins that are the sticky point. You say, “Okay, this application is fine, we’ll use the new BSTR cache behavior” and then it loads a plug-in DLL that requires the old BSTR cache behavior. Now you’re stuck since you don’t have a time machine.


Comments are closed.