Mouse Input filter driver- WdfDriverCreate crash

Hello,

I am newbie to WDF driver framework. I am trying to install Mouse Input filter driver(mouFiltr) sample driver for USB mouse. I have made modifications in .inf as per the requirement for USB mouse. I am able to build it successfully but at the time of installation its giving me a BSOD saying SYSTEM_THREAD_EXCEPTION_NOT_HANDLED for the call WdfDriverCreate() in DriverEntry. From the bug it clears to me that i am accessing NULL memory.

I tried to debug and found that crash is getting at below line,

return ((PFN_WDFDRIVERCREATE) WdfFunctions[WdfDriverCreateTableIndex])(WdfDriverGlobals, DriverObject, RegistryPath, DriverAttributes, DriverConfig, Driver);

I observed the value of WdfFunctions in windbg and found it as NULL.
As i am new to WDF framework, i am not aware where WdfFunctions gets initialize and why its getting initialize to NULL.
Can anyone please help me to understand this and the reason behind the BSOD?

Thanks.

xxxxx@gmail.com wrote:

I am newbie to WDF driver framework. I am trying to install Mouse Input filter driver(mouFiltr) sample driver for USB mouse. I have made modifications in .inf as per the requirement for USB mouse. I am able to build it successfully but at the time of installation its giving me a BSOD saying SYSTEM_THREAD_EXCEPTION_NOT_HANDLED for the call WdfDriverCreate() in DriverEntry. From the bug it clears to me that i am accessing NULL memory.

What operating system are you installing this on, and what WDK did you
use to build it?

When you install a KMDF driver, you are supposed to use the KMDF
co-installers, so that the framework itself gets installed (for XP) and
gets updated to the version you need. For filter drivers, the
co-installer does not get invoked. There are instructions on how to
invoke the co-installer from an installation application.


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

You built the driver incorrectly. How did you create the driver project and which wdk? If you took a non wdf project and started adding wdf stuff, that is not the right path

d

Bent from my phone


From: xxxxx@gmail.commailto:xxxxx
Sent: ?11/?14/?2014 10:09 AM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: [ntdev] Mouse Input filter driver- WdfDriverCreate crash

Hello,

I am newbie to WDF driver framework. I am trying to install Mouse Input filter driver(mouFiltr) sample driver for USB mouse. I have made modifications in .inf as per the requirement for USB mouse. I am able to build it successfully but at the time of installation its giving me a BSOD saying SYSTEM_THREAD_EXCEPTION_NOT_HANDLED for the call WdfDriverCreate() in DriverEntry. From the bug it clears to me that i am accessing NULL memory.

I tried to debug and found that crash is getting at below line,

return ((PFN_WDFDRIVERCREATE) WdfFunctions[WdfDriverCreateTableIndex])(WdfDriverGlobals, DriverObject, RegistryPath, DriverAttributes, DriverConfig, Driver);

I observed the value of WdfFunctions in windbg and found it as NULL.
As i am new to WDF framework, i am not aware where WdfFunctions gets initialize and why its getting initialize to NULL.
Can anyone please help me to understand this and the reason behind the BSOD?

Thanks.


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</mailto:xxxxx></mailto:xxxxx>

Thanks Tim and Doron for reply. Please find inline answers below,

For Tim:

What operating system are you installing this on, and what WDK did you
use to build it?

I am installing it on Windows 7 32 bit and using WDK 8.1 to build it. I am building project for Win7Debug and 32 bit configurations.

When you install a KMDF driver, you are supposed to use the KMDF
co-installers, so that the framework itself gets installed (for XP) and
gets updated to the version you need. For filter drivers, the
co-installer does not get invoked. There are instructions on how to
invoke the co-installer from an installation application.

Thanks for this information. As you explicitly mentioned ‘for XP’, does co-installer gets invoked for Windows 7 32 bit? Anyway i will try to invoke co-installer as it seems this is what i am missing while installing. But one doubt is, i am installing filter driver simply by updating driver for HID-compliant mouse under Mice and other pointing devices section in device manager. then should i supposed to invoke co-installer from .inf file?

For Doron:

You built the driver incorrectly. How did you create the driver project and
which wdk? If you took a non wdf project and started adding wdf stuff, that is
not the right path

