Anthony
Wed Jun 29 02:01:13 CDT 2005
Not sure I really understand what you want.
If you have a physical address, you new to call mmmapiospace to get a
virtual pointer to this buffer.
If you already have a virtual address to this buffer, mapped in another
process, then you can call MapPtrToProcess and use the returned value as a
pointer to th buffer.
pout=pnewaddr won't work. The content pout must be changed, not pout itself.
hope this helps
--
----------------------------------------------------------------
Anthony Pellerin
ADENEO (ADESET)
Windows Embedded Consultant
<apellerin AT adeneo DOT adetelgroup DOT com>
http://www.adeneo.adetelgroup.com
Tél : +33 (0)4.72.18.57.77
Fax : +33 (0)4.72.18.57.78
----------------------------------------------------------------
"viddec" <viddec@discussions.microsoft.com> wrote in message
news:A44FECF3-C447-4F6D-95C7-D9CB79242D5D@microsoft.com...
> Hi,
>
> I want to return to the user application a mapping to a physical buffer.
>
> Suppose the virtual address in the address space of device.exe is paddr
> does
>
> ioctl(instance, pin, size, pout, size, unused)
> {
> pnewaddr = MapPtrProcess(paddr, GetCallerProcess())
> pout = pnewaddr //should this be *pout = pnewaddr
> }
>
> return the new mapping in pout ?
>
>