I’ve included main AVStream filter and one filter with NO KS pins into
a minidriver. I wonder where do I call KsRegisterFilterWithNoKSPins
for filter with no KS pins?
I’m asking this because I have some problems with GraphEdit. When I
try to insert filter with no KS pins I get error message: The filter
could not be created. Resources used by this filter may already be in
use. Unspecified error (0x80004005).
Thanks!
Robert
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
If you are using dynamic filter descriptors (meaning that you call
KsRegisterFilterFactory() from your driver), then you should call
KsRegisterFilterWithNoKSPins() at any time after you make call to
KsRegisterFilterFactory(). Otherwise any time after DriverEntry(), i.e. from
any AVStream callback.
I’m not sure though that it’s going to help you with your problem. You
should be able to create filter with no pins. I’ve never done that, but I
can’t think of a reason for it not to work.
— Max.
Subject: Where do I call KsRegisterFilterWithNoKSPins (GraphEdit problem)
From: Robert M. <robert.m>
>Date: Fri, 18 Jan 2002 21:35:05 +0100
>X-Message-Number: 25
>
>
>I’ve included main AVStream filter and one filter with NO KS pins into
>a minidriver. I wonder where do I call KsRegisterFilterWithNoKSPins
>for filter with no KS pins?
>I’m asking this because I have some problems with GraphEdit. When I
>try to insert filter with no KS pins I get error message: The filter
>could not be created. Resources used by this filter may already be in
>use. Unspecified error (0x80004005).
>
>Thanks!
>
>Robert
_________________________________________________________________
MSN Photos is the easiest way to share and print your photos:
http://photos.msn.com/support/worldwide.aspx
—
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com</robert.m>
On Sun, 20 Jan 2002 23:49:26 -0800, “Max Paklin”
wrote:
Hi Max. I’ve included another dummy filter with no KS pins into the
driver and registered it with KsRegisterFilterWithNoKSPins on
AVStrMiniDeviceAdd callback. This one is registered under different
InterfaceClassGUID and it works as expected. All that makes me believe
that I have some corrupted registry entries or system files and I need
to reinstall windows. BTW, thanks for the help!
>
>If you are using dynamic filter descriptors (meaning that you call
>KsRegisterFilterFactory() from your driver), then you should call
>KsRegisterFilterWithNoKSPins() at any time after you make call to
>KsRegisterFilterFactory(). Otherwise any time after DriverEntry(), i.e. from
>any AVStream callback.
>
>I’m not sure though that it’s going to help you with your problem. You
>should be able to create filter with no pins. I’ve never done that, but I
>can’t think of a reason for it not to work.
>
>— Max.
>
>
>
>>Subject: Where do I call KsRegisterFilterWithNoKSPins (GraphEdit problem)
>>From: Robert M. <robert.m>
>>Date: Fri, 18 Jan 2002 21:35:05 +0100
>>X-Message-Number: 25
>>
>>
>>I’ve included main AVStream filter and one filter with NO KS pins into
>>a minidriver. I wonder where do I call KsRegisterFilterWithNoKSPins
>>for filter with no KS pins?
>>I’m asking this because I have some problems with GraphEdit. When I
>>try to insert filter with no KS pins I get error message: The filter
>>could not be created. Resources used by this filter may already be in
>>use. Unspecified error (0x80004005).
>>
>>Thanks!
>>
>>Robert
>
>
> _________________________________________________________________
>MSN Photos is the easiest way to share and print your photos:
>http://photos.msn.com/support/worldwide.aspx
>
>
>—
>You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
>To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
—
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com</robert.m>
Pay attention to couple of things. In [Interface] section of INF you must
register interfaces that you driver exposes
[XXX.NT.Interfaces]
AddInterface = %KSCATEGORY_XXX%, %KSNAME_Filter%, XXX.Filter
where KSCATEGORY_XXX is the category GUID that you pass to
KsRegisterFilterWithNoKSPins and it is exactly the same GUID that you
specify in filter descriptor KSFILTER_DESCRIPTOR::Categories.
Also make sure that reference GUID (second parameter to AddInterface INF
instruction) matches KSFILTER_DESCRIPTOR::ReferenceGuid.
You are allowed to expose as many filters per category per driver as you
like, but each of them must have unique reference GUID.
There’s one common mistake that most of the people who use AVStream sample
make. MS uses KSNAME_Filter as reference GUID for all filters. If you expose
two or more filters per driver and if they belong to the same category, make
sure that reference GUID is unique and is the same in both filter descriptor
and INF file.
— Max.
Subject: Re: Where do I call KsRegisterFilterWithNoKSPins (GraphEdit
problem)
From: Robert M. <robert.m>
>Date: Mon, 21 Jan 2002 20:42:59 +0100
>X-Message-Number: 27
>
>On Sun, 20 Jan 2002 23:49:26 -0800, “Max Paklin”
>wrote:
>
>Hi Max. I’ve included another dummy filter with no KS pins into the
>driver and registered it with KsRegisterFilterWithNoKSPins on
>AVStrMiniDeviceAdd callback. This one is registered under different
>InterfaceClassGUID and it works as expected. All that makes me believe
>that I have some corrupted registry entries or system files and I need
>to reinstall windows. BTW, thanks for the help!
>
> >
> >If you are using dynamic filter descriptors (meaning that you call
> >KsRegisterFilterFactory() from your driver), then you should call
> >KsRegisterFilterWithNoKSPins() at any time after you make call to
> >KsRegisterFilterFactory(). Otherwise any time after DriverEntry(), i.e.
>from
> >any AVStream callback.
> >
> >I’m not sure though that it’s going to help you with your problem. You
> >should be able to create filter with no pins. I’ve never done that, but I
> >can’t think of a reason for it not to work.
> >
> >— Max.
> >
> >
> >
> >>Subject: Where do I call KsRegisterFilterWithNoKSPins (GraphEdit
>problem)
> >>From: Robert M. <robert.m>
> >>Date: Fri, 18 Jan 2002 21:35:05 +0100
> >>X-Message-Number: 25
> >>
> >>
> >>I’ve included main AVStream filter and one filter with NO KS pins into
> >>a minidriver. I wonder where do I call KsRegisterFilterWithNoKSPins
> >>for filter with no KS pins?
> >>I’m asking this because I have some problems with GraphEdit. When I
> >>try to insert filter with no KS pins I get error message: The filter
> >>could not be created. Resources used by this filter may already be in
> >>use. Unspecified error (0x80004005).
> >>
> >>Thanks!
> >>
> >>Robert
_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com
—
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com</robert.m></robert.m>
[snip]
You are allowed to expose as many filters per category per driver as you
like, but each of them must have unique reference GUID.
… and that is the key!!! I was using same reference GUID for both
filters despite the fact they were registered under same category.
This also explains why my third dummy filter worked fine … It was
registered under different category then other two filters.
There’s one common mistake that most of the people who use AVStream sample
make. MS uses KSNAME_Filter as reference GUID for all filters. If you expose
two or more filters per driver and if they belong to the same category, make
sure that reference GUID is unique and is the same in both filter descriptor
and INF file.
True! Anyway, the problem is solved. Thanks Max!!!
Robert M.
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com