ntdll: a simple implementation of cross-process NtAllocateVirtualMemory

Robert Shearman rob at codeweavers.com
Sat Jun 3 11:47:03 CDT 2006


Alexandre Julliard wrote:

>"Dan Kegel" <dank at kegel.com> writes:
>
>  
>
>>On 6/2/06, Alexandre Julliard <julliard at winehq.org> wrote:
>>    
>>
>>>The problem here is that you don't control at what point you interrupt
>>>the process, so you can't do anything in it except system calls, and
>>>that won't be enough.
>>>      
>>>
>>Why isn't a call to mmap enough?
>>    
>>
>
>You need to build the proper structures on the client side, just like
>a normal VirtualAlloc would, otherwise the process won't know about
>that memory area.
>

You could add an entry to a linked list of operations that would defer 
the building of the proper structures. This list could then be checked 
on entry to every Nt*VirtualMemory and if it was not empty, these 
structures could be updated then, so it should appear to the client as 
though the structures were updated instantly.

-- 
Rob Shearman




More information about the wine-devel mailing list