I have not created any new project. I am using the it as it is from WDK 8.0 samples. I am opening moufiltr.sln using visual studio 2013 and building it for Win7Debug/32 bit.

Hello Tim and Doron,

Finally i am able to successfully install filter driver. :slight_smile:

I made changes as below,

  1. Added co-installer section as Tim said with KMDF version 1.11 as i am installing it on Win 7.

  2. After searching on msdn, i got to know that by default KMDF 1.7 and 1.9 are installed on windows 7 and to run driver built with KMDF 1.11 i have to install KMDF 1.11 framework update before installing filter driver. So i installed this update and driver got installed successfully.
    I have referred below link (may be useful for others),
    http://msdn.microsoft.com/en-us/library/windows/hardware/ff540730(v=vs.85).aspx

Thanks a lot for your support.

Hello folks,

As i said above, i was successfully able to install Mouse input filter driver on Windows 7 32 and 64 bit. But when i tried to install the same on Windows 8 then its giving me error " The device can not start(code 10)".

I debugged it and found that DriverEntry, AddDevice functions getting executed successfully without any failure. I am not able to understand what exactly this error means and what could be the cause behind the error. Is there any special precaution need to take to run that mouse filter driver on Windows 8 and above? Can you guys please help me out in this?

Thanks in advance.

That means pnp start failed. Did you register any power up callbacks? Did you create any of your queues explicitly as power managed? Which request types do you filter?

d

Bent from my phone


From: xxxxx@gmail.commailto:xxxxx
Sent: ?11/?29/?2014 10:03 AM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: RE:[ntdev] Mouse Input filter driver- WdfDriverCreate crash

Hello folks,

As i said above, i was successfully able to install Mouse input filter driver on Windows 7 32 and 64 bit. But when i tried to install the same on Windows 8 then its giving me error " The device can not start(code 10)".

I debugged it and found that DriverEntry, AddDevice functions getting executed successfully without any failure. I am not able to understand what exactly this error means and what could be the cause behind the error. Is there any special precaution need to take to run that mouse filter driver on Windows 8 and above? Can you guys please help me out in this?

Thanks in advance.


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</mailto:xxxxx></mailto:xxxxx>

Hi Doron,

Thanks for the reply.

I haven’t created any power up callbacks. But yes i am creating an I/O Queue with default queue configurations and i am just adding my own function for EvtIoInternalDeviceControl. In EvtIoInternalDeviceControl function i am handling IOCTL_INTERNAL_MOUSE_CONNECT and IOCTL_INTERNAL_MOUSE_DISCONNECT ioctls.

I am using WDF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE function to initialize IO queue config.It seems that this function sets ‘PowerManaged’ variable from WDF_IO_QUEUE_CONFIG structure to WdfUseDefault value and as written on MSDN if WdfUseDefault value is set then framework handles the power management for the queue unless driver calls WdfFDoInitSetFilter.
From this i understood that, if driver is not calling WdfFDoInitSetFilter then framework handles power management for the queue, am i right? If this is the case, then in my driver i am calling WdfFDoInitSetFilter function before initializing IO queue and creating it. Do you any issue in my code? Below is my code snippet,

//
// Tell WDF framework that we are upper-filter driver.
//
WdfFdoInitSetFilter(wdfDeviceInit);

//
// Tell that we are for Mouse device.
//
WdfDeviceInitSetDeviceType(wdfDeviceInit, FILE_DEVICE_MOUSE);

WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&wdfObjAttr, DEVICE_EXTENSION);

//
// Create a framework device object.
// This call will in turn create a WDM DeviceObject, attach to the lower driver in stack.
//
ntStatus = WdfDeviceCreate(&wdfDeviceInit, &wdfObjAttr, &wdfDevice);
if (!NT_SUCCESS(ntStatus))
{
#if DBG
DbgPrint(“WdfDeviceCreate function failed(0x%080x)\n”, ntStatus);
#endif

return ntStatus;
}
else
{
#if DBG
DbgPrint(“WdfDeviceCreate function succeeded.\n”);
#endif
}

WDF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE(&wdfIoQueueConfig, wdfIoQueueDispatchParallel);

wdfIoQueueConfig.EvtIoInternalDeviceControl = MouIoInternalDeviceControl;

