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:

Defective Source

MmSecureVirtualMemory(NULL,
                      0,
                      0);

Corrected Source

; // use something else

So now you know!