SAMPLE: Dumppci.exe Shows How To Dynamically Load/Unload Driver

ID: Q178660


The information in this article applies to:
  • Microsoft Win32 Device Driver Kit (DDK) for Windows NT, versions 3.51, 4.0


SUMMARY

Dumppci.exe is a sample Win32 application and kernel-mode drive that demonstrates how to dynamically load or unload a driver, scan all the PCI devices in the system, and display the PCI configuration space for each device.


MORE INFORMATION

The following file is available for download from the Microsoft Download Center. Click the file name below to download the file:

Dumppci.exe
For more information about how to download files from the Microsoft Download Center, please visit the Download Center at the following Web address
http://www.microsoft.com/downloads/search.asp
and then click How to use the Microsoft Download Center.

Dumppci.exe and Pcidumpr.sys

This is a sample driver that demonstrates the following:
  1. How to dynamically load or unload a driver using the Service Control Manager APIs. These APIs allow you to load a driver without having to modify the registry and reboot the system.


  2. How to scan the PCI slots and locate PCI devices.


  3. How to send data from a kernel-mode driver to a Win32 console mode application.


To run the sample:

  1. Build the driver and the Win32 application. See the DDK documentation for details on creating drivers and Win32 applications from the DDK Build Environment.


  2. Insure that the driver (Pcidumpr.sys) and the Win32 application (Dumppci.exe) are in the same directory.


  3. From a command prompt, type "dumppci" to see the options supported. Currently, you can display the PCI configuration data in either a formatted ("-f" option) or raw ("-r" option) manner.


When the program runs, the driver is automatically loaded and started. The Win32 application sends custom IOCTLs to the driver. The driver then scans all the PCI slots in the system and locates PCI devices. For each PCI device, the driver retrieves the PCI configuration space information and places it in the Win32 application's buffer.

Note that this sample will not work across a network. The driver and Win32 application must reside on the local computer.

Additional query words:

Keywords : kbfile kbsample NTDDKKMode
Version : winnt:3.51,4.0
Platform : winnt
Issue type :


Last Reviewed: December 4, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.