Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTFSD
Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


Create multiple FDOs for one PDO

OSR_Community_UserOSR_Community_User Member Posts: 110,217
Hi there,

I want to create multiple FDOs in my AddDevice routine and assign them
to one single PDO (the one I got as parameter to AddDevice).
(My device is not a multiple function device, thus I only get one AddDevice
call).

The problem is, that the IoAttachDeviceToDeviceStack function adds any
additional FDO to the top of the device object stack (vertically).
But, I am looking for an horizontal approach, since I want to build up a
tree that branches just above the PDO. My device should be accessable
through both branches, and I only want to write one single driver binary.

Is there any function that do this job?

Thanks in advance...

Best regards

Carsten

Comments

  • OSR_Community_User-35OSR_Community_User-35 Member Posts: 154
    I doubt there is any support for the sort of multiplexing attach you're
    talking about but maybe you can try something along the lines of a virtual
    bus FDO; that is, attach a single FDO and then have it create and enumerate
    any number of child PDOs, each the base of an additional devnode. Your
    driver can effectively cap the original device stack at your FDO, and direct
    any I/O directed at your PDOs down to the PDO you've attached to.

    -----------------------------------------------------------------------
    Dave Cox
    Hewlett-Packard Co.
    HPSO/SSMO (Santa Barbara)
    https://ecardfile.com/id/Dave+Cox


    -----Original Message-----
    From: Carsten Schulz [mailto:[email protected]]
    Sent: Tuesday, March 07, 2000 8:09 AM
    To: File Systems Developers Interest List
    Subject: [ntfsd] Create multiple FDOs for one PDO


    Hi there,

    I want to create multiple FDOs in my AddDevice routine and assign them
    to one single PDO (the one I got as parameter to AddDevice).
    (My device is not a multiple function device, thus I only get one AddDevice
    call).

    The problem is, that the IoAttachDeviceToDeviceStack function adds any
    additional FDO to the top of the device object stack (vertically).
    But, I am looking for an horizontal approach, since I want to build up a
    tree that branches just above the PDO. My device should be accessable
    through both branches, and I only want to write one single driver binary.

    Is there any function that do this job?

    Thanks in advance...

    Best regards

    Carsten

    ---
    You are currently subscribed to ntfsd as: [email protected]
    To unsubscribe send a blank email to $subst('Email.Unsub')
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Kernel Debugging 30 Mar 2020 OSR Seminar Space
Developing Minifilters 15 Jun 2020 LIVE ONLINE
Writing WDF Drivers 22 June 2020 LIVE ONLINE
Internals & Software Drivers 28 Sept 2020 Dulles, VA