AllocateUserPhysicalPages( GetCurrentProcess(), &NumberOfPages,p);
lpMemReserved = VirtualAlloc(NULL,MEMORY_REQUESTED,MEM_RESERVE | MEM_PHYSICAL,PAGE_READWRITE);
MapUserPhysicalPages( lpMemReserved, NumberOfPages, p);
MapUserPhysicalPages( lpMemReserved, NumberOfPages, NULL );
FreeUserPhysicalPages( GetCurrentProcess(), &NumberOfPages, p);
VirtualFree( lpMemReserved, 0, MEM_RELEASE );
HeapFree(GetProcessHeap(), 0, p);