WDM driver for XP -> Vista: timeout while installing

Hello!

I’ve got the following problem: Our WDM driver (a PCI bridge driver) works fin under XP, but when I try to install it under Vista, it takes extremely long and finally fails with a timeout error. Afterwards, the driver is listed in the device manager as “fully functional”, but it doesn’t work with our application.

I debugged the driver with WinDbg to see what’s wrong, but I can’t really see the problem. Below are my results. I’d really appreciate any hint. Thanks in advance!

Regards
Stefan

-> DriverEntry
-> DrvCreateSupportDevice
-> IoCreateDevice(…, &NtDeviceName, …);
<- STATUS_SUCCESS
-> IoCreateSymbolicLink(&DosDeviceName, &NtDeviceName);
<- STATUS_SUCCESS
<- TRUE
DriverObject->MajorFunction[IRP_MJ_CREATE] = DrvDispatchCreate;
DriverObject->MajorFunction[IRP_MJ_CLOSE] = DrvDispatchClose;
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = DrvDispatchDeviceControl;
DriverObject->MajorFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL] = DrvDispatchInternalDeviceControl;
DriverObject->MajorFunction[IRP_MJ_CLEANUP] = DrvDispatchCleanup;
DriverObject->MajorFunction[IRP_MJ_POWER] = DrvDispatchPower;
DriverObject->MajorFunction[IRP_MJ_PNP] = DrvDispatchPnp;
DriverObject->DriverExtension->AddDevice = DrvAddDevice;
DriverObject->DriverStartIo = DrvStartIo;
DriverObject->DriverUnload = DrvUnload;
<- STATUS_SUCCESS

-> DrvAddDevice
-> IoCreateDevice(…, &NtDeviceName, …);
<- STATUS_SUCCESS
-> IoRegisterDeviceInterface(pdo, &GUID_DEVINTERFACE, NULL, &pdx->DeviceInterfaceName);
<- STATUS_SUCCESS
-> IoCreateSymbolicLink(&DosDeviceName, &NtDeviceName);
<- STATUS_SUCCESS
-> IoAttachDeviceToDeviceStack(DeviceObject, pdo);
<- STATUS_SUCCESS
-> DeviceObject->Flags &= ~DO_DEVICE_INITIALIZING;
<- STATUS_SUCCESS

/* This one doesn’t always occur
-> DrvDispatchPnp
-> 0x18 = ???
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
*/

-> DrvDispatchPnp
-> 0x0D = IRP_MN_FILTER_RESOURCE_REQUIREMENTS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x00 = IRP_MN_START_DEVICE
-> DrvPnpStartDevice
-> DrvForwardAndWait(DeviceObject, Irp);
-> IoCallDriver(DeviceContext->LowerDevice, Irp);
<- STATUS_SUCCESS
-> DrvGetResources(DeviceContext, Irp);
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

********
=> Vista seems to wait for something for 5 Minuten (outside driver code)
********

-> DrvDispatchPnp
-> 0x09 = IRP_MN_QUERY_CAPABILITIES
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x08 = IRP_MN_QUERY_INTERFACE
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED

-> DrvDispatchPnp
-> 0x09 = IRP_MN_QUERY_CAPABILITIES
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x08 = IRP_MN_QUERY_INTERFACE
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED

-> DrvDispatchPnp
-> 0x09 = IRP_MN_QUERY_CAPABILITIES
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x09 = IRP_MN_QUERY_CAPABILITIES
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x09 = IRP_MN_QUERY_CAPABILITIES
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x08 = IRP_MN_QUERY_INTERFACE
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x08 = IRP_MN_QUERY_INTERFACE
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

********
=> Vista does something for 30 seconds (outside driver code)
********

-> DrvDispatchPnp
-> 0x09 = IRP_MN_QUERY_CAPABILITIES
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x08 = IRP_MN_QUERY_INTERFACE
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED

-> DrvDispatchPnp
-> 0x09 = IRP_MN_QUERY_CAPABILITIES
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x08 = IRP_MN_QUERY_INTERFACE
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED

********
=> Vista seems to wait for something for 5 Minuten (outside driver code)
********

You might want to take a look at the \Windows\setupapi.log file (on
Vista this will refer you to another file that I don’t recall the name
of) for further detail about the installation process.

mm
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmx.de
Sent: Friday, August 24, 2007 10:06
To: Windows System Software Devs Interest List
Subject: [ntdev] WDM driver for XP -> Vista: timeout while installing

