Re: An Architectural Question
- From: "Doron Holan [MS]" <doronh@xxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 6 Jan 2006 19:12:50 -0800
a bus dirver does not help for individual instances of the hardware since
each instance here needs the assigned hw resources that pnp gave it to
function. a bus driver, like don said, is for taking a single device with
distinct subfunctions and splitting them up into separate pieces so that
they can accessed separately.
you have some serious synchronization issues if you are going to have a
control device that then redirects to a real device. that real device (ie
the one w/the hardware) can come and go at any time which means alot of
references and complexity in sending each i/o.
d
--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.
"Yoke" <mdyoke@xxxxxxxxxxxxxxxx> wrote in message
news:41FF09F2-B2FB-4B85-A43F-7F567EDB506E@xxxxxxxxxxxxxxxx
> As is usually the case, much more background info is required.
>
> We have a design that has been around since the NT 4 days that has been
> propagated to the present day. The basic design involves a device object,
> not
> associated with any hardware, that represents the collection of all
> devices
> under the control of the particular driver and a collection of device
> objects
> associated with actual hardware. There are some IOCTLs defined that
> operate
> on the entire collection of devices, and some that operate on individual
> devices. In general, I/O requests target the first device object and
> include
> a serial number which uniquely identify the actual device. The driver then
> figures out which device the request is for and does the right thing. As
> you
> might guess, over the years as Windows has evolved, preserving this model
> has
> caused me grief. As I am now in a position to redesign some things, and
> the
> WDF promises to make bus drivers more straightforward to develop, and I
> still
> need to handle requests targeted at an entire collection of like hardware,
> I
> am wondering if the bus driver approach will be cleaner.
>
> "Don Burn" wrote:
>
>> If you mean multiple instances of the same device, then this is standard
>> with any function driver no proprietrary stuff involved. In fact if you
>> are
>> developing a driver you should always test with multiple devices
>> installed
>> if possible.
>>
>> If you are referring to a device that has multiple functions, then you
>> may
>> need a bus driver.
>>
>>
>> --
>> Don Burn (MVP, Windows DDK)
>> Windows 2k/XP/2k3 Filesystem and Driver Consulting
>> Remove StopSpam from the email to reply
>>
>>
>>
>> "Yoke" <mdyoke@xxxxxxxxxxxxxxxx> wrote in message
>> news:ABFAD8F6-C201-494A-A56E-F35E6D49195D@xxxxxxxxxxxxxxxx
>> > When supporting multiple instances of a device (that is not supported
>> > by
>> > standard class drivers), is it better to architect the driver software
>> > as
>> > a
>> > bus driver or as a single function driver that handles multiple
>> > instances
>> > in
>> > some proprietary fashion?
>> >
>> > Opinions appreciated.
>> >
>> > Mike
>>
>>
>>
.
- Follow-Ups:
- Re: An Architectural Question
- From: Yoke
- Re: An Architectural Question
- References:
- Re: An Architectural Question
- From: Don Burn
- Re: An Architectural Question
- Prev by Date: Re: Power states handling
- Next by Date: Re: An Architectural Question
- Previous by thread: Re: An Architectural Question
- Next by thread: Re: An Architectural Question
- Index(es):
Relevant Pages
|
Loading