Here is the bug check for your BSOD. STOP 0x000000C1: SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION Usual causes:
Device driver, Memory
As you can see, it is either a driver problem, or memory issues.
Although your PC has been running OK for a long time, a lot of things can make a driver stop functioning as it should, such as hard shutdowns.
If you have anything overclocked, set it back to default.
Remove any and all USB devices, and any other extras, leave keyboard and mouse.
gdrv.sys is related to Microsoft Register Server, and is a part of Windows Operating System.
Your driver is from Dec 2009.
There are a few ways to try and fix this.
First, carry out a repair install. Repair Install For Vista
Second, replace the offending driver, as this is part of the Vista operating system, you would need to take the file from the Vista DVD/CD.
This link will show you how to do that. Missing dll error solution-Dll free download for not found error
Third, go to your MB manufacturers site, and update your chipset drivers.
Fourth, run this piece of free software, gdrv is not showing correctly in the dump file, as it is part if the Windows OS,it should.
(Just to eliminate the possibility of a virus type corruption). http://www.malwarebytes.org/
These are in no order, so just do what you feel comfortable doing first.
The driver verifier program is not always correct in its diagnosis, so don't assume it is a memory issue, although with these types of blue screens you never know until its fixed.
I will go over your dump file again, just to make sure i did not miss anything, and to check the rest of your drivers.
Try the above and post your results, good luck.