Hello!

I’ve got the following problem: Our WDM driver (a PCI bridge driver)
works fin under XP, but when I try to install it under Vista, it takes
extremely long and finally fails with a timeout error. Afterwards, the
driver is listed in the device manager as “fully functional”, but it
doesn’t work with our application.

I debugged the driver with WinDbg to see what’s wrong, but I can’t
really see the problem. Below are my results. I’d really appreciate any
hint. Thanks in advance!

Regards
Stefan

-> DriverEntry
-> DrvCreateSupportDevice
-> IoCreateDevice(…, &NtDeviceName, …);
<- STATUS_SUCCESS
-> IoCreateSymbolicLink(&DosDeviceName, &NtDeviceName);
<- STATUS_SUCCESS
<- TRUE
DriverObject->MajorFunction[IRP_MJ_CREATE] = DrvDispatchCreate;
DriverObject->MajorFunction[IRP_MJ_CLOSE] = DrvDispatchClose;
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] =
DrvDispatchDeviceControl;
DriverObject->MajorFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL] =
DrvDispatchInternalDeviceControl;
DriverObject->MajorFunction[IRP_MJ_CLEANUP] = DrvDispatchCleanup;
DriverObject->MajorFunction[IRP_MJ_POWER] = DrvDispatchPower;
DriverObject->MajorFunction[IRP_MJ_PNP] = DrvDispatchPnp;
DriverObject->DriverExtension->AddDevice = DrvAddDevice;
DriverObject->DriverStartIo = DrvStartIo;
DriverObject->DriverUnload = DrvUnload;
<- STATUS_SUCCESS

-> DrvAddDevice
-> IoCreateDevice(…, &NtDeviceName, …);
<- STATUS_SUCCESS
-> IoRegisterDeviceInterface(pdo, &GUID_DEVINTERFACE, NULL,
&pdx->DeviceInterfaceName);
<- STATUS_SUCCESS
-> IoCreateSymbolicLink(&DosDeviceName, &NtDeviceName);
<- STATUS_SUCCESS
-> IoAttachDeviceToDeviceStack(DeviceObject, pdo);
<- STATUS_SUCCESS
-> DeviceObject->Flags &= ~DO_DEVICE_INITIALIZING;
<- STATUS_SUCCESS

/* This one doesn’t always occur
-> DrvDispatchPnp
-> 0x18 = ???
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
*/

-> DrvDispatchPnp
-> 0x0D = IRP_MN_FILTER_RESOURCE_REQUIREMENTS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x00 = IRP_MN_START_DEVICE
-> DrvPnpStartDevice
-> DrvForwardAndWait(DeviceObject, Irp);
-> IoCallDriver(DeviceContext->LowerDevice, Irp);
<- STATUS_SUCCESS
-> DrvGetResources(DeviceContext, Irp);
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

********
=> Vista seems to wait for something for 5 Minuten (outside driver code)
********

-> DrvDispatchPnp
-> 0x09 = IRP_MN_QUERY_CAPABILITIES
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x08 = IRP_MN_QUERY_INTERFACE
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED

-> DrvDispatchPnp
-> 0x09 = IRP_MN_QUERY_CAPABILITIES
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x08 = IRP_MN_QUERY_INTERFACE
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED

-> DrvDispatchPnp
-> 0x09 = IRP_MN_QUERY_CAPABILITIES
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x09 = IRP_MN_QUERY_CAPABILITIES
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x09 = IRP_MN_QUERY_CAPABILITIES
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x08 = IRP_MN_QUERY_INTERFACE
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x08 = IRP_MN_QUERY_INTERFACE
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

********
=> Vista does something for 30 seconds (outside driver code)
********

-> DrvDispatchPnp
-> 0x09 = IRP_MN_QUERY_CAPABILITIES
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x08 = IRP_MN_QUERY_INTERFACE
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED

-> DrvDispatchPnp
-> 0x09 = IRP_MN_QUERY_CAPABILITIES
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x08 = IRP_MN_QUERY_INTERFACE
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS
<- STATUS_SUCCESS

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED

-> DrvDispatchPnp
-> 0x07 = IRP_MN_QUERY_DEVICE_RELATIONS
-> DrvPnpDefault
-> IoCallDriver(DeviceContext->LowerDevice, Irp)
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED
<- STATUS_NOT_SUPPORTED