ntStatus = WdfIoQueueCreate(wdfDevice, &wdfIoQueueConfig, WDF_NO_OBJECT_ATTRIBUTES, WDF_NO_HANDLE);
if (!NT_SUCCESS(ntStatus))
{
#if DBG
DbgPrint(“WdfIoQueueCreate function failed(0x%08x).\n”, ntStatus);
#endif
return ntStatus;
}

Looks correct. In win8 and later in device manager on the properties of the device you should be able to see the ntstatus value that was set when the start iro was failed. That might be helpful

d

Bent from my phone


From: xxxxx@gmail.commailto:xxxxx
Sent: ?11/?29/?2014 9:59 PM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: RE:[ntdev] Mouse Input filter driver- WdfDriverCreate crash

Hi Doron,

Thanks for the reply.

I haven’t created any power up callbacks. But yes i am creating an I/O Queue with default queue configurations and i am just adding my own function for EvtIoInternalDeviceControl. In EvtIoInternalDeviceControl function i am handling IOCTL_INTERNAL_MOUSE_CONNECT and IOCTL_INTERNAL_MOUSE_DISCONNECT ioctls.

I am using WDF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE function to initialize IO queue config.It seems that this function sets ‘PowerManaged’ variable from WDF_IO_QUEUE_CONFIG structure to WdfUseDefault value and as written on MSDN if WdfUseDefault value is set then framework handles the power management for the queue unless driver calls WdfFDoInitSetFilter.
From this i understood that, if driver is not calling WdfFDoInitSetFilter then framework handles power management for the queue, am i right? If this is the case, then in my driver i am calling WdfFDoInitSetFilter function before initializing IO queue and creating it. Do you any issue in my code? Below is my code snippet,

//
// Tell WDF framework that we are upper-filter driver.
//
WdfFdoInitSetFilter(wdfDeviceInit);

//
// Tell that we are for Mouse device.
//
WdfDeviceInitSetDeviceType(wdfDeviceInit, FILE_DEVICE_MOUSE);

WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&wdfObjAttr, DEVICE_EXTENSION);

//
// Create a framework device object.
// This call will in turn create a WDM DeviceObject, attach to the lower driver in stack.
//
ntStatus = WdfDeviceCreate(&wdfDeviceInit, &wdfObjAttr, &wdfDevice);
if (!NT_SUCCESS(ntStatus))
{
#if DBG
DbgPrint(“WdfDeviceCreate function failed(0x%080x)\n”, ntStatus);
#endif

return ntStatus;
}
else
{
#if DBG
DbgPrint(“WdfDeviceCreate function succeeded.\n”);
#endif
}

WDF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE(&wdfIoQueueConfig, wdfIoQueueDispatchParallel);

wdfIoQueueConfig.EvtIoInternalDeviceControl = MouIoInternalDeviceControl;

ntStatus = WdfIoQueueCreate(wdfDevice, &wdfIoQueueConfig, WDF_NO_OBJECT_ATTRIBUTES, WDF_NO_HANDLE);
if (!NT_SUCCESS(ntStatus))
{
#if DBG
DbgPrint(“WdfIoQueueCreate function failed(0x%08x).\n”, ntStatus);
#endif
return ntStatus;
}


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</mailto:xxxxx></mailto:xxxxx>

Hello Doron,

I checked ntstatus value and I am getting it as ‘A device which does not exist was specified.’

I also checked events in properties of device, there I got some error message as below,

Device HID\VID_2188&PID_0AE1\7&356810a4&0&0000 had a problem starting.

Driver Name: oem10.inf
Class Guid: {4d36e96f-e325-11ce-bfc1-08002be10318}
Service: i8042prt
Lower Filters:
Upper Filters: moufiltr
Problem: 0xA
Status: 0x0

In my code, I am not filtering PS/2 mouse so I haven’t handled IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCtl. Still I am not getting why above error is getting to me.
Can you guess any problem from above error messages?

Thanks a lot.

You are installing i8042prt.sys on a hid device, this driver needs to be installed on a ps2 mouse devnodr, the hwid is usually *pnp0fXx where Xx is some form of hex value

d

Bent from my phone


From: xxxxx@gmail.commailto:xxxxx
Sent: ?11/?30/?2014 1:39 AM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: RE:[ntdev] Mouse Input filter driver- WdfDriverCreate crash

