Installing KMDF Upper Volume Class Filter

I have written a basic KMDF Upper Volume Class Filter driver. It took about
an hour to write, and then I spent a full day unsuccessfully trying to get
it installed on Server 2003 SP1. Which is to say, KMDF has made the driver
coding much easier, but has complicated the install beyond my modest
abilities to comprehend.

Does anyone know the magic incantations that have to go into the INF file
for such a driver? I am using a DefaultInstall section, since I have no
hardware.

It would have been nice if MS had ported the diskperf sample to KMDF, so I
could see how this is done.

Thanks,

  • Dan.
    .
  1. is your driver even loading?
  2. did you add the wdf class installer in your install section
  3. did you add the .Wdf section to your INF? and then the relevant
    service names underneath it?

This is all described in the help that came with the kit under this path

Design Guide
Getting Started with Kernel-Mode Driver Framework
Installing a Framework-based Driver
Installing the Framework’s Coinstaller

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dan Kyler
Sent: Tuesday, January 17, 2006 8:57 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Installing KMDF Upper Volume Class Filter

I have written a basic KMDF Upper Volume Class Filter driver. It took
about
an hour to write, and then I spent a full day unsuccessfully trying to
get
it installed on Server 2003 SP1. Which is to say, KMDF has made the
driver
coding much easier, but has complicated the install beyond my modest
abilities to comprehend.

Does anyone know the magic incantations that have to go into the INF
file
for such a driver? I am using a DefaultInstall section, since I have no

hardware.

It would have been nice if MS had ported the diskperf sample to KMDF, so
I
could see how this is done.

Thanks,

  • Dan.
    .

Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

  1. is your driver even loading?

I can get the driver to load and subsequently fail in FxDriverEntry on a
call to WdfBindSomethingOrOther(). My DriverEntry() has never been called.

I can only get to that point by making sure that WDF is already installed by
installing the Ramdisk sample, and manually adding the
service\Parameters\Wdf\KmdfLibraryVersion value for my driver.

  1. did you add the wdf class installer in your install section

Yes. But [DefaultInstall.NT.CoInstallers] does not appear to get executed.

  1. did you add the .Wdf section to your INF? and then the relevant
    service names underneath it?

Yes, but since the CoInstaller does not execute, the .Wdf section is
ignored.

The section “Installing the Framework’s Coinstaller” does not discuss how to
do this from a DefaultInstall section.

Thanks,

  • Dan.

----- Original Message -----
From: “Doron Holan”
To: “Windows System Software Devs Interest List”
Sent: Tuesday, January 17, 2006 10:24 AM
Subject: RE: [ntdev] Installing KMDF Upper Volume Class Filter

1) is your driver even loading?
2) did you add the wdf class installer in your install section
3) did you add the .Wdf section to your INF? and then the relevant
service names underneath it?

This is all described in the help that came with the kit under this path

Design Guide
Getting Started with Kernel-Mode Driver Framework
Installing a Framework-based Driver
Installing the Framework’s Coinstaller

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dan Kyler
Sent: Tuesday, January 17, 2006 8:57 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Installing KMDF Upper Volume Class Filter

I have written a basic KMDF Upper Volume Class Filter driver. It took
about
an hour to write, and then I spent a full day unsuccessfully trying to
get
it installed on Server 2003 SP1. Which is to say, KMDF has made the
driver
coding much easier, but has complicated the install beyond my modest
abilities to comprehend.

Does anyone know the magic incantations that have to go into the INF
file
for such a driver? I am using a DefaultInstall section, since I have no

hardware.

It would have been nice if MS had ported the diskperf sample to KMDF, so
I
could see how this is done.

Thanks,
- Dan.
.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Your INF is not installing on a device’s HW id then, right? You are
just using it to install a driver and then muck with a registry key? If
that is the case, you need to install KMDF via an application or a
separate DLL, see the non pnp example in the DDK on how to make sure
that KMDF is installed first by calling into the coinstaller itself.

