STATUS_NOT_SUPPORTED error when trying to get GUID_PCI_VIRTUALIZATION_INTERFACE

Hi,

I have a PCI Express device that supports SR-IOV.
I’m trying to get GUID_PCI_VIRTUALIZATION_INTERFACE interface using WdfFdoQueryForInterface() to perform some SR-IOV operations.
Unfortunately, calling WdfFdoQueryForInterface() returns 0xc00000bb - STATUS_NOT_SUPPORTED.

The machine supports SR-IOV and the feature is enabled on BIOS.
I will note that I succeeded to get another interface like GUID_BUS_INTERFACE_STANDARD for the same Fdo.
In addition, I succeeded to perform SR-IOV operations in LINUX on the same machine (with the same BIOS settings) and with the same device.

Am I missing something? Is there a logical reason why I’m getting STATUS_NOT_SUPPORTED?

Thanks in advance.

Is there a logical reason why I’m getting STATUS_NOT_SUPPORTED?

Because getting that bus interface isn’t supported?

Sorry, I couldn’t resist.

First, you ARE doing this for the PF, right? You can’t get the bus interface for any of the VFs

But, more to the point: the only support for SR-IOV I’m Windows that I’m aware of is for NICs, via NDIS. I have, personally, never seen a non-network SR-IOV device on Windows.

What are you trying to do?

Peter

Stupid question: does the target device support SR-IOV?

Mark Roddy