Hello Doron,

I checked ntstatus value and I am getting it as ‘A device which does not exist was specified.’

I also checked events in properties of device, there I got some error message as below,

Device HID\VID_2188&PID_0AE1\7&356810a4&0&0000 had a problem starting.

Driver Name: oem10.inf
Class Guid: {4d36e96f-e325-11ce-bfc1-08002be10318}
Service: i8042prt
Lower Filters:
Upper Filters: moufiltr
Problem: 0xA
Status: 0x0

In my code, I am not filtering PS/2 mouse so I haven’t handled IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCtl. Still I am not getting why above error is getting to me.
Can you guess any problem from above error messages?

Thanks a lot.


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</mailto:xxxxx></mailto:xxxxx>

Thanks Doron for immediate response.

Actually i want to install filter driver for USB mouse, not for PS2 mouse and accordingly i have modified INF file. I am not using hwid as *pnpofXX, i am using HID_DEVICE_SYSTEM_MOUSE instead. May b i am making foolish mistakes here but please help me out in this.
My INF file looks like below, please correct me if i am wrong in inf file.

; moufiltr.inf
;
; Installation inf for the Device that needs flitering adapter.
;
; (c) Copyright 1999 Microsoft
;

[Version]
Signature=“$Windows NT$”
Provider=%DDK_Ex%
ClassGUID={4D36E96F-E325-11CE-BFC1-08002BE10318}
Class=Mouse
CatalogFile=moufiltr.cat
DriverVer=07/20/1999

[DestinationDirs]
DefaultDestDir = 12

;
; Driver information
;

[Manufacturer]
%DDK_Ex% = DDK_Ex.Mfg,NT$ARCH$

;For Win2k
[DDK_Ex.Mfg]
%DDK_Ex% = moufiltr, HID_DEVICE_SYSTEM_MOUSE

;For XP and above
[DDK_Ex.Mfg.NT$ARCH$]
%DDK_Ex% = moufiltr, HID_DEVICE_SYSTEM_MOUSE

;[DDK_Ex.Mfg]
;%DDK_Ex% = moufiltr, HID_DEVICE_SYSTEM_MOUSE

;
; General installation section
;

[moufiltr.NT]
; perform port related actions from msmouse.inf
Include=msmouse.inf
Needs=HID_Mouse_Inst

; Copy the driver over
CopyFiles=moufiltr.CopyFiles

;
; File sections
;

[moufiltr.CopyFiles]
moufiltr.sys

;
; Service Installation
;

[moufiltr.NT.Services]
AddService = moufiltr, , moufiltr_Service_Inst
; Install the port driver and mouclass from msmouse.inf
Include=msmouse.inf
Needs=HID_Mouse_Inst.Services

[moufiltr_Service_Inst]
DisplayName = %moufiltr.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 0 ; SERVICE_ERROR_IGNORE
LoadOrderGroup = Pointer Port
ServiceBinary = %12%\moufiltr.sys

[moufiltr.NT.HW]
; Add the device upper filter
AddReg = moufiltr.HW.AddReg

; run the directives need by the port driver
Include=msmouse.inf
Needs=HID_Mouse_Inst.HW

[moufiltr.HW.AddReg]
HKR,“UpperFilters”,0x00010000,“moufiltr”

;
; Source file information
;

; use [SourceDisksNames.x86] for x86 only installs
; use [SourceDisksNames.alpha] for alpha only installs

[SourceDisksNames]
1 = %DiskId1%,

[SourceDisksFiles]
moufiltr.sys = 1,

;
;— moufiltr Coinstaller installation ------
;

[DestinationDirs]
moufiltr_CoInstaller_CopyFiles = 11

[moufiltr.NT.CoInstallers]
AddReg=moufiltr_CoInstaller_AddReg
CopyFiles=moufiltr_CoInstaller_CopyFiles

[moufiltr_CoInstaller_AddReg]
HKR,CoInstallers32,0x00010000, “WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll,WdfCoInstaller”

[moufiltr_CoInstaller_CopyFiles]
WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll

[SourceDisksFiles]
WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll=1 ; make sure the number matches with SourceDisksNames

