The question is this (in two parts):
The CreateFileMapping API call, when used to create a globally named object,
would fail when executed from non-elevated processes in early versions of
Vista. At that time the Microsoft recommendation was to call
CreateFileMapping from an NT service when using it to great global objects,
instead of from an application. In Vista RTM, it is now the case that this
use of CreateFileMapping will succeed when run from a non-elevated process
in Vista. The questions are:
1.. Will Microsoft continue to support CreateFileMapping creating globally
named objects from non-elevated processes in Vista, including all future
updates of Vista?
2.. Is it Microsoft's recommendation still to perform a CreateFileMapping
call (to create globally named objects) from an NT service rather than an
application? If so, why?"
For further background here are two relevant posts from Microsoft discussion
one mentions the solution of moving CreateFileMapping to an NT service