If FxDriverEntry is being called, that means that wdfldr.sys is on the
machine. My guess is that wdf01000 is not installed so when wdfldr.sys
tries to load it, that load fails.

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dan Kyler
Sent: Tuesday, January 17, 2006 9:59 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Installing KMDF Upper Volume Class Filter

  1. is your driver even loading?

I can get the driver to load and subsequently fail in FxDriverEntry on a

call to WdfBindSomethingOrOther(). My DriverEntry() has never been
called.

I can only get to that point by making sure that WDF is already
installed by
installing the Ramdisk sample, and manually adding the
service\Parameters\Wdf\KmdfLibraryVersion value for my driver.

  1. did you add the wdf class installer in your install section

Yes. But [DefaultInstall.NT.CoInstallers] does not appear to get
executed.

  1. did you add the .Wdf section to your INF? and then the relevant
    service names underneath it?

Yes, but since the CoInstaller does not execute, the .Wdf section is
ignored.

The section “Installing the Framework’s Coinstaller” does not discuss
how to
do this from a DefaultInstall section.

Thanks,

  • Dan.

----- Original Message -----
From: “Doron Holan”
To: “Windows System Software Devs Interest List”
Sent: Tuesday, January 17, 2006 10:24 AM
Subject: RE: [ntdev] Installing KMDF Upper Volume Class Filter

1) is your driver even loading?
2) did you add the wdf class installer in your install section
3) did you add the .Wdf section to your INF? and then the relevant
service names underneath it?

This is all described in the help that came with the kit under this path

Design Guide
Getting Started with Kernel-Mode Driver Framework
Installing a Framework-based Driver
Installing the Framework’s Coinstaller

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dan Kyler
Sent: Tuesday, January 17, 2006 8:57 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Installing KMDF Upper Volume Class Filter

I have written a basic KMDF Upper Volume Class Filter driver. It took
about
an hour to write, and then I spent a full day unsuccessfully trying to
get
it installed on Server 2003 SP1. Which is to say, KMDF has made the
driver
coding much easier, but has complicated the install beyond my modest
abilities to comprehend.

Does anyone know the magic incantations that have to go into the INF
file
for such a driver? I am using a DefaultInstall section, since I have no

hardware.

It would have been nice if MS had ported the diskperf sample to KMDF, so
I
could see how this is done.

Thanks,
- Dan.
.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Thanks, Doron.

Your assumption is correct. There is no hardware. This is like the WDM
Diskperf sample.

I didn’t think of looking at the nonpnp sample, since this is a PNP Filter
driver. That’s certainly a lot more complex than doing the same thing with
a WDM driver.

I have written the program to call the coinstaller routines, and it installs
WDF and sets up the parameters key for the Kmdf version in my services
entry. That has me back to where I was after manually adding the necessary
registry entries.

My driver is boot start, group PNP Filter. That’s where it must be, as it
is a volume class upper filter, and has to be loaded by the time of the
first AddDevice for the volume class. Otherwise, you get an
INACCESSIBLE_BOOT_DEVICE bugcheck.

WDFLDR!ReferenceVersion calls ZwLoadDriver to start WDF01000. This fails,
because it eventually calls ZwOpenFile to open the driver binary, but there
is no file system yet.

Setting WDF01000 to boot start causes WDF01000 to load just in time before
my driver. WDFLDR!ReferenceVersion correctly finds that WDF01000 is already
loaded and continues. But then, it fails with the oh so clear
STATUS_UNSUCCESSFUL, apparently because it was able to successfully find the
WDF01000 services key!

Is KMDF supported and tested for boot start drivers?

