You heard it here first, if you use MmSecureVirtualMemory, you should be aware that there are some potential reliability issues. By the way, ‘secure’ is a verb in this case, not a noun.
If you run PREfast on code using this function and it’s not in a try/except block, you may get this warning:
253 – MmSecureVirtualMemory locks VADs not pages.
Additional Information: Dereferences must still be protected by try-except.
The advice for this warning at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcepbguide5/html/wce50grfPREfastWarning253.asp is simple:
; // use something else
So now you know!