The "WinDriver Card" — WDC — API provides convenient
user-mode wrappers to the basic WinDriver PCI/ISA
WD_xxx API, which is described in the WinDriver PCI Low-Level API Reference.
The WDC wrappers are designed to simplify the usage of WinDriver for communicating
with PCI/ISA devices. While you can still use the basic
WD_xxx PCI/ISA WinDriver API from your code, we
recommend that you refrain from doing so and use the high-level WDC API
NOTE: Most of the WDC API can be used both from the user mode and
from the kernel mode (from a Kernel PlugIn driver
The generated DriverWizard PCI/ISA diagnostics driver code, as well as the PLX sample code, and the pci_diag, Kernel PlugIn pci_diag and pci_dump samples, for example, utilize the WDC API.
The WDC API is part of wdapi1411
WinDriver\redist\wdapi1411.dll (Windows) / WinDriver/lib/libwdapi1411.so (Linux).
The source code for the WDC API is found in the WinDriver/src/wdapi directory.
The WDC interface is provided in the wdc_lib.h
and wdc_defs.h header files (both found under
the WinDriver/includes directory).
The WinDriver PCI/ISA samples and generated DriverWizard code that utilize the WDC API, for example, consist of a "library" for the specific device, and a diagnostics application that uses it. The high-level diagnostics code only utilizes the wdc_lib.h API, while the library code also uses the low-level API from the wdc_defs.h file, thus maintaining the desired level of encapsulation.