Re: An Architectural Question



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
>>
>>
>>


.



Relevant Pages

  • Re: IPC and Threading in DLL
    ... You do not need a driver at all. ... Then the white paper is placed on a bus, ... and the bus driver is told to take it to the correct port for the ... hardware, where a fisherman is wating to carry out the instructions. ...
    (microsoft.public.win32.programmer.kernel)
  • Re: About SD interface in WinCE 5.0
    ... muxing support in the hardware, and a software stack that supports it. ... SD solution provided by MS does not support multislot, ... SDIOHX driver from BSquare. ... As long as I know, After a SD device is inserted, the bus driver ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Inter-driver communication in Windows
    ... Several questions, when you say the same hardware, do you mean multiple ... This is not a typical Windows driver model you are proposing. ... providing the resources for each function to the appropriate driver. ...
    (microsoft.public.development.device.drivers)
  • Re: An Architectural Question
    ... I don't see any value in a bus driver here, it sounds like you driver has ... one device object and needs to forward things to a bunch of devices. ... >> If you mean multiple instances of the same device, ...
    (microsoft.public.development.device.drivers)
  • Re: USB Function Clients
    ... The bus driver provides a common interface to the hardware, allowing client ... I thought that's what the "USB Function Bus Driver" was for. ...
    (microsoft.public.windowsce.platbuilder)

Loading