[moufiltr.NT.Wdf]
KmdfService = moufiltr, moufiltr_wdfsect
[moufiltr_wdfsect]
KmdfLibraryVersion = $KMDFVERSION$

[Strings]
;
; Non-Localizable Strings
;

REG_SZ = 0x00000000
REG_MULTI_SZ = 0x00010000
REG_EXPAND_SZ = 0x00020000
REG_BINARY = 0x00000001
REG_DWORD = 0x00010001
SERVICEROOT = “System\CurrentControlSet\Services”

;
; Localizable Strings
;

DiskId1 = “WDK Example Installation Disk #1 (mouse)”
DDK_Ex = “WDK Example Device that needs filtering”
moufiltr.SvcDesc=“Mouse Filter Example (WDF Version )”

Hello Doron,

I have observed one difference regarding filter driver installation on windows 7 and windows 8. On windows 7, value for ‘Service’ property for my filter driver is mouhid but for same driver on windows its i8042prt. I have checked this value in Device Manager -> Device properties -> Details tab. In details tab, I have selected ‘Service’ property.
Here I am not getting why its showing different value for the exactly same driver( INF is also same). I think this can be the reason behind failure in filter driver installation on windows 8 because as I said in previous discussions error message is showing that there is failure in starting i8042ptr service.
Do you have any idea why i8042ptr service and not mouhid service is getting selected on windows 8? Also please let me know if any mistakes I have done in INF file pasted in above message.

Thanks.

Your inf looked correct, look in setupapi.Dev.log to see if there any clues there.

d

Bent from my phone


From: xxxxx@gmail.commailto:xxxxx
Sent: ?11/?30/?2014 10:50 AM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: RE:[ntdev] Mouse Input filter driver- WdfDriverCreate crash

Hello Doron,

I have observed one difference regarding filter driver installation on windows 7 and windows 8. On windows 7, value for ‘Service’ property for my filter driver is mouhid but for same driver on windows its i8042prt. I have checked this value in Device Manager -> Device properties -> Details tab. In details tab, I have selected ‘Service’ property.
Here I am not getting why its showing different value for the exactly same driver( INF is also same). I think this can be the reason behind failure in filter driver installation on windows 8 because as I said in previous discussions error message is showing that there is failure in starting i8042ptr service.
Do you have any idea why i8042ptr service and not mouhid service is getting selected on windows 8? Also please let me know if any mistakes I have done in INF file pasted in above message.

Thanks.


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</mailto:xxxxx></mailto:xxxxx>

This is “MJ_START_DEVICE failed”

wrote in message news:xxxxx@ntdev…
> Hello folks,
>
> As i said above, i was successfully able to install Mouse input filter driver on Windows 7 32 and 64 bit. But when i tried to install the same on Windows 8 then its giving me error " The device can not start(code 10)".
>
> I debugged it and found that DriverEntry, AddDevice functions getting executed successfully without any failure. I am not able to understand what exactly this error means and what could be the cause behind the error. Is there any special precaution need to take to run that mouse filter driver on Windows 8 and above? Can you guys please help me out in this?
>
> Thanks in advance.
>

Hello Doron,

I checked setupapi.Dev.log file and there i can see some failure message like,

Hardware Id = HID_DEVICE_SYSTEM_MOUSE
inf: {Configure Driver Configuration: moufiltr.NT}
inf: No associated service.
inf: Upper Filters = moufiltr
inf: Included INFs = msmouse.inf
inf: Config Flags = 0x00000000
inf: {Configure Driver Configuration: exit(0x00000000)}
inf: {Configure Driver: exit(0x00000000)}
flq: Copying ‘C:\WINDOWS\System32\DriverStore\FileRepository\moufiltr.inf_amd64_8541c8d5b9e8a981\moufiltr.sys’ to ‘C:\WINDOWS\System32\drivers\moufiltr.sys’.
cpy: Existing file ‘C:\WINDOWS\System32\drivers\moufiltr.sys’ remains unchanged.
sto: {Configure Driver Package: exit(0x00000000)}
dvi: Install Device: Configuring device (oem16.inf:hid_device_system_mouse,moufiltr.NT). 22:24:14.277
dvi: Install Device: Configuring device completed. 22:24:14.277
dvi: Install Device: Starting device. 22:24:14.277
dvi: Install Device: Starting device completed. 22:24:14.506
!!! dvi: Device not started: Device has problem: 0x0a: CM_PROB_FAILED_START.
! ndv: Queueing up error report since device has a PnP problem…
ndv: {Core Device Install - exit(0x00000000)} 22:24:14.703

