NvAPI_GPU_GetBusSlotId woes

I’m trying to get an enumeration of my computer’s displays and the card and card port each is attached to. I’ve had success using NvAPI to do this in the past on Windows 7, but I’m now trying to do the same on Windows 8.1 with two GTX 980s. I can get the card ID as before but when I call:

auto ret = NvAPI_GPU_GetBusSlotId(dGPUHandle, &dBusSlotID);

The slot is always 0. The return value claims everything is ok. Did something break with Windows 8.1? Is there any other strategy to find a unique ID for each of my cards’ outputs?

Thanks for any insights you might have!