Article ID: 170084 - Last Review: June 29, 2004 - Revision: 3.1 How To Add PCMCIA Support to a Windows NT Device DriverThis article was previously published under Q170084 On This PageSUMMARY
PCMCIA support under Windows NT is in the form of basic PC Card enabling.
Such PCMCIA features as dynamic configuration and hot-plugging are
unsupported. Basically, a developer writes an ISA device driver and ensures
that the PC Card is configured correctly (either via the CIS tuple
information or the registry overrides described below). The ISA driver
checks the registry to see if the card is configured and gets the resources
from the resource list created by Pcmcia.sys. The ISA driver is also
responsible for claiming the card resources via IoReportResourceUsage or a
similar mechanism.
For additional information about how to mask specific IRQs to PCMCIA devices as well as detailed information about the InterruptMask value of the PCMCIA registry key that controls IRQ masking, please see the following articles in the Microsoft Knowledge Base: 168303
(http://support.microsoft.com/kb/168303/EN-US/
)
Masking IRQs for PCMCIA Devices
MORE INFORMATION
For Pcmcia.sys to recognize the card, there must first be an entry in the
PCMCIA database. This database is stored in the Windows NT registry. In the
following discussion, note that HKLM indicates HKEY_LOCAL_MACHINE and CCS
indicates CurrentControlSet.
WARNING: Modifying the registry can cause the system to become unstable and may cause the system to become unusable (requiring a reinstallation). Do not modify the registry unless you understand the implications of any changes you are making. Note that the Pcmcia.sys driver shipped with Windows NT 4 does not support PCCards with a DMA (direct memory access) interface. Also, there are no registry overrides that can be used to configure these DMA-capable PCCards. Add PC Card Information to the PCMCIA Database
HKLM\SYSTEM\CCS\Services\Pcmcia\DataBase\XYZ Corp\XYZ device Value Name Data Type Description ------------------------- --------- ------------------------------- CcrBase REG_DWORD Configuration register base PortWidth16 REG_DWORD 1=16 bit accesses to I/O space Driver REG_SZ Driver name CardMemorySize REG_DWORD [0] Card memory length CardMemorySize_1 REG_DWORD [1] Card memory length AttributeMemorySize REG_DWORD [0] Attribute memory length AttributeMemorySize_1 REG_DWORD [1] Attribute memory length
HKLM\SYSTEM\CCS\Services\Xyz1\Parameters
Value Name Data Type Description
------------------------- --------- -------------------------------
Pcmcia REG_DWORD 1=enable this configuration
InterruptNumber REG_DWORD Interrupt value
IoBaseAddress REG_DWORD [0] I/O port base address
IoLength REG_DWORD [0] I/O port length
IoBaseAddress_1 REG_DWORD [1] I/O port base address
IoLength_1 REG_DWORD [1] I/O port length
MemoryMappedBaseAddress REG_DWORD [0] Host base memory
MemoryMappedSize REG_DWORD [0] Host base memory length
PCCARDMemoryWindowOffset REG_DWORD [0] Card base (host base offset)
Address_16 REG_DWORD 1=16-bit memory access
MemoryMappedBaseAddress_1 REG_DWORD [1] Host base memory
MemoryMappedSize_1 REG_DWORD [1] Host base memory length
PCCARDMemoryWindowOffset_1 REG_DWORD [1] Card base (host base offset)
Address1_16 REG_DWORD 1=16-bit memory access
MemoryMappedBaseAddress_2 REG_DWORD [2] Host base memory
MemoryMappedSize_2 REG_DWORD [2] Host base memory length
PCCARDMemoryWindowOffset_2 REG_DWORD [2] Card base (host base offset)
Address2_16 REG_DWORD 1=16-bit memory access
MemoryMappedBaseAddress_3 REG_DWORD [3] Host base memory
MemoryMappedSize_3 REG_DWORD [3] Host base memory length
PCCARDMemoryWindowOffset_3 REG_DWORD [3] Card base (host base offset)
Address3_16 REG_DWORD 1=16-bit memory access
PCCARDAttributeMemoryAddress REG_DWORD [0] Attribute memory
PCCARDAttributeMemorySize REG_DWORD [0] Attribute memory length
PCCARDAttributeMemoryOffset REG_DWORD [0] Attribute memory offset
AttributeMemory_16 REG_DWORD 1=16-bit memory access
PCCARDAttributeMemoryAddress_1 REG_DWORD [1] Attribute memory
PCCARDAttributeMemorySize_1 REG_DWORD [1] Attribute memory length
PCCARDAttributeMemoryOffset_1 REG_DWORD [1] Attribute memory offset
AttributeMemory1_16 REG_DWORD 1=16-bit memory access
ModemFunction REG_DWORD 1=multifunction modem device
PCCARDReadyInterrupt REG_DWORD * Not implemented *
APPLIES TO
| Article Translations
|


Back to the top