********
=> Vista seems to wait for something for 5 Minuten (outside driver code)
********


NTDEV is sponsored by OSR

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

Below is the setupapi.dev.log of one installation attempt. Unfortunately, it doesn’t seem to contain any new information. It confirms that a timeout occurs, but it doesn’t say why. Or do I miss something? My driver “package” only consists of a .sys and a .inf file. No installer or co-installer. There is a paper from Microsoft which says that there might be an invisible dialog waiting for user input, but I have no idea why this should be.

[Device Install Log]
OS Version = 6.0.6000
Service Pack = 0.0
Suite = 0x0100
ProductType = 1
Architecture = x86

[BeginLog]

>> [Device Install (DiShowUpdateDevice) - PCI\VEN_10B5&DEV_9030&SUBSYS_294310B5&REV_00\4&2E98101C&0&58F0]
>> Section start 2007/08/27 09:18:55.286
cmd: “C:\Windows\system32\mmc.exe” “C:\Windows\System32\compmgmt.msc” /s
dvi: {DIF_UPDATEDRIVER_UI} 09:18:55.302
dvi: No class installer for ‘Anderes PCI-Brückengerät’
dvi: No CoInstallers found
dvi: Default installer: Enter 09:18:55.318
dvi: Default installer: Exit
dvi: {DIF_UPDATEDRIVER_UI - exit(0xe000020e)} 09:18:55.318
ndv: {Update Driver Software Wizard for PCI\VEN_10B5&DEV_9030&SUBSYS_294310B5&REV_00\4&2E98101C&0&58F0}
inf: Opened INF: ‘g:\software_rte\temp\flccan.inf’ ([strings] )
inf: {SetupCopyOEMInf: g:\software_rte\temp\flccan.inf} 09:18:58.818
inf: Opened INF: ‘g:\software_rte\temp\flccan.inf’ ([strings] )
inf: Opened INF: ‘g:\software_rte\temp\flccan.inf’ ([strings] )
dvi: {Staging Package To Driver Store - phase 1}
sto: Inf Path = g:\software_rte\temp\flccan.inf
sto: Flags = 10
sto: Processor Architecture = 0
inf: Opened INF: ‘g:\software_rte\temp\flccan.inf’ ([strings] )
inf: Opened INF: ‘g:\software_rte\temp\flccan.inf’ ([strings] )
inf: Opened INF: ‘g:\software_rte\temp\flccan.inf’ ([strings] )
inf: Opened INF: ‘g:\software_rte\temp\flccan.inf’ ([strings] )
inf: Opened INF: ‘g:\software_rte\temp\flccan.inf’ ([strings] )
sto: Copying driver package. Inf = g:\software_rte\temp\flccan.inf, Destination = C:\Users\Ferro{7e03a53a-0968-460b-b9b7-42139183b4d1}
inf: Opened INF: ‘g:\software_rte\temp\flccan.inf’ ([strings] )
inf: Opened INF: ‘g:\software_rte\temp\flccan.inf’ ([strings] )
flq: {FILE_QUEUE_COPY}
flq: CopyStyle - 0x00000000
flq: SourceRootPath - ‘g:\software_rte\temp’
flq: SourceFilename - ‘flccan.inf’
flq: TargetDirectory- ‘C:\Users\Ferro{7e03a53a-0968-460b-b9b7-42139183b4d1}’
flq: {FILE_QUEUE_COPY exit(0x00000000)}
!!! sto: Inf file does not contain CatalogFile directive for the specified processor architecture. Inf = g:\software_rte\temp\flccan.inf
inf: Opened INF: ‘g:\software_rte\temp\flccan.inf’ ([strings] )
flq: {FILE_QUEUE_COPY}
flq: CopyStyle - 0x00000000
flq: SourceRootPath - ‘g:\software_rte\temp’
flq: SourcePath - ''
flq: SourceFilename - ‘flccan.sys’
flq: TargetDirectory- ‘C:\Users\Ferro{7e03a53a-0968-460b-b9b7-42139183b4d1}’
flq: SourceDesc - ‘FLCCAN Installation’
flq: SourceTagfile - ‘disk1’
flq: {FILE_QUEUE_COPY exit(0x00000000)}
flq: {_commit_file_queue}
flq: {SPFILENOTIFY_STARTQUEUE}
flq: {SPFILENOTIFY_STARTQUEUE - returned 0x00000001}
flq: {_commit_copy_subqueue}
flq: subqueue count=2
flq: {SPFILENOTIFY_STARTSUBQUEUE}
flq: {SPFILENOTIFY_STARTSUBQUEUE - returned 0x00000001}
flq: source media:
flq: SourcePath - [g:\software_rte\temp]
flq: SourceFile - [flccan.inf]
flq: Flags - 0x00000000
flq: {_commit_copyfile}
flq: {SPFILENOTIFY_STARTCOPY}
flq: {SPFILENOTIFY_STARTCOPY - returned 0x00000001}
flq: CopyFile: ‘g:\software_rte\temp\flccan.inf’
flq: to: ‘C:\Users\Ferro{7e03a53a-0968-460b-b9b7-42139183b4d1}\SET7F6E.tmp’
flq: MoveFile: ‘C:\Users\Ferro{7e03a53a-0968-460b-b9b7-42139183b4d1}\SET7F6E.tmp’
flq: to: ‘C:\Users\Ferro{7e03a53a-0968-460b-b9b7-42139183b4d1}\flccan.inf’
flq: {SPFILENOTIFY_ENDCOPY}
flq: {SPFILENOTIFY_ENDCOPY - returned 0x00000000}
flq: {_commit_copyfile exit OK}
flq: source media:
flq: Tagfile - [disk1]
flq: Description - [FLCCAN Installation]
flq: SourcePath - [g:\software_rte\temp]
flq: SourceFile - [flccan.sys]
flq: Flags - 0x00000000
flq: {_commit_copyfile}
flq: {SPFILENOTIFY_STARTCOPY}
flq: {SPFILENOTIFY_STARTCOPY - returned 0x00000001}
flq: CopyFile: ‘g:\software_rte\temp\flccan.sys’
flq: to: ‘C:\Users\Ferro{7e03a53a-0968-460b-b9b7-42139183b4d1}\SET7F7F.tmp’
flq: MoveFile: ‘C:\Users\Ferro{7e03a53a-0968-460b-b9b7-42139183b4d1}\SET7F7F.tmp’
flq: to: ‘C:\Users\Ferro{7e03a53a-0968-460b-b9b7-42139183b4d1}\flccan.sys’
flq: {SPFILENOTIFY_ENDCOPY}
flq: {SPFILENOTIFY_ENDCOPY - returned 0x00000000}
flq: {_commit_copyfile exit OK}
flq: {SPFILENOTIFY_ENDSUBQUEUE}
flq: {SPFILENOTIFY_ENDSUBQUEUE - returned 0x00000000}
flq: {_commit_copy_subqueue exit OK}
flq: {SPFILENOTIFY_ENDQUEUE}
flq: {SPFILENOTIFY_ENDQUEUE - returned 0x00000000}
flq: {_commit_file_queue exit OK}
sto: Driver Package successfully copied to C:\Users\Ferro{7e03a53a-0968-460b-b9b7-42139183b4d1}
inf: Opened INF: ‘C:\Users\Ferro{7e03a53a-0968-460b-b9b7-42139183b4d1}\flccan.inf’ ([strings] )
pol: {Driver package policy check} 09:18:59.177
pol: {Driver package policy check - exit(0x00000000)} 09:18:59.177
dvi: Staging Package To Driver Store - phase 2
inf: Opened INF: ‘C:\Users\Ferro{7e03a53a-0968-460b-b9b7-42139183b4d1}\flccan.inf’ ([strings] )
inf: Opened INF: ‘C:\Users\Ferro{7e03a53a-0968-460b-b9b7-42139183b4d1}\flccan.inf’ ([strings] )
inf: Opened INF: ‘C:\Users\Ferro{7e03a53a-0968-460b-b9b7-42139183b4d1}\flccan.inf’ ([strings] )
inf: Opened INF: ‘C:\Users\Ferro{7e03a53a-0968-460b-b9b7-42139183b4d1}\flccan.inf’ ([strings] )
inf: Opened INF: ‘C:\Windows\system32\DriverStore\Temp{756e0aff-dc56-49f0-a3cb-4a870fd7fb33}\Package\flccan.inf’ ([strings] )
inf: Opened INF: ‘C:\Windows\system32\DriverStore\Temp{756e0aff-dc56-49f0-a3cb-4a870fd7fb33}\Package\flccan.inf’ ([strings] )
! sto: The Driver Package does not contain a catalog file, but user wants to install anyway.
inf: Opened INF: ‘C:\Windows\system32\DriverStore\Temp{756e0aff-dc56-49f0-a3cb-4a870fd7fb33}\Package\flccan.inf’ ([strings] )
inf: Opened INF: ‘C:\Windows\system32\DriverStore\Temp{756e0aff-dc56-49f0-a3cb-4a870fd7fb33}\Package\flccan.inf’ ([strings] )
inf: Opened INF: ‘C:\Windows\system32\DriverStore\Temp{756e0aff-dc56-49f0-a3cb-4a870fd7fb33}\Package\flccan.inf’ ([strings] )
inf: Opened INF: ‘C:\Windows\system32\DriverStore\Temp{756e0aff-dc56-49f0-a3cb-4a870fd7fb33}\Package\flccan.inf’ ([strings] )
sto: Machine Name =
sto: File Repository = C:\Windows\system32\DriverStore\FileRepository
sto: Repository = C:\Windows\system32\DriverStore\Repository
sto: Inf Path = C:\Windows\system32\DriverStore\Temp{756e0aff-dc56-49f0-a3cb-4a870fd7fb33}\Package\flccan.inf
sto: Architecture = x86
sto: PackageRoot = C:\Windows\system32\DriverStore\Temp{756e0aff-dc56-49f0-a3cb-4a870fd7fb33}\Package
sto: Search Path = C:\Windows\system32\DriverStore\Temp{756e0aff-dc56-49f0-a3cb-4a870fd7fb33}\Package;C:\Windows\INF
sto: Flags = 10
sto: Package Hash = EF5F2E5646EE6952
sto: Signer Score = 0xff000000
sto: Digital Signer =
inf: Opened INF: ‘C:\Windows\system32\DriverStore\Temp{756e0aff-dc56-49f0-a3cb-4a870fd7fb33}\Package\flccan.inf’ ([strings] )
inf: Opened INF: ‘C:\Windows\system32\DriverStore\Temp{756e0aff-dc56-49f0-a3cb-4a870fd7fb33}\Package\flccan.inf’ ([strings] )
sto: Setting system restore point.
inf: Opened INF: ‘C:\Windows\system32\DriverStore\Temp{756e0aff-dc56-49f0-a3cb-4a870fd7fb33}\Package\flccan.inf’ ([strings] )
inf: Opened INF: ‘C:\Windows\system32\DriverStore\Temp{756e0aff-dc56-49f0-a3cb-4a870fd7fb33}\Package\flccan.inf’ ([strings] )
dvi: {Server Side Delete Driver Package: C:\Windows\System32\DriverStore\FileRepository\flccan.inf_a01c4772\flccan.inf}
sto: Removing driver package from the driver store.
sto: Machine Name =
sto: File Repository = C:\Windows\system32\DriverStore\FileRepository
sto: Repository = C:\Windows\system32\DriverStore\Repository
sto: Inf Path = C:\Windows\System32\DriverStore\FileRepository\flccan.inf_a01c4772\flccan.inf
sto: Search Path =
sto: Unpublish inf = C:\Windows\System32\DriverStore\FileRepository\flccan.inf_a01c4772\flccan.inf
idb: Unregistered driver store path ‘flccan.inf_a01c4772’
idb: Published INF ‘oem7.PNF’ deleted
sto: Driver package was successfully deleted from the driver store.
dvi: {Server Side Delete Driver Package - exit(0x00000000)}
idb: Registered ‘flccan.inf’ to driver store path ‘flccan.inf_a01c4772’
idb: Published ‘flccan.inf_a01c4772\flccan.inf’ to ‘C:\Windows\INF\oem7.inf’
sto: Commiting system restore point.
sto: {Staging Package To Driver Store - phase 2 exit(00000000)}
sto: {Staging Package To Driver Store - phase 1 exit(00000000)}
inf: Driver Store location: C:\Windows\System32\DriverStore\FileRepository\flccan.inf_a01c4772\flccan.inf
inf: Published Inf Path: C:\Windows\INF\oem7.inf
inf: OEM source media location: g:\software_rte\temp<br> inf: {SetupCopyOEMInf exit (0x00000000)} 09:19:12.021
dvi: Searching for hardware ID(s):
dvi: pci\ven_10b5&dev_9030&subsys_294310b5&rev_00
dvi: pci\ven_10b5&dev_9030&subsys_294310b5
dvi: pci\ven_10b5&dev_9030&cc_068000
dvi: pci\ven_10b5&dev_9030&cc_0680
dvi: Searching for compatible ID(s):
dvi: pci\ven_10b5&dev_9030&rev_00
dvi: pci\ven_10b5&dev_9030
dvi: pci\ven_10b5&cc_068000
dvi: pci\ven_10b5&cc_0680
dvi: pci\ven_10b5
dvi: pci\cc_068000
dvi: pci\cc_0680
inf: Opened INF: ‘C:\Windows\System32\DriverStore\FileRepository\flccan.inf_a01c4772\flccan.inf’ ([strings] )
sig: {_VERIFY_FILE_SIGNATURE} 09:19:12.052
sig: Key = flccan.inf
sig: FilePath = C:\Windows\System32\DriverStore\FileRepository\flccan.inf_a01c4772\flccan.inf
! sig: No installed catalogs matching catalog name ‘’ were found that validated the file.
sig: {_VERIFY_FILE_SIGNATURE exit(0x00000490)} 09:19:12.130
dvi: Selected driver installs from section [FLCCANInstall] in ‘c:\windows\system32\driverstore\filerepository\flccan.inf_a01c4772\flccan.inf’.
dvi: Class GUID of device changed to: {4d36e97e-e325-11ce-bfc1-08002be10318}.
dvi: Set selected driver complete.
dvi: {Plug and Play Service: Device Install for PCI\VEN_10B5&DEV_9030&SUBSYS_294310B5&REV_00\4&2E98101C&0&58F0}
ump: Creating Install Process: DrvInst.exe 09:19:12.161
ndv: Infpath=C:\Windows\INF\oem7.inf
ndv: DriverNodeName=flccan.inf:DeviceList:FLCCANInstall:0.0.0.0:pci\ven_10b5&dev_9030
ndv: DriverStorepath=C:\Windows\System32\DriverStore\FileRepository\flccan.inf_a01c4772\flccan.inf
ndv: Building driver list from driver node strong name…
dvi: Searching for hardware ID(s):
dvi: pci\ven_10b5&dev_9030&subsys_294310b5&rev_00
dvi: pci\ven_10b5&dev_9030&subsys_294310b5
dvi: pci\ven_10b5&dev_9030&cc_068000
dvi: pci\ven_10b5&dev_9030&cc_0680
dvi: Searching for compatible ID(s):
dvi: pci\ven_10b5&dev_9030&rev_00
dvi: pci\ven_10b5&dev_9030
dvi: pci\ven_10b5&cc_068000
dvi: pci\ven_10b5&cc_0680
dvi: pci\ven_10b5
dvi: pci\cc_068000
dvi: pci\cc_0680
inf: Opened INF: ‘C:\Windows\System32\DriverStore\FileRepository\flccan.inf_a01c4772\flccan.inf’ ([strings] )
inf: Saved PNF: ‘C:\Windows\System32\DriverStore\FileRepository\flccan.inf_a01c4772\flccan.PNF’ (Language = 0407)
sig: {_VERIFY_FILE_SIGNATURE} 09:19:12.240
sig: Key = flccan.inf
sig: FilePath = C:\Windows\System32\DriverStore\FileRepository\flccan.inf_a01c4772\flccan.inf
! sig: No installed catalogs matching catalog name ‘’ were found that validated the file.
sig: {_VERIFY_FILE_SIGNATURE exit(0x00000490)} 09:19:12.271
dvi: Selected driver installs from section [FLCCANInstall] in ‘c:\windows\system32\driverstore\filerepository\flccan.inf_a01c4772\flccan.inf’.
dvi: Class GUID of device changed to: {4d36e97e-e325-11ce-bfc1-08002be10318}.
dvi: Set selected driver complete.
ndv: {Core Device Install}
inf: Opened INF: ‘C:\Windows\INF\oem7.inf’ ([strings] )
inf: Saved PNF: ‘C:\Windows\INF\oem7.PNF’ (Language = 0407)
pol: Device installation is subject to policy
dvi: {DIF_ALLOW_INSTALL} 09:19:12.302
dvi: No class installer for ‘FLCCAN’
dvi: No CoInstallers found
dvi: Default installer: Enter 09:19:12.302
dvi: Default installer: Exit
dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 09:19:12.302
ndv: Installing files…
dvi: {DIF_INSTALLDEVICEFILES} 09:19:12.302
dvi: No class installer for ‘FLCCAN’
dvi: Default installer: Enter 09:19:12.302
dvi: {Install FILES}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\flccan.inf_a01c4772\flccan.inf’ ([strings] )
inf: {Install Inf Section [FLCCANInstall.NTx86]}
inf: CopyFiles=FLCCANCopyFiles (flccan.inf line 14)
cpy: Open PnpLockdownPolicy: Err=2. This is OK. Use LockDownPolicyDefault
flq: QueueSingleCopy…
flq: Inf : ‘c:\windows\system32\driverstore\filerepository\flccan.inf_a01c4772\flccan.inf’
flq: SourceInf: ‘c:\windows\system32\driverstore\filerepository\flccan.inf_a01c4772\flccan.inf’
flq: SourceSection: [sourcedisksfiles]
flq: Source root path based on SourceInf
flq: SourceRootPath: ‘C:\Windows\System32\DriverStore\FileRepository\flccan.inf_a01c4772’
flq: {FILE_QUEUE_COPY}
flq: CopyStyle - 0x00000400
flq: SourceRootPath - ‘C:\Windows\System32\DriverStore\FileRepository\flccan.inf_a01c4772’
flq: SourceFilename - ‘FLCCAN.sys’
flq: TargetDirectory- ‘C:\Windows\system32\DRIVERS’
flq: TargetFilename - ‘FLCCAN.sys’
flq: SourceDesc - ‘FLCCAN Installation’
flq: SourceTagfile - ‘disk1’
flq: {FILE_QUEUE_COPY exit(0x00000000)}
inf: {Install Inf Section [FLCCANInstall.NTx86] exit (0x00000000)}
dvi: Processing co-installer registration section [FLCCANInstall.NTx86.CoInstallers].
inf: {Install Inf Section [FLCCANInstall.NTx86.CoInstallers]}
inf: No (Copy/Ren/Del)Files directives found
inf: {Install Inf Section [FLCCANInstall.NTx86.CoInstallers] exit (0x00000000)}
dvi: Co-installers registered.
dvi: {Install INTERFACES}
dvi: Installing section [FLCCANInstall.NTx86.Interfaces]
dvi: {Install INTERFACES exit 00000000}
dvi: {Install FILES exit (0x00000000)}
dvi: Default installer: Exit
dvi: {DIF_INSTALLDEVICEFILES - exit(0x00000000)} 09:19:12.333
ndv: Pruning file queue…
dvi: {_SCAN_FILE_QUEUE}
flq: ScanQ flags=620
flq: SPQ_SCAN_PRUNE_COPY_QUEUE
flq: SPQ_SCAN_FILE_COMPARISON
flq: SPQ_SCAN_ACTIVATE_DRP
flq: ScanQ number of copy nodes=1
flq: File ‘C:\Windows\system32\DRIVERS\FLCCAN.sys’ pruned from copy.
cpy: DrpSetRegFileProt ‘C:\Windows\system32\DRIVERS\FLCCAN.sys’ Status=0 Class=OEM Legacy
flq: ScanQ action=200 DoPruning=32
flq: ScanQ end Validity flags=620 CopyNodes=0
dvi: {_SCAN_FILE_QUEUE exit(0, 0x00000000)}
ndv: Committing file queue…
flq: {_COMMIT_FILE_QUEUE}
flq: CommitQ DelNodes=0 RenNodes=0 BackNodes=0 CopyNodes=0
flq: {_COMMIT_FILE_QUEUE exit(0x00000000)}
ndv: Registering CoInstallers…
dvi: {DIF_REGISTER_COINSTALLERS} 09:19:12.474
dvi: No class installer for ‘FLCCAN’
dvi: Default installer: Enter 09:19:12.474
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\flccan.inf_a01c4772\flccan.inf’ ([strings] )
inf: {Install Inf Section [FLCCANInstall.NTx86.CoInstallers]}
inf: {Install Inf Section [FLCCANInstall.NTx86.CoInstallers] exit (0x00000000)}
dvi: Co-installers registered.
dvi: Default installer: Exit
dvi: {DIF_REGISTER_COINSTALLERS - exit(0x00000000)} 09:19:12.490
ndv: Installing interfaces…
dvi: {DIF_INSTALLINTERFACES} 09:19:12.490
dvi: No class installer for ‘FLCCAN’
dvi: No CoInstallers found
dvi: Default installer: Enter 09:19:12.490
dvi: {Install INTERFACES}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\flccan.inf_a01c4772\flccan.inf’ ([strings] )
dvi: Installing section [FLCCANInstall.NTx86.Interfaces]
dvi: {Install INTERFACES exit 00000000}
dvi: Default installer: Exit
dvi: {DIF_INSTALLINTERFACES - exit(0x00000000)} 09:19:12.490
ndv: Installing device…
dvi: {DIF_INSTALLDEVICE} 09:19:12.490
dvi: No class installer for ‘FLCCAN’
dvi: Default installer: Enter 09:19:12.490
dvi: {Install DEVICE}
inf: Opened PNF: ‘c:\windows\system32\driverstore\filerepository\flccan.inf_a01c4772\flccan.inf’ ([strings] )
dvi: Processing Registry/Property directives…
inf: {Install Inf Section [FLCCANInstall.NTx86]}
inf: {Install Inf Section [FLCCANInstall.NTx86] exit (0x00000000)}
inf: {Install Inf Section [FLCCANInstall.NTx86.Hw]}
inf: Empty section
inf: {Install Inf Section [FLCCANInstall.NTx86.Hw] exit (0x00000000)}
dvi: {Writing Device Properties}
dvi: Provider name=Ferrocontrol
dvi: DriverDate 01/24/2006
dvi: Class name=Unknown
dvi: Manufacturer=Ferrocontrol
dvi: Matching DeviceID=pci\ven_10b5&dev_9030
dvi: Strong Name=oem7.inf:DeviceList:FLCCANInstall:0.0.0.0:pci\ven_10b5&dev_9030
dvi: {Writing Device Properties - Complete}
inf: {Install Inf Section [FLCCANInstall.NTx86.Services]}
inf: AddService=FLCCAN,2,FLCCANService (flccan.inf line 29)
inf: ServiceType=1 (flccan.inf line 33)
inf: StartType=3 (flccan.inf line 34)
inf: ErrorControl=1 (flccan.inf line 35)
inf: ServiceBinary=C:\Windows\system32\DRIVERS\FLCCAN.sys (flccan.inf line 36)
inf: DisplayName=“Ferrocontrol RTe-CANCard PCI” (flccan.inf line 32)
dvi: Add Service: Modified existing service ‘FLCCAN’.
inf: {Install Inf Section [FLCCANInstall.NTx86.Services] exit(0x00000000)}
dvi: {Install DEVICE exit (0x00000000)}
dvi: Writing common driver property settings.
dvi: DriverDescription=FLCCAN
dvi: DeviceDisplayName=FLCCAN
dvi: Install Device: Restarting device. 09:19:13.646
!!! ump: Timed out waiting 300 seconds for device install process DrvInst.exe to complete 09:24:12.177
ump: Server install process exited with code 0x000005b4 09:24:12.177
ump: {Plug and Play Service: Device Install exit(000005b4)}
ndv: Device Install failed for new device…installing NULL driver.
dvi: {Plug and Play Service: Device Install for PCI\VEN_10B5&DEV_9030&SUBSYS_294310B5&REV_00\4&2E98101C&0&58F0}
ump: Creating Install Process: DrvInst.exe 09:24:39.193
! ndv: Installing NULL driver!
dvi: Set selected driver complete.
pol: Device installation is subject to policy
dvi: {DIF_ALLOW_INSTALL} 09:24:39.255
dvi: No class installer for ‘FLCCAN’
dvi: No CoInstallers found
dvi: Default installer: Enter 09:24:39.255
dvi: Default installer: Exit
dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 09:24:39.255
dvi: {DIF_INSTALLDEVICE} 09:24:39.255
dvi: No class installer for ‘FLCCAN’
dvi: Default installer: Enter 09:24:39.255
! dvi: Installing NULL driver!
!!! ump: Timed out waiting 300 seconds for device install process DrvInst.exe to complete 09:29:39.208
ump: Server install process exited with code 0x000005b4 09:29:39.208
ump: {Plug and Play Service: Device Install exit(000005b4)}
ndv: {Update Driver Software Wizard exit(000005b4)}
<<< Section end 2007/08/27 09:29:53.099
<<< [Exit status: FAILURE(0x000005b4)]

There these files are also generated, but I have no idea how to open them:
setupapi.ev1
setupapi.ev2
setupapi.ev3

Found it myself: Forgot IoCompleteRequest() in PnpStartDevice(). Sorry.

Regards
Stefan