|
Hello,
I have a WDM upperfilter driver for some class devices(WPD, Printers). The wdm upper filter is from WDK generic toaster filter sample. The problem that I have is for some device that support or install UMDF drivers I receive STATUS DEVICE CONFIGURATION_ERROR at IRP_MN_START_DEVICE and device failed to start. Can you help me please or give me an advice?
Thank you.
|
|
|
|
|
|
WDF = UMDF + KMDF (user moder driver + kernel mode driver)
|
|
|
|
|
And the toaster samples are kernel drivers.
So how can you load a kernel filter on a usermode driver?
|
|
|
|
|
You don't understand.
I'm an upper filter driver(KERNEL) over a device class that use in his stack an UMDF driver...
|
|
|
|
|
The driver is in usermode. You cant run kernel code (the filter) in user mode, and vice versa.
|
|
|
|
|
Without the UMDF my filter works
|
|
|
|
|
You mean it works when you load it onto the toaster driver.
Of course it will.
However kernel code cant run in user mode, and a UMDF driver is user mode. Therefore the toaster filter driver, which is kernel code, cant be used on your UMDF driver.
You really have no idea what you are doing do you? You don't even understand the concept of user mode and kernel?
|
|
|
|
|
My friend:
I have a WDM filter driver, based on WDK toaster sample, that I am using to filter portable devices (mainly Phones), as upper filter. During AddDevice phase, I am querying device properties (such Description, Manufacturer and so on) and then attaching to device. I can see the IRP_MN_START_DEVICE, which I send down to next lower driver after setting a completion routine. This is working fine on most of the machines I am testing on, but on some systems (every XP and some Windows 7 and Server 2008), when I send the IRP_MN_START_DEVICE down to next driver, I get a STATUS_DEVICE_CONFIGURATION_ERROR, so this is preventing the device from being installed in the first place. I have managed to overcome this error by editing the hardware ID registry key for the device and creating "UpperDriverOk" and "KernelModeClientPolicy" values, setting them to 1. This way the device starts without issues and I can filter it as normal. Now, I am aware of Portable Devices being managed by an UMDF driver, but does that explains the issue with Start Device phase? I haven't found any differences between those systems with the issue and those that are working fine without needing the "registry values" workaround. Is there any system setting or service configuration that might be helping (or ruining) this filtering scenario? Would it be possible to apply the "KernelModeClientPolicy" workaround for the whole system and not separately for every single Phone device?
|
|
|
|
|
Maybe I wasn't so clear
|
|
|
|
|
No, you didn't explain yourself at all well.
I have no idea what the cause of your failure is.
|
|
|
|
|
Ok.
Thank you for your time.
|
|
|
|
|
Yes, I've googled. I have the need to "program" SD Cards with an application deployment image. We've had some issues with reliably getting factory employees to properly program these SD cards - actually started with Windows Explorer. In any event, I now have a script that makes use of chkdsk and xcopy to expand the production image onto an SD Card.
However, there are random times (less than 1%) where the process fails. Following the xcopy command, the chkdsk might fail with a variety of errors:
1) "filename" first allocation unit is not valid. The entry will be truncated.
2) "filename" entry contains a nonvalid link. The size of <filename> entry is not valid.
I really don't expect xcopy to generate these errors. We're using commercial grade SD card readers (like you'd buy off Newegg or Amazon).
Any ideas or suggestions?
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
Have you checked that they are all correctly formatted as NTFS?
|
|
|
|
|
This is strictly FAT32. The SD cards go into an embedded system.
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
That are file system errors. They may be sourced by faulty SD cards or by a reader that has problems with specific SD card types.
If you got such errors sometimes I would not only perform a chkdsk but also a binary file compare on all files. Doing so you might find more unusable cards.
With disk images you may also create an image file and write that to the cards using an image writer utility (again followed by a verify that performs a binary comparison). While this takes more time it avoids the need of formatting and gives you identical images.
Because the error rate is below 1% you might live with it and dispose the faulty SD cards or try to reduce the error rate by using other SD cards and/or readers.
|
|
|
|
|
Correct - all file system errors. For another product, we have a tool that does just as you suggest. Factory people get in a hurry, and I think some of the problems are due to pulling the card too soon.
thanks for the info
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
definition of type secondary storage and give the example and the picture
|
|
|
|
|
Member 12192903 wrote:
definition of type secondary storage and give the
example and the picture A watch, example can be found here[^].
More seriously, Google has a list of sites explaining your question. One answer is here[^], with picture.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Here is one I often store things in. Its got an incredible capacity, its as if it empties itself after a while: storage[^]
|
|
|
|
|
Alternatively referred to as external memory, secondary memory, and auxiliary storage, a secondary storage device is a non-volatile device that holds data until it is deleted or overwritten. Secondary storage is about two orders of magnitude cheaper than primary storage. Consequently, hard drives (a prime example of secondary storage) are the go-to solution for nearly all data kept on today's computers.
modified 20-Apr-16 19:55pm.
|
|
|
|
|
Hi,
I get the following error message when I try and build the "XPSDrvSmpl" project. Followed the instructions in the Readme guide, but I also get exact same error message when Building the built-in "Print Driver v4" template. Not sure if it's something I have to configure within each project or on my machine.
https://github.com/Microsoft/Windows-driver-samples
Using Visual Studio 2015 Express. Only trying to find a way of developing a XPS print with a custom GUI to auto save file to certain location.
Inf2Cat Tool Output:
.............................
Signability test failed.
Errors:
22.9.1: xdwscrgb.icc in [colorprofiles] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdcmykprinter.icc in [colorprofiles] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdsmpl.ini in [configplugin] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdsmpl.gpd in [xpsdrvsample] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdnames.gpd in [xpsdrvsample] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdwmark.gpd in [xpsdrvsample] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdbook.gpd in [xpsdrvsample] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdcolman.gpd in [xpsdrvsample] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdnup.gpd in [xpsdrvsample] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdpgscl.gpd in [xpsdrvsample] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
22.9.1: xdsmpl-pipelineconfig.xml in [xpsdrvsample] of \xdsmpl.inf is missing or cannot be decompressed from source media. Please verify all path values specified in SourceDisksNames, SouceDisksFiles, and CopyFiles sections resolve to the actual location of the file, and are expressed in terms relative to the location of the inf.
Warnings:
22.9.3: Missing hardware ID (cannot have just compatible ID) in line xpsdrv sample driver=install_xdsmpl_filters_pre_vista in section [standard.ntx86] of \xdsmpl.inf
22.9.3: Missing hardware ID (cannot have just compatible ID) in line xpsdrv sample driver=install_xdsmpl_filters_pre_vista in section [standard.ntia64] of \xdsmpl.inf
22.9.3: Missing hardware ID (cannot have just compatible ID) in line xpsdrv sample driver=install_xdsmpl_filters_pre_vista in section [standard.ntamd64] of \xdsmpl.inf
22.9.3: Missing hardware ID (cannot have just compatible ID) in line xpsdrv sample driver=install_xdsmpl_filters_vista in section [standard.ntx86.6.0] of \xdsmpl.inf
22.9.3: Missing hardware ID (cannot have just compatible ID) in line xpsdrv sample driver=install_xdsmpl_filters_vista in section [standard.ntia64.6.0] of \xdsmpl.inf
22.9.3: Missing hardware ID (cannot have just compatible ID) in line xpsdrv sample driver=install_xdsmpl_filters_vista in section [standard.ntamd64.6.0] of \xdsmpl.inf
|
|
|
|
|
I see you have already reported this as an issue[^] on the GitHub project. That's the right place to report it - the people who wrote the code are the people most likely to be able to help you with it.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Hi Richard,
Do you know what causes the Inf2Cat Signability test errors? I've had this on a few project now and cannot figure it out.
Thanks,
MK2
|
|
|
|
|
No idea - I don't do hardware!
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|