I am not able to understand what exactly causing above failure? One more thing which i observed while building filter sample for Win8.1 Release is that, in INF file there is no proper Coinstaller installation section is getting created. But when i build sample for Win 7 by specifying KMDF version as 1.11 then proper Coinstaller section is getting created in INF file. Here INF file is getting created from .inx file using stampinf tool. Could it be the issue?

There is no coinstaller for the version of kmdf shipped in 8 and 8.1

d

Bent from my phone


From: xxxxx@gmail.commailto:xxxxx
Sent: ?12/?1/?2014 9:20 AM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: RE:[ntdev] Mouse Input filter driver- WdfDriverCreate crash

Hello Doron,

I checked setupapi.Dev.log file and there i can see some failure message like,

Hardware Id = HID_DEVICE_SYSTEM_MOUSE
inf: {Configure Driver Configuration: moufiltr.NT}
inf: No associated service.
inf: Upper Filters = moufiltr
inf: Included INFs = msmouse.inf
inf: Config Flags = 0x00000000
inf: {Configure Driver Configuration: exit(0x00000000)}
inf: {Configure Driver: exit(0x00000000)}
flq: Copying ‘C:\WINDOWS\System32\DriverStore\FileRepository\moufiltr.inf_amd64_8541c8d5b9e8a981\moufiltr.sys’ to ‘C:\WINDOWS\System32\drivers\moufiltr.sys’.
cpy: Existing file ‘C:\WINDOWS\System32\drivers\moufiltr.sys’ remains unchanged.
sto: {Configure Driver Package: exit(0x00000000)}
dvi: Install Device: Configuring device (oem16.inf:hid_device_system_mouse,moufiltr.NT). 22:24:14.277
dvi: Install Device: Configuring device completed. 22:24:14.277
dvi: Install Device: Starting device. 22:24:14.277
dvi: Install Device: Starting device completed. 22:24:14.506
!!! dvi: Device not started: Device has problem: 0x0a: CM_PROB_FAILED_START.
! ndv: Queueing up error report since device has a PnP problem…
ndv: {Core Device Install - exit(0x00000000)} 22:24:14.703

I am not able to understand what exactly causing above failure? One more thing which i observed while building filter sample for Win8.1 Release is that, in INF file there is no proper Coinstaller installation section is getting created. But when i build sample for Win 7 by specifying KMDF version as 1.11 then proper Coinstaller section is getting created in INF file. Here INF file is getting created from .inx file using stampinf tool. Could it be the issue?


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</mailto:xxxxx></mailto:xxxxx>

Ohk. Thanks doron. Do you have any guess from setupapi.dev.log?

@ Maxim: How do i track down why ‘MJ_START_DEVICE’ is failing? and Why it is failing on windows 8 , Windows 8.1 and not on Windows 7? Can you please help me to understand this?

Thanks.

The log doesn’t give any clues

d

Bent from my phone


From: xxxxx@gmail.commailto:xxxxx
Sent: ?12/?2/?2014 7:32 AM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: RE:[ntdev] Mouse Input filter driver- WdfDriverCreate crash

Ohk. Thanks doron. Do you have any guess from setupapi.dev.log?

@ Maxim: How do i track down why ‘MJ_START_DEVICE’ is failing? and Why it is failing on windows 8 , Windows 8.1 and not on Windows 7? Can you please help me to understand this?

Thanks.


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</mailto:xxxxx></mailto:xxxxx>

Hello Guys,

From the setupapi.dev.log file i have got an error message as,
“Device not started: Device has problem: 0x0a: CM_PROB_FAILED_START.”

I have searched regarding this error and i found that this error means one of the driver in device’s driver stack has failed in ‘IRP_MN_START_DEVICE’. (as Maxim said in his comment.).

Actually i am not handling this IRP anywhere in my driver code. So i am not able to understand why its failing. Is there is compulsory need to handle this IRP in my mouse filter driver or is there anything wrong i am doing in my driver because of which other driver in stack is failing
Can anyone please help me to understand this?

Thanks in advance.