Hi all

I've constructed a WDM streaming minidriver that reads packets from USB
hardware.

These packets contain video
The video packets get reassembled into video frame and appear on a capture
pin and a preview pin.
This works just fine, and I have clean video on my PC.

I've add an still pin(Major type video; dub type RGB24) for capturing better
quality sill image.
On GraphEdit,
when I render the still pin, it connect to the still pin on the Video
Renderer just as I'd expect.
But when I play it, my PC is halted with blue screen.

My driver gets the SRB_READ_DATA stream request via the
StrMiniReceiveStreamDataPacket() function.
According to the DDK documentation,
pSrb->CommandData.DataBufferArray is supposed to point an array of
KSSTREAM_HEADERs.
pSrb->NumberOfBuffers is supposed to indicate how many such headers there
are in the array
(in my case, NumberOfBuffers is 1).
So I look inside the KSSTREAM_HEADER supplied, but FrameExtent == 1, I
cann't believe that it is right.

Also according to the DDK documentation, FrameExtent specify the size of
Frame.
In Captue and Preview case, FrameExtent has suitable value for a frame.
But in Still case, It's wrong.

I cann't understand why that variable has 1.
Am I doing something wrong?

PLS, any comment or advices for me.

Thanks

-- Jeon, Seung-Chul