Somewhat off this topic, but still on topic for this list, here are my
comments on the install process:

  1. Installing this type of driver is much more complex in WDF than in WDM.
    I thought the goal of WDF was to make things easier.
  2. An export library for the coinstaller dll is not provided. This requires
    the installer to dynamically load the dll. Not a big deal, but more complex
    than it needs to be.
  3. To make things even simpler, the WDF kit could provide the expanded
    install kit, so that this type of driver could just require that it be
    installed first. It should also document the Parameters\KmdfLibraryVersion
    key, so that it could simply be added in an AddReg section of the inf. This
    would get us almost back to the simplicity of the WDM install.
  4. The coinstaller does not create the WDF01000 services registry entries if
    WDF01000.sys exists in system32\drivers. This is the case, for example,
    after booting the last known good configuration. WdfPreDeviceInstall does
    not return an error in this case, even though the install was incomplete.

Thanks,

  • Dan.

----- Original Message -----
From: “Doron Holan”
To: “Windows System Software Devs Interest List”
Sent: Tuesday, January 17, 2006 3:08 PM
Subject: RE: [ntdev] Installing KMDF Upper Volume Class Filter

Your INF is not installing on a device’s HW id then, right? You are
just using it to install a driver and then muck with a registry key? If
that is the case, you need to install KMDF via an application or a
separate DLL, see the non pnp example in the DDK on how to make sure
that KMDF is installed first by calling into the coinstaller itself.

If FxDriverEntry is being called, that means that wdfldr.sys is on the
machine. My guess is that wdf01000 is not installed so when wdfldr.sys
tries to load it, that load fails.

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dan Kyler
Sent: Tuesday, January 17, 2006 9:59 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Installing KMDF Upper Volume Class Filter

1) is your driver even loading?

I can get the driver to load and subsequently fail in FxDriverEntry on a

call to WdfBindSomethingOrOther(). My DriverEntry() has never been
called.

I can only get to that point by making sure that WDF is already
installed by
installing the Ramdisk sample, and manually adding the
service\Parameters\Wdf\KmdfLibraryVersion value for my driver.

2) did you add the wdf class installer in your install section

Yes. But [DefaultInstall.NT.CoInstallers] does not appear to get
executed.

3) did you add the .Wdf section to your INF? and then the relevant
service names underneath it?

Yes, but since the CoInstaller does not execute, the .Wdf section is
ignored.

The section “Installing the Framework’s Coinstaller” does not discuss
how to
do this from a DefaultInstall section.

Thanks,
- Dan.

----- Original Message -----
From: “Doron Holan”
To: “Windows System Software Devs Interest List”
Sent: Tuesday, January 17, 2006 10:24 AM
Subject: RE: [ntdev] Installing KMDF Upper Volume Class Filter

1) is your driver even loading?
2) did you add the wdf class installer in your install section
3) did you add the .Wdf section to your INF? and then the relevant
service names underneath it?

This is all described in the help that came with the kit under this path

Design Guide
Getting Started with Kernel-Mode Driver Framework
Installing a Framework-based Driver
Installing the Framework’s Coinstaller

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dan Kyler
Sent: Tuesday, January 17, 2006 8:57 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Installing KMDF Upper Volume Class Filter

I have written a basic KMDF Upper Volume Class Filter driver. It took
about
an hour to write, and then I spent a full day unsuccessfully trying to
get
it installed on Server 2003 SP1. Which is to say, KMDF has made the
driver
coding much easier, but has complicated the install beyond my modest
abilities to comprehend.

Does anyone know the magic incantations that have to go into the INF
file
for such a driver? I am using a DefaultInstall section, since I have no

hardware.

It would have been nice if MS had ported the diskperf sample to KMDF, so
I
could see how this is done.

Thanks,
- Dan.
.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

  1. Installation is an ongoing process. WDM requires no additional
    files, KMDF does. all the scenarios work very easily if there is a hw
    id based install.
  2. good feedback, I’ll file a bug to get the lib added to the release
  3. Parameters\KmdfLibraryVersion is not a required value, nor is it
    really value used in the register. KmdfLibraryVersion is a value in an
    INF section.
  4. this is a function of the generic update.exe (Assuming that you are
    using the web bits, not the WDK), I will look into i.

