Can't Get Past ASIOInit()

Just found this forum; thanks in advance for any help that you can provide.

I’ll start out by admitting I’m a hack at this, but over the past decade and a half I have managed to make some passable ASIO noises under SDK 2.0, 2.1, and most recently 2.3. I just started a new project, based upon working code from the past, but I for some reason now I can’t get past ASIOInit().

[Steinberg UR824, driver version 1.5, firmware version 1.5, Windows XP (yeah, XP – it’s a good old machine that is never connected to the Internet), ASIO SDK 2.3]:

I start with:
if(!asioDrivers) asioDrivers = new AsioDrivers();

Then:
numberOfAvailableDrivers = asioDrivers->getDriverNames(driverNames, 8);

I select the desired driver from among those available, and then:
if (loadAsioDriver(driverNames[desiredDriver])) {
which takes 14 seconds to return. But it returns “true”, so I assume that it succeeds.

Then:
if (ASIOInit(&asioDriverInfo.driverInfo) == ASE_OK) {
This fails immediately, returning “-1000” (ASE_NotPresent).

I tried hard-coding the driver name into the call to loadAsioDriver(), but it didn’t change anything.

I’ve probably broken something subtle by trying to streamline the old code, but I cannot imagine what it could be. Any help will be appreciated.

Thanks,
Greg

OP here again.
For what it’s worth, I’ve now tried the same ASIO code with a Lynx AES16, and it works perfectly. So it’s either the Steinberg ASIO driver, the Yamaha/Steinberg hardware, or the USB interface that’s at fault. Probably not the driver; Steinberg invented ASIO so they should know what they’re doing. But the UR824 was bought used and the computer is old. I’ll first try a different computer and see what happens.