Setupapoi.dev.log errors

I am debugging the USB device driver for FX2LP. I got the error message as shown below in setupapi.dev.log file. Please give me some hints or advice on how to fix the error.

Thanks in advance.

=====================================================
dvi: {DIF_ALLOW_INSTALL} 14:44:45.970
dvi: No class installer for ‘WDF Sample Driver for OSR USB-FX2 Learning Kit’
!!! dvi: Loading module ‘C:\Windows\system32\WdfCoInstaller01011.dll’ failed.
!!! dvi: Error 193: %1 is not a valid Win32 application.
!!! dvi: Error 193 loading CoInstaller(WdfCoInstaller01011.dll,WdfCoInstaller)
!!! dvi: Error 193: %1 is not a valid Win32 application.
dvi: No CoInstallers found
dvi: Default installer: Enter 14:44:45.972
dvi: Default installer: Exit
dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 14:44:45.972

On Jun 29, 2015, at 2:40 PM, xxxxx@gmail.com wrote:

I am debugging the USB device driver for FX2LP. I got the error message as shown below in setupapi.dev.log file. Please give me some hints or advice on how to fix the error.

Given the fix you already made, SURELY you can figure this out:

dvi: {DIF_ALLOW_INSTALL} 14:44:45.970
dvi: No class installer for ‘WDF Sample Driver for OSR USB-FX2 Learning Kit’
!!! dvi: Loading module ‘C:\Windows\system32\WdfCoInstaller01011.dll’ failed.
!!! dvi: Error 193: %1 is not a valid Win32 application.
!!! dvi: Error 193 loading CoInstaller(WdfCoInstaller01011.dll,WdfCoInstaller)
!!! dvi: Error 193: %1 is not a valid Win32 application.

Here is a hint. If you try to load a 32-bit DLL into a 64-bit process, this is the error message you get.

Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

So you are saying WdfCoinstaller01011.dll is a 32 bit DLL and that’s what causes the problem?

But the other USB driver I have that I now is working on the same computer I am testing with uses WdfCoinstaller01011.dll as well. Because it’s inf file has:

[SourceDisksFiles]
WdfCoInstaller01011.dll=1 ; make sure the number matches with SourceDisksNames

[CoInstaller_CopyFiles]
WdfCoInstaller01011.dll

[CoInstaller_AddReg]
HKR,CoInstallers32,0x00010000, “WdfCoInstaller01011.dll,WdfCoInstaller”

xxxxx@gmail.com wrote:

So you are saying WdfCoinstaller01011.dll is a 32 bit DLL and that’s what causes the problem?

Only you can answer that question. The co-installer DLLs come in 32-bit
flavor and 64-bit flavor. It is up to YOU to make sure you build your
driver packages with the correct DLL to match your environment. How are
you building your driver package? Are you copying the files yourself?
Are you quite sure you are copying from the right subdirectory?

But the other USB driver I have that I now is working on the same computer I am testing with uses WdfCoinstaller01011.dll as well.

Maybe that package has the right one.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

I just resolved the problem.

The problem is in my device.c DeviceAdd function. The sample I am using has a pnpPowerCallback function call, but the device I am using probably doesn’t support that. So I comment out those pertaining and now the “CM_PROB_FAILED_START” and "The device cannot start. Error code 10 " problem is gone

All pnp devices , of all types (hw, root enumerated, etc), support all possible callbacks in pnpPowerCallbacks. Registering the callback you removed is not the reason the pnp start failed, it is something else

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Tuesday, June 30, 2015 2:41 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Setupapoi.dev.log errors

I just resolved the problem.

The problem is in my device.c DeviceAdd function. The sample I am using has a pnpPowerCallback function call, but the device I am using probably doesn’t support that. So I comment out those pertaining and now the “CM_PROB_FAILED_START” and "The device cannot start. Error code 10 " problem is gone


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Hi, thanks you for your reply.

I comment out the following lines and it works (Here is the link for the original code: http://textuploader.com/35ls)

//TraceEvents(TRACE_LEVEL_INFORMATION, DBG_PNP,“–> OsrFxEvtDeviceAdd routine\n”);

//
// Initialize the pnpPowerCallbacks structure. Callback events for PNP
// and Power are specified here. If you don’t supply any callbacks,
// the Framework will take appropriate default actions based on whether
// DeviceInit is initialized to be an FDO, a PDO or a filter device
// object.
//

//WDF_PNPPOWER_EVENT_CALLBACKS_INIT(&pnpPowerCallbacks);
//
// For usb devices, PrepareHardware callback is the to place select the
// interface and configure the device.
//
//pnpPowerCallbacks.EvtDevicePrepareHardware = OsrFxEvtDevicePrepareHardware;

//
// These two callbacks start and stop the wdfusb pipe continuous reader
// as we go in and out of the D0-working state.
//

// pnpPowerCallbacks.EvtDeviceD0Entry = OsrFxEvtDeviceD0Entry;
//pnpPowerCallbacks.EvtDeviceD0Exit = OsrFxEvtDeviceD0Exit;
// pnpPowerCallbacks.EvtDeviceSelfManagedIoFlush = OsrFxEvtDeviceSelfManagedIoFlush;

//WdfDeviceInitSetPnpPowerEventCallbacks(DeviceInit, &pnpPowerCallbacks);

//WdfDeviceInitSetIoType(DeviceInit, WdfDeviceIoBuffered);

So if not PNP, what could be reason? Sorry I am fairly new to the USB device driver.

One of those callbacks returned a failure NTSTATUS value. Each of these is called while processing the pnp start rip.

Sent from Outlook Mailhttp: for Windows 10

From: xxxxx@gmail.com
Sent: Tuesday, June 30, 2015 3:33 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Setupapoi.dev.log errors

Hi, thanks you for your reply.

I comment out the following lines and it works (Here is the link for the original code: http://textuploader.com/35ls)

//TraceEvents(TRACE_LEVEL_INFORMATION, DBG_PNP,“–> OsrFxEvtDeviceAdd routine\n”);

//
// Initialize the pnpPowerCallbacks structure. Callback events for PNP
// and Power are specified here. If you don’t supply any callbacks,
// the Framework will take appropriate default actions based on whether
// DeviceInit is initialized to be an FDO, a PDO or a filter device
// object.
//

//WDF_PNPPOWER_EVENT_CALLBACKS_INIT(&pnpPowerCallbacks);
//
// For usb devices, PrepareHardware callback is the to place select the
// interface and configure the device.
//
//pnpPowerCallbacks.EvtDevicePrepareHardware = OsrFxEvtDevicePrepareHardware;

//
// These two callbacks start and stop the wdfusb pipe continuous reader
// as we go in and out of the D0-working state.
//

// pnpPowerCallbacks.EvtDeviceD0Entry = OsrFxEvtDeviceD0Entry;
//pnpPowerCallbacks.EvtDeviceD0Exit = OsrFxEvtDeviceD0Exit;
// pnpPowerCallbacks.EvtDeviceSelfManagedIoFlush = OsrFxEvtDeviceSelfManagedIoFlush;

//WdfDeviceInitSetPnpPowerEventCallbacks(DeviceInit, &pnpPowerCallbacks);

//WdfDeviceInitSetIoType(DeviceInit, WdfDeviceIoBuffered);

So if not PNP, what could be reason? Sorry I am fairly new to the USB device driver.


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer</http:>