Hi all,

I am trying to settle an argument here. What is the most effective, WHQL
certified way of exchanging a large buffer of data between kernel mode and
user and vice versa? The method has to work both ways.

cheers,
Luis

Re: Sending data from kernel to user mode question by Don

Don
Thu Jun 22 10:26:06 CDT 2006

Well that really depends on how large a buffer, and how frequent the
request. For most cases IOCTL/s with a direct buffer (i.e METHOD_IN_DIRECT
or METHOD_OUT_DIRECT) is going to produce as going to produce as good a
performance as anything else, and is very safe and reliable.

Now if you are needing to push the edge (such as video streaming at very
high bandwidth) you may need to go to things like a shared memory buffer and
events. But the trick is making this safe, secure and reliable while
keeping it fast, be aware a number of the examples on the net have failed
one of more of those criteria in the past (I haven't looked lately).

All of these will work, of course since you said WHQL, then if your device
is of a standard device class you should do things the way the interface for
the class specifies, even if this is an extension then you should use the
design the class is using.


--
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply



"Luis Miguel Huapaya" <LuisMiguelHuapaya@discussions.microsoft.com> wrote in
message news:ACB6332A-2225-4C71-B6FA-B89800D5C0FB@microsoft.com...
> Hi all,
>
> I am trying to settle an argument here. What is the most effective, WHQL
> certified way of exchanging a large buffer of data between kernel mode and
> user and vice versa? The method has to work both ways.
>
> cheers,
> Luis