From what I understood, FilterGetMessage doesn’t return the message length,
it is not documented on MSDN, so its not clear if I need to use Overlapped
structure to get message length.
Or should I use a completion status port? like in scanuser.c…
I’m confused with Overlapped structure passed to FilterGetMessage and
the Overlapped structure pointer returned from GetQueueCompletionStatus…
From what I understood, FilterGetMessage doesn’t return the message length,
it is not documented on MSDN, so its not clear if I need to use Overlapped
structure to get message length.
Or should I use a completion status port? like in scanuser.c…
Just send the length as part of the data sent from the user application.
That works as long as FilterGetMessage writes something to the passed buffer,
however if this buffer is smaller than the message length, nothing is written afaik
I tried the Overlapped method, the message size is set in Overlapped.InternalHigh
when the event Overlapped.hEvent is set. However thats too late to recover the message
since its already queued out at the second FilterGetMessage call, in other meanings
in the first call it dequeues the message even if it wasnt able to write it out to the buffer.
I’ll try the completion method used by scanner sample of the DDK.
Thanks,
Jean F.
PS: didnt noticed Filter APIs were documented in the DDK, tought their place
was in the SDK of 2003 SP1…
“Tony Hoyle” wrote in message news:xxxxx@ntfsd… Jean F. wrote: > From what I understood, FilterGetMessage doesn’t return the message length, > it is not documented on MSDN, so its not clear if I need to use Overlapped > structure to get message length. > Or should I use a completion status port? like in scanuser.c…
Just send the length as part of the data sent from the user application.