Re: Supporting KSPROPERTY_PIN_CONSTRAINEDDATARANGES under AVStream



yinmun <yinmun@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
>
>Thanks for your reply. I'm supporting this property as I notice that when I
>created the filter in GraphEdit and try to query for the pin properties, the
>AVStream will invoke this property, and GraphEdit will crash if the return
>value is invalid.
>
>I have tried your suggested approach and it works =) thanks. But according
>to the MSDN, I'm supposed to return a KSMULTIPLE_ITEM structure and a series
>of KSDATARANGE sturctures. First I tried to return the pointers to each
>KSDATARANGE structure, and later tried to copy the entire KSDATARANGE
>structure to the output buffer, but both approaches failed.
>
>Can you please advise what is the proper way to return the series of
>KSDATARANGE structures?

You append them all as one huge list. It starts with a KSMULTIPLE_ITEM,
giving the size of each entry and the number of entries to follow, and then
a series of KSDATARANGEs, one right after the other.

If you have 10 data ranges, you'll send back sizeof(KSMULTIPLE_ITEM) +
10*sizeof(KSDATARANGE) bytes, and that's what you'll have to report during
the first call.
--
- Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc
.