Yes, kmdf is tested as a boot start driver. Wdf01000 would have been
automatically been set to boot start if your service was listed in the
KmdfService section and the service was installed as boot start. I will
look into where STATUS_UNSUCCESSFUL is returned.

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dan Kyler
Sent: Wednesday, January 18, 2006 8:08 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Installing KMDF Upper Volume Class Filter

Thanks, Doron.

Your assumption is correct. There is no hardware. This is like the WDM

Diskperf sample.

I didn’t think of looking at the nonpnp sample, since this is a PNP
Filter
driver. That’s certainly a lot more complex than doing the same thing
with
a WDM driver.

I have written the program to call the coinstaller routines, and it
installs
WDF and sets up the parameters key for the Kmdf version in my services
entry. That has me back to where I was after manually adding the
necessary
registry entries.

My driver is boot start, group PNP Filter. That’s where it must be, as
it
is a volume class upper filter, and has to be loaded by the time of the
first AddDevice for the volume class. Otherwise, you get an
INACCESSIBLE_BOOT_DEVICE bugcheck.

WDFLDR!ReferenceVersion calls ZwLoadDriver to start WDF01000. This
fails,
because it eventually calls ZwOpenFile to open the driver binary, but
there
is no file system yet.

Setting WDF01000 to boot start causes WDF01000 to load just in time
before
my driver. WDFLDR!ReferenceVersion correctly finds that WDF01000 is
already
loaded and continues. But then, it fails with the oh so clear
STATUS_UNSUCCESSFUL, apparently because it was able to successfully find
the
WDF01000 services key!

Is KMDF supported and tested for boot start drivers?

Somewhat off this topic, but still on topic for this list, here are my
comments on the install process:

  1. Installing this type of driver is much more complex in WDF than in
    WDM.
    I thought the goal of WDF was to make things easier.
  2. An export library for the coinstaller dll is not provided. This
    requires
    the installer to dynamically load the dll. Not a big deal, but more
    complex
    than it needs to be.
  3. To make things even simpler, the WDF kit could provide the expanded
    install kit, so that this type of driver could just require that it be
    installed first. It should also document the
    Parameters\KmdfLibraryVersion
    key, so that it could simply be added in an AddReg section of the inf.
    This
    would get us almost back to the simplicity of the WDM install.
  4. The coinstaller does not create the WDF01000 services registry
    entries if
    WDF01000.sys exists in system32\drivers. This is the case, for example,

after booting the last known good configuration. WdfPreDeviceInstall
does
not return an error in this case, even though the install was
incomplete.

Thanks,

  • Dan.

----- Original Message -----
From: “Doron Holan”
To: “Windows System Software Devs Interest List”
Sent: Tuesday, January 17, 2006 3:08 PM
Subject: RE: [ntdev] Installing KMDF Upper Volume Class Filter

Your INF is not installing on a device’s HW id then, right? You are
just using it to install a driver and then muck with a registry key? If
that is the case, you need to install KMDF via an application or a
separate DLL, see the non pnp example in the DDK on how to make sure
that KMDF is installed first by calling into the coinstaller itself.

If FxDriverEntry is being called, that means that wdfldr.sys is on the
machine. My guess is that wdf01000 is not installed so when wdfldr.sys
tries to load it, that load fails.

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dan Kyler
Sent: Tuesday, January 17, 2006 9:59 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Installing KMDF Upper Volume Class Filter

1) is your driver even loading?

I can get the driver to load and subsequently fail in FxDriverEntry on a

call to WdfBindSomethingOrOther(). My DriverEntry() has never been
called.

I can only get to that point by making sure that WDF is already
installed by
installing the Ramdisk sample, and manually adding the
service\Parameters\Wdf\KmdfLibraryVersion value for my driver.

2) did you add the wdf class installer in your install section

Yes. But [DefaultInstall.NT.CoInstallers] does not appear to get
executed.

3) did you add the .Wdf section to your INF? and then the relevant
service names underneath it?

Yes, but since the CoInstaller does not execute, the .Wdf section is
ignored.

The section “Installing the Framework’s Coinstaller” does not discuss
how to
do this from a DefaultInstall section.

Thanks,
- Dan.

----- Original Message -----
From: “Doron Holan”
To: “Windows System Software Devs Interest List”
Sent: Tuesday, January 17, 2006 10:24 AM
Subject: RE: [ntdev] Installing KMDF Upper Volume Class Filter

1) is your driver even loading?
2) did you add the wdf class installer in your install section
3) did you add the .Wdf section to your INF? and then the relevant
service names underneath it?

This is all described in the help that came with the kit under this path

Design Guide
Getting Started with Kernel-Mode Driver Framework
Installing a Framework-based Driver
Installing the Framework’s Coinstaller

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dan Kyler
Sent: Tuesday, January 17, 2006 8:57 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Installing KMDF Upper Volume Class Filter

I have written a basic KMDF Upper Volume Class Filter driver. It took
about
an hour to write, and then I spent a full day unsuccessfully trying to
get
it installed on Server 2003 SP1. Which is to say, KMDF has made the
driver
coding much easier, but has complicated the install beyond my modest
abilities to comprehend.

Does anyone know the magic incantations that have to go into the INF
file
for such a driver? I am using a DefaultInstall section, since I have no

hardware.

It would have been nice if MS had ported the diskperf sample to KMDF, so
I
could see how this is done.

Thanks,
- Dan.
.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Success!

Setting my driver to boot start before the KMDF setup caused WDF01000 to be
boot start as well. It also did something else, as I am no longer getting
STATUS_UNSUCCESSFUL. My driver is loading and filtering volumes.

Thanks,

  • Dan.

----- Original Message -----
From: “Doron Holan”
To: “Windows System Software Devs Interest List”
Sent: Wednesday, January 18, 2006 9:55 AM
Subject: RE: [ntdev] Installing KMDF Upper Volume Class Filter

1) Installation is an ongoing process. WDM requires no additional
files, KMDF does. all the scenarios work very easily if there is a hw
id based install.
2) good feedback, I’ll file a bug to get the lib added to the release
3) Parameters\KmdfLibraryVersion is not a required value, nor is it
really value used in the register. KmdfLibraryVersion is a value in an
INF section.
4) this is a function of the generic update.exe (Assuming that you are
using the web bits, not the WDK), I will look into i.

Yes, kmdf is tested as a boot start driver. Wdf01000 would have been
automatically been set to boot start if your service was listed in the
KmdfService section and the service was installed as boot start. I will
look into where STATUS_UNSUCCESSFUL is returned.

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dan Kyler
Sent: Wednesday, January 18, 2006 8:08 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Installing KMDF Upper Volume Class Filter

Thanks, Doron.

Your assumption is correct. There is no hardware. This is like the WDM

Diskperf sample.

I didn’t think of looking at the nonpnp sample, since this is a PNP
Filter
driver. That’s certainly a lot more complex than doing the same thing
with
a WDM driver.

I have written the program to call the coinstaller routines, and it
installs
WDF and sets up the parameters key for the Kmdf version in my services
entry. That has me back to where I was after manually adding the
necessary
registry entries.

My driver is boot start, group PNP Filter. That’s where it must be, as
it
is a volume class upper filter, and has to be loaded by the time of the
first AddDevice for the volume class. Otherwise, you get an
INACCESSIBLE_BOOT_DEVICE bugcheck.

WDFLDR!ReferenceVersion calls ZwLoadDriver to start WDF01000. This
fails,
because it eventually calls ZwOpenFile to open the driver binary, but
there
is no file system yet.

Setting WDF01000 to boot start causes WDF01000 to load just in time
before
my driver. WDFLDR!ReferenceVersion correctly finds that WDF01000 is
already
loaded and continues. But then, it fails with the oh so clear
STATUS_UNSUCCESSFUL, apparently because it was able to successfully find
the
WDF01000 services key!

Is KMDF supported and tested for boot start drivers?

Somewhat off this topic, but still on topic for this list, here are my
comments on the install process:

1) Installing this type of driver is much more complex in WDF than in
WDM.
I thought the goal of WDF was to make things easier.
2) An export library for the coinstaller dll is not provided. This
requires
the installer to dynamically load the dll. Not a big deal, but more
complex
than it needs to be.
3) To make things even simpler, the WDF kit could provide the expanded
install kit, so that this type of driver could just require that it be
installed first. It should also document the
Parameters\KmdfLibraryVersion
key, so that it could simply be added in an AddReg section of the inf.
This
would get us almost back to the simplicity of the WDM install.
4) The coinstaller does not create the WDF01000 services registry
entries if
WDF01000.sys exists in system32\drivers. This is the case, for example,

after booting the last known good configuration. WdfPreDeviceInstall
does
not return an error in this case, even though the install was
incomplete.

Thanks,
- Dan.

----- Original Message -----
From: “Doron Holan”
To: “Windows System Software Devs Interest List”
Sent: Tuesday, January 17, 2006 3:08 PM
Subject: RE: [ntdev] Installing KMDF Upper Volume Class Filter

Your INF is not installing on a device’s HW id then, right? You are
just using it to install a driver and then muck with a registry key? If
that is the case, you need to install KMDF via an application or a
separate DLL, see the non pnp example in the DDK on how to make sure
that KMDF is installed first by calling into the coinstaller itself.

If FxDriverEntry is being called, that means that wdfldr.sys is on the
machine. My guess is that wdf01000 is not installed so when wdfldr.sys
tries to load it, that load fails.

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dan Kyler
Sent: Tuesday, January 17, 2006 9:59 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Installing KMDF Upper Volume Class Filter

1) is your driver even loading?

I can get the driver to load and subsequently fail in FxDriverEntry on a

call to WdfBindSomethingOrOther(). My DriverEntry() has never been
called.

I can only get to that point by making sure that WDF is already
installed by
installing the Ramdisk sample, and manually adding the
service\Parameters\Wdf\KmdfLibraryVersion value for my driver.

2) did you add the wdf class installer in your install section

Yes. But [DefaultInstall.NT.CoInstallers] does not appear to get
executed.

3) did you add the .Wdf section to your INF? and then the relevant
service names underneath it?

Yes, but since the CoInstaller does not execute, the .Wdf section is
ignored.

The section “Installing the Framework’s Coinstaller” does not discuss
how to
do this from a DefaultInstall section.

Thanks,
- Dan.

----- Original Message -----
From: “Doron Holan”
To: “Windows System Software Devs Interest List”
Sent: Tuesday, January 17, 2006 10:24 AM
Subject: RE: [ntdev] Installing KMDF Upper Volume Class Filter

1) is your driver even loading?
2) did you add the wdf class installer in your install section
3) did you add the .Wdf section to your INF? and then the relevant
service names underneath it?

This is all described in the help that came with the kit under this path

Design Guide
Getting Started with Kernel-Mode Driver Framework
Installing a Framework-based Driver
Installing the Framework’s Coinstaller

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dan Kyler
Sent: Tuesday, January 17, 2006 8:57 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Installing KMDF Upper Volume Class Filter

I have written a basic KMDF Upper Volume Class Filter driver. It took
about
an hour to write, and then I spent a full day unsuccessfully trying to
get
it installed on Server 2003 SP1. Which is to say, KMDF has made the
driver
coding much easier, but has complicated the install beyond my modest
abilities to comprehend.

Does anyone know the magic incantations that have to go into the INF
file
for such a driver? I am using a DefaultInstall section, since I have no

hardware.

It would have been nice if MS had ported the diskperf sample to KMDF, so
I
could see how this is done.

Thanks,
- Dan.
.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com