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

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

Question regarding WDFINTERRUPT and MSI-X vector number order.

Erik_DabrowskyErik_Dabrowsky Member - All Emails Posts: 25


Is it safe to assume that MSI-X vector numbers (MessageIDs) are assigned in the same order that interrupt objects are created?
As in: 1st interrupt object gets message id 0, 2nd object gets message id 1, 3rd gets 2, etc...?

The interrupt objects are being created in EvtDeviceAdd and not in EvtPrepareHardware if that matters.

So far, from practice that appears to be the case, but I want to make sure I'm not depending on a coincidence.



  • MBond2MBond2 Member Posts: 19

    I have no idea what the correct answer is, but do you need to depend on this?

  • Tim_RobertsTim_Roberts Member - All Emails Posts: 13,204
    edited January 15

    How could it work any other way? If they weren't aligned, there would be no way to correlate the two lists.

    Tim Roberts, [email protected]
    Providenza & Boekelheide, Inc.

  • Erik_DabrowskyErik_Dabrowsky Member - All Emails Posts: 25

    In my case yes. The device has the ability to create one or more input queues in memory and allows you to tell it which MSI-X vector/message number to use when the queue is updated and the interrupt fires.

    In my specific case I use interrupt object 0 (msix 0) for basic register/configuration operations.
    MSIX vector 1 is associated with the 1st input queue and interrupt object 1
    MSIX vector 2 with the 2nd queue and interrupt object 2 etc etc.

  • Erik_DabrowskyErik_Dabrowsky Member - All Emails Posts: 25


    Thanks for the input. I figured that was probably the case, but I've learned not to make assumptions if possible.

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
Writing WDF Drivers 21 Oct 2019 OSR Seminar Space & ONLINE
Internals & Software Drivers 18 Nov 2019 Dulles, VA
Kernel Debugging 30 Mar 2020 OSR Seminar Space
Developing Minifilters 27 Apr 2020 OSR Seminar Space & ONLINE