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

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

Create driver interface using hardware ID

KmdfDevKmdfDev Member Posts: 2

I'm hoping to get a little insight on how driver interfaces are generated in WDF.

I have a driver based on avshws:
https://github.com/microsoft/Windows-driver-samples/tree/master/avstream/avshws

The issue I'm facing is that I require the driver interface to path to contain the hardware ID of my device.
Right now the interface when created is simply \?\ROOT#IMAGE#0000#{e5323777-f976-4f5b-9b55-b94699c46e44}\GLOBAL showing that it is a KSCATEGORY_VIDEO_CAMERA interface, which is good, but I need the hardware ID in the path, such as:
\?\ROOT#IMAGE#my_hardware_id#{e5323777-f976-4f5b-9b55-b94699c46e44}\GLOBAL

Any help is much appreciated.

Comments

  • Doron_HolanDoron_Holan Member - All Emails Posts: 10,448

    what bigger problem are you trying to solve? the format of the device interface is opaque (and subject to change) and you should not be parsing it for sub strings. You can query for properties (including the hardware IDs) from a device interface string instance

    d
  • KmdfDevKmdfDev Member Posts: 2

    The main problem is that it is being accessed from a UWP application and it filters the devices based on the hardware ID from the interface path. Unfortunately, it's a third party I'm integrating with and I can't control how they are filtering the devices.

    One other note, I have been toying with this idea using the vhidmini2 sample driver, since I'm more familiar with HID devices.
    When I create the device using it's standard implementation I get a device interface such as: \?\HID#HIDCLASS...col1{4D1E55B2-F16F-11CF-88CB-001111000030}
    But if I remove that device and implement a VHF device then the device interface path is more to what I'm expecting:
    \?\HID#my_hardware_id...col1{4D1E55B2-F16F-11CF-88CB-001111000030}

    Even with the standard vhidmini2 sample I have not been able to do this as of yet but trying to understand why VHF can do it.

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