I have a driver that exposes an AVStream filter factory (BDA demod/tuner).
In order to enure muliple adpaters installed on one system are visible to an
application I believe that I must create a new GUID for the filter exposed by
each adapters instance of the driver. Is that correct?
If that is correct how can the INF file generate a new GUID (since I assume
that the INF file must register the filter interface - and probably write the
GUID to the driver registry path to allow the driver to pick up the same GUID
to use when registering the filter with BDA).

Re: Filter GUIDs for multiple adapters by Khamsing

Khamsing
Thu Sep 14 14:43:02 CDT 2006


"Mickey" <Mickey@discussions.microsoft.com> wrote in message
news:0BE86DFB-4634-4954-B9AD-2C96A25314AB@microsoft.com...
>I have a driver that exposes an AVStream filter factory (BDA demod/tuner).
> In order to enure muliple adpaters installed on one system are visible to
> an
> application I believe that I must create a new GUID for the filter exposed
> by
> each adapters instance of the driver. Is that correct?
> If that is correct how can the INF file generate a new GUID (since I
> assume
> that the INF file must register the filter interface - and probably write
> the
> GUID to the driver registry path to allow the driver to pick up the same
> GUID
> to use when registering the filter with BDA).


Hello Mickey,
The INF is read by the installer.exe which is capable to create a new GUID
for you, if you specified the GUID correctly, but first be sure to
check/delete the old GUID of yours if it exists. This can be done through
INF section above it.

Good luck.



Re: Filter GUIDs for multiple adapters by Mickey

Mickey
Fri Sep 15 02:33:03 CDT 2006

So I have read through the DDK section on writing an INF file, and the
section "Including GUIDs in Driver Code" and theses both describe very well
how to use uuidgen to generate a new GUID and then how to use this in my
driver header and the inf file to register the filter. I am happy with all of
that aspect - and it is working well. However if I plug in a second adapter
(which uses the same driver and inf file) then it loads and runs OK, but when
I browse the available filters in graph edit there is only one of the adapter
filters avaiable.
Would I be right to expect two filters to be available (one from each
adapter)?
If installer.exe is capable of generating a new GUID for me - where can I
find out how to do that?

In this case I do not want to delete the old GUID since it would be for the
first installed adapter. Although this does lead to the question, how do I
delete the GUID if one of the adapters is uninstalled? (especially if the
GUID is dynamically created by installer.exe).

I am still unsure if I am taking the correct approach to expose seperate
filters from the two (or more) installed adapters. Maybe I have missed some
other aspect of the registration of the filter that would allow it to be
duplicated by mutiple adapters?


"Khamsing" wrote:

>
> "Mickey" <Mickey@discussions.microsoft.com> wrote in message
> news:0BE86DFB-4634-4954-B9AD-2C96A25314AB@microsoft.com...
> >I have a driver that exposes an AVStream filter factory (BDA demod/tuner).
> > In order to enure muliple adpaters installed on one system are visible to
> > an
> > application I believe that I must create a new GUID for the filter exposed
> > by
> > each adapters instance of the driver. Is that correct?
> > If that is correct how can the INF file generate a new GUID (since I
> > assume
> > that the INF file must register the filter interface - and probably write
> > the
> > GUID to the driver registry path to allow the driver to pick up the same
> > GUID
> > to use when registering the filter with BDA).
>
>
> Hello Mickey,
> The INF is read by the installer.exe which is capable to create a new GUID
> for you, if you specified the GUID correctly, but first be sure to
> check/delete the old GUID of yours if it exists. This can be done through
> INF section above it.
>
> Good luck.
>
>
>

Re: Filter GUIDs for multiple adapters by Khamsing

Khamsing
Sat Sep 16 04:03:57 CDT 2006

The Installer.exe is just an example I illustrated to you that created the
GUID for you behind the scene, do not take it literally. The real installer
running behind the scene in Windows (I believe it's SETUPAPI.DLL if I am not
mistaken) is the one that handle INF's installation for you. You should
look in your \Windows\Setupapi.log file to see the result of each INF
installation.

If you have a second driver using the same INF file, it explains why you
only see one driver on your list, you have to differentiate the two drivers
through different device ID (if the two drivers are meant to drive two
difference hardware).

I hope this helps.

-Khamsing

"Mickey" <Mickey@discussions.microsoft.com> wrote in message
news:1251B444-4068-4949-96E3-174745A059F4@microsoft.com...
> So I have read through the DDK section on writing an INF file, and the
> section "Including GUIDs in Driver Code" and theses both describe very
> well
> how to use uuidgen to generate a new GUID and then how to use this in my
> driver header and the inf file to register the filter. I am happy with all
> of
> that aspect - and it is working well. However if I plug in a second
> adapter
> (which uses the same driver and inf file) then it loads and runs OK, but
> when
> I browse the available filters in graph edit there is only one of the
> adapter
> filters avaiable.
> Would I be right to expect two filters to be available (one from each
> adapter)?
> If installer.exe is capable of generating a new GUID for me - where can I
> find out how to do that?
>
> In this case I do not want to delete the old GUID since it would be for
> the
> first installed adapter. Although this does lead to the question, how do I
> delete the GUID if one of the adapters is uninstalled? (especially if the
> GUID is dynamically created by installer.exe).
>
> I am still unsure if I am taking the correct approach to expose seperate
> filters from the two (or more) installed adapters. Maybe I have missed
> some
> other aspect of the registration of the filter that would allow it to be
> duplicated by mutiple adapters?
>
>
> "Khamsing" wrote:
>
>>
>> "Mickey" <Mickey@discussions.microsoft.com> wrote in message
>> news:0BE86DFB-4634-4954-B9AD-2C96A25314AB@microsoft.com...
>> >I have a driver that exposes an AVStream filter factory (BDA
>> >demod/tuner).
>> > In order to enure muliple adpaters installed on one system are visible
>> > to
>> > an
>> > application I believe that I must create a new GUID for the filter
>> > exposed
>> > by
>> > each adapters instance of the driver. Is that correct?
>> > If that is correct how can the INF file generate a new GUID (since I
>> > assume
>> > that the INF file must register the filter interface - and probably
>> > write
>> > the
>> > GUID to the driver registry path to allow the driver to pick up the
>> > same
>> > GUID
>> > to use when registering the filter with BDA).
>>
>>
>> Hello Mickey,
>> The INF is read by the installer.exe which is capable to create a new
>> GUID
>> for you, if you specified the GUID correctly, but first be sure to
>> check/delete the old GUID of yours if it exists. This can be done
>> through
>> INF section above it.
>>
>> Good luck.
>>
>>
>>