next up previous contents
Next: 2.2 WD_PciScanCards() Up: 2. WD_xxx PCI/PCMCIA/ISA Functions Previous: 2. WD_xxx PCI/PCMCIA/ISA Functions   Contents


2.1 API Calling Sequence - PCI/PCMCIA/ISA

The following is a typical calling sequence for the PCI/PCMCIA/ISA drivers.

Figure 2.1: WinDriver PCI/PCMCIA/ISA Calling Sequence
Image wd_pci_calling_sequence

****************************************************************************************
  NOTES
 
  1. PCMCIA is supported only on Windows 2000/XP/Server 2003/Vista.

  2. Memory addresses can be accessed directly, using the user-mode mapping of the address returned by WD_CardRegister() [2.8] (or the kernel mapping, when accessing memory from the Kernel PlugIn). Direct memory access is more efficient than using WD_Transfer() [2.11].

  3. It is possible (although not recommended) to replace the use of the high-level InterruptEnable() convenience function [2.18] with the low-level WD_IntEnable() [3.2], WD_IntWait() [3.3] and WD_IntCount() [3.4] functions, and replace the call to InterruptDisable() [2.19] with a call to the low-level WD_IntDisable() function [3.5].
    For more information on the low-level WinDriver interrupt handling API, refer to Chapter 3 of the manual.

  4. WinDriver's general-use APIs, such as WD_DebugAdd() [5.6] or WD_Sleep() [5.8], can be called anywhere between the calls to WD_Open() and WD_Close(). For more details, refer to Chapter 5.
****************************************************************************************