Legacy PCMCIA Driver Registry Settings (Windows Embedded CE 6.0)
1/6/2010
This topic contains information on the PCMCIA, PCMCIA\Detect, PCMCIA\Driver, and PCMCIA\Plug-and-Play Identifier registry keys.
This topic also contains registry keys for the following legacy PCMCIA cards:
- Legacy PCMCIA storage devices
- Fujitsu MicroResearch MR560PC modem cards
- Generic legacy PCMCIA cards
- Hayes legacy PCMCIA cards
- Megahertz legacy PCMCIA cards
- Megahertz 14.4 modem cards
- Megahertz 28.8 modem cards
- Megahertz cellular legacy PCMCIA cards
- Practical Peripherals ProClass 28.8 modem cards
- Socket Communications 16550 Universal Asynchronous Receiver legacy PCMCIA cards
- 3Com U.S. Robotics 28.8 Sportster legacy PCMCIA cards
- Xircom 33.6 Credit Card modem cards
- Xircom 33.6 Credit Card modem and Ethernet cards
PCMCIA\Detect
The HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Detect registry key contains numbered subkeys that assist the PCMCIA bus driver in detecting legacy PCMCIA cards. Each numbered subkey specifies a PCMCIA client driver and a corresponding detection function. The PCMCIA bus driver calls the detection functions to locate the appropriate driver for an unrecognized legacy PCMCIA card. For example, the PCMCIA bus driver invokes detection functions when a legacy PCMCIA card lacks a Plug and Play identifier or when a legacy PCMCIA card's Plug and Play identifier lacks a corresponding subkey under the Drivers\PCMCIA registry key.
The subkeys under Detect are two-digit integers typically assigned by a PCMCIA client driver's installation routine. The order of the integers determines the order that the PCMCIA bus driver follows when it calls detection functions. For example, if the PCMCIA bus driver does not detect a suitable DLL listed in subkey 19, it makes a call to subkey 20. The PCMCIA bus driver continues this consecutive search process until a function returns a value indicating a successful detection.
The following table shows the values contained within these subkeys.
Value name | Value type | Description |
---|---|---|
Dll |
REG_SZ |
Specifies the file name for the DLL that contains the detection function. The PCMCIA bus driver loads the DLL to call the detection function. |
Entry |
REG_SZ |
Specifies the name of the detection function. |
PCMCIA\Driver
The name of a generic device driver is used as a subkey of the Drivers\PCMCIA\Driver key along with drivers listed in the Drivers\PCMCIA\Detect key. The Driver subkey contains the same subkeys as the Drivers\PCMCIA\Plug-and-Play Indentifier key.
The following table shows the values for PCMCIA\Driver subkey. Additional values can be stored for purposes specific to the device.
Value name | Value type | Description |
---|---|---|
Dll |
REG_SZ |
Specifies the file name for a driver DLL that the Device Manager is to load. |
Prefix |
REG_SZ |
Specifies the file name prefix for the device driver. The prefix is a three-character identifier, such as COM. |
Index |
REG_DWORD |
Optional. Specifies the device index assigned to the driver. If this value is not present, the Device Manager assigns the lowest index value available. This index value is associated with the device. Only index values from 0 through 9 are allowed. Allow the Device Manager to determine the index value. |
Context |
REG_DWORD |
Optional. Specifies the device context. If this value is present, it was initialized by the device's setup application and the Device Manager passes it as the dwInfo parameter to ActivateDevice. If it is not present, a pointer to a string containing the registry path to the device's Active key is passed as the parameter. The driver's initialization function can then open this key to read its information. To let the driver read the Active key data, do not initialize this value. |
Ioctl |
REG_DWORD |
Optional. Specifies an I/O control code that the Device Manager sends to the stream interface. If this value is present, the Device Manager opens the loaded driver and calls its I/O control function. The Device Manager passes the I/O control code specified by the Ioctl registry key. The driver does necessary post-initialization in this context. For information on the presence of devices and device interfaces, see Device Interface Notifications. |
IClass |
MULTI_SZ |
Specifies the GUIDs associated with the exposed interfaces. |
PCMCIA\Plug-and-Play Identifier
The Drivers\PCMCIA key contains subkeys for known legacy PCMCIA cards. Each subkey is the card's Plug and Play identifier. The values within a Plug-and-Play Identifier subkey define the values for a legacy PCMCIA device with a matching Plug and Play identifier.
The following table shows the required values for this subkey. Additional values can be stored for purposes specific to the device.
Value name | Value type | Description |
---|---|---|
Dll |
REG_SZ |
Specifies the file name for the DLL that contains the stream interface. The Device Manager loads the DLL. |
Prefix |
REG_SZ |
Specifies the file name prefix for the device driver. The prefix is a three-character identifier, such as COM. |
Index |
REG_DWORD |
Optional. Specifies the device index value that the Device Manager assigns to the driver. If this value is not present, the Device Manager assigns the lowest index value available. This index value is associated with the device. Only index values from 0 through 9 are allowed. |
Context |
REG_DWORD |
Optional. Specifies the device context. If this value is present, it was initialized by the device's setup application and the Device Manager passes it as the dwInfo parameter to the ActivateDevice function. If it is not present, a pointer to a string containing the registry path to the device's Drivers\Active key is passed as the parameter. The driver's initialization function can then open this key to read its information. To let the driver read the Drivers\Active key data, do not initialize this value. |
Ioctl |
REG_DWORD |
Optional. Specifies an I/O control code that the Device Manager sends to a stream interface driver after loading the driver. If this value is present, the Device Manager opens the loaded driver and calls its XXX_IOControl (Device Manager) function, passing the I/O control code specified by this value. The driver can do necessary post-initialization in this context. In addition, the Device Manager broadcasts a WM_DEVICECHANGE message for the new device and signals the application notification system by means of the CeEventHasOccurred function. The Device Manager then passes the NOTIFICATION_EVENT_DEVICE_CHANGE message to CeEventHasOccurred. |
IClass |
MULTI_SZ |
Specifies the GUIDs associated with the exposed interfaces. |
Legacy PCMCIA Storage Devices
The following registry key example shows legacy PCMCIA storage device registry settings.
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Driver name]
"Dll"="Driver DLL file"
"Prefix"="DSK"
; Specify an IOCTL value that Device Manager uses to call driver after it returns from xxx_Init
"Ioctl"=dword:4
; The file system driver that ATA will use. Ata will read the registry for this value.
"FSD"="FATFS.DLL"
"IClass"=multi_sz:"{GUIDs denoting exposed interfaces}"
"PolledDevices"=multi_sz:"
Registry keys such as this apply to a variety of legacy PCMCIA storage devices. Windows Embedded CE contains drivers for Advanced Technology Attachment (ATA) storage devices, and static RAM (SRAM) devices.
The following table shows the legacy PCMCIA storage device registry keys.
Registry key | Description |
---|---|
Driver name |
Specifies the name of the storage device driver. This name is used by the legacy PCMCIA detection code to find the correct registry key. Valid registry key names are ATADisk and SRAMDisk. |
Dll |
Specifies the file name of the DLL containing the driver. Valid registry values are ATADISK.DLL and SRAMDISK.DLL. |
Prefix |
Specifies a three-letter device name that identifies the driver through the file system APIs. By convention, this is also the type of driver. Storage devices are typically identified by the prefix DSK. |
Index |
Optional. Specifies the device index to use when registering an instance of the driver. For example, if Index is equal to 2, the device would be DSK2:. If Index is present, only one instance of the device can be loaded. Otherwise, the device manager will use the lowest available index. By default, none of the legacy PCMCIA drivers specify this value. |
Ioctl |
Optional. Specifies the value used by the Device Manager in the dwIoControlCode parameter of a DeviceIOControl call to the driver after the driver has been fully loaded and registered. Specifying 4 causes the sample drivers to request that the FSD load above them. |
FSD |
Identifies the file system that manages FSD storage cards. Windows Embedded CE contains two file system drivers. FATFS.DLL implements the FAT file system and logical partition manager; FSDMGR.DLL provides hooks for the implementation of custom file systems. |
IClass |
Specifies GUIDs associated with the exposed interfaces. |
PolledDevices |
Optional. Forces a PCMCIA driver to use polling mode. |
Fujitsu MicroResearch MR560PC Modem Card Registry Settings
The following registry key example shows Fujitsu MicroResearch MR560PC modem card registry settings.
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\MICRO_RESEARCH-MR560PC-9AA1]
"Tsp"="Unimodem.dll"
"DeviceArrayIndex"=dword:1
"Prefix"="COM"
"Dll"="Serial.Dll"
"DeviceType"=dword:3
"ResetDelay"=dword:300
"NoScratchPad"=dword:1
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\MICRO_RESEARCH-MR560PC-9AA1\Init]
"1"="AT<cr>"
"2"="ATE0V1&C1&D2<cr>"
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\MICRO_RESEARCH-MR560PC-9AA1\Settings]
"Prefix"="AT"
"Terminator"="<cr>"
"DialPrefix"="D"
"DialSuffix"=";"
"Pulse"="P"
"Tone"="T"
"Blind_Off"="X4"
"Blind_On"="X3"
"CallSetupFailTimeout"="ATS7=<#><cr>"
"Reset"="AT&F<cr>"
Generic Legacy PCMCIA Card Registry Settings
The following registry key example shows generic legacy PCMCIA card registry settings.
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Modem]
"Tsp"="Unimodem.dll"
"DeviceArrayIndex"=dword:1
"Prefix"="COM"
"Dll"="Serial.Dll"
"DeviceType"=dword:3
"ResetDelay"=dword:300
Hayes Legacy PCMCIA Card Registry Settings
The following registry key example shows Hayes legacy PCMCIA card registry settings.
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\
Hayes-OPTIMA_288_+_FAX_for_PCMCIA_with_EZ-4FA5]
"Tsp"="Unimodem.dll"
"DeviceArrayIndex"=dword:1
"Prefix"="COM"
"Dll"="Serial.dll"
"FriendlyName"=LOC_FRIENDLYHAYESFAX
"DeviceType"=dword:3
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\
Hayes-OPTIMA_288_+_FAX_for_PCMCIA_with_EZ-4FA5\Init]
"3"="AT&F E0 V1 &C1 &D2<cr>"
"4"="ATW0 S95=0<cr>"
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\
Hayes-OPTIMA_288_+_FAX_for_PCMCIA_with_EZ-4FA5\Settings]
"FlowHard"="AT&K3<cr>"
"FlowSoft"="AT&K4<cr>"
"FlowOff"="AT&K0<cr>"
Megahertz Legacy PCMCIA Card Registry Settings
The following registry key example shows Megahertz legacy PCMCIA card registry settings.
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\MEGAHERTZ-Megahertz_28.8-73E3]
"Tsp"="Unimodem.dll"
"DeviceArrayIndex"=dword:1
"Prefix"="COM"
"Dll"="Serial.dll"
"FriendlyName"=LOC_FRIENDLYMEGAHERTZCRUISE
"DeviceType"=dword:3
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\MEGAHERTZ-Megahertz_28.8-73E3\Init]
"3"="ATW2B1\\V1<cr>"
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\MEGAHERTZ-Megahertz_28.8-73E3\Settings]
"FlowHard"="AT&K3<cr>"
"FlowSoft"="AT&K4<cr>"
"FlowOff"="AT&K0<cr>"
Megahertz 14.4 Legacy PCMCIA Card Registry Settings
The following registry key example shows Megahertz 14.4 legacy PCMCIA card registry settings.
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\MEGAHERTZ-XJ1144-5C3E]
"Tsp"="Unimodem.dll"
"DeviceArrayIndex"=dword:1
"Prefix"="COM"
"Dll"="Serial.Dll"
"FriendlyName"=LOC_FRIENDLYMEGAHERTZ144
"DeviceType"=dword:3
Megahertz 28.8 Legacy PCMCIA Card Registry Settings
The following registry key example shows Megahertz 28.8 legacy PCMCIA card registry settings.
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\MEGAHERTZ-XJ2288-9E81]
"Tsp"="Unimodem.dll"
"DeviceArrayIndex"=dword:1
"Prefix"="COM"
"Dll"="Serial.dll"
"FriendlyName"=LOC_FRIENDLYMEGAHERTZ
"DeviceType"=dword:3
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\MEGAHERTZ-XJ2288-9E81\Init]
"3"="ATW2B1\\V<cr>"
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\MEGAHERTZ-XJ2288-9E81\Settings]
"FlowHard"="AT&K3<cr>"
"FlowSoft"="AT&K4<cr>"
"FlowOff"="AT&K0<cr>"
Megahertz Cellular Legacy PCMCIA Card Registry Settings
The following registry key example shows Megahertz cellular legacy PCMCIA card registry settings.
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\MEGAHERTZ-XJ3288-26C7]
"Tsp"="Unimodem.dll"
"DeviceArrayIndex"=dword:1
"Prefix"="COM"
"Dll"="Serial.dll"
"FriendlyName"=LOC_FRIENDLYMEGAHERTZCELL
"DeviceType"=dword:3
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\MEGAHERTZ-XJ3288-26C7\Init]
"3"="ATW2B1\\V1<cr>"
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\MEGAHERTZ-XJ3288-26C7\Settings]
"FlowHard"="AT&K3<cr>"
"FlowSoft"="AT&K4<cr>"
"FlowOff"="AT&K0<cr>"
Practical Peripherals ProClass 28.8 Modem Card Registry Settings
The following registry key example shows Practical Peripherals ProClass 28.8 modem card registry settings.
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Practical_Peripherals_Inc-PPI_PC288T2EZ_PCMCIA-F382]
"Tsp"="Unimodem.dll"
"DeviceArrayIndex"=dword:1
"Prefix"="COM"
"Dll"="Serial.dll"
"FriendlyName"=LOC_FRIENDLYPROCLASS288
"DeviceType"=dword:3
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Practical_Peripherals_Inc-PPI_PC288T2EZ_PCMCIA-F382\Init]
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Practical_Peripherals_Inc-PPI_PC288T2EZ_PCMCIA-F382\Settings]
The newer version gives a different Plug and Play identifier.
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Practical_Peripherals_Inc-PPI_PC288T2EZ_PCMCIA-DAE6]
"Tsp"="Unimodem.dll"
"DeviceArrayIndex"=dword:1
"Prefix"="COM"
"Dll"="Serial.dll"
"FriendlyName"=LOC_FRIENDLYPROCLASS288
"DeviceType"=dword:3
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Practical_Peripherals_Inc-PPI_PC288T2EZ_PCMCIA-DAE6\Init]
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Practical_Peripherals_Inc-PPI_PC288T2EZ_PCMCIA-DAE6\Settings]
Socket Communications 16550 Universal Asynchronous Receiver Legacy PCMCIA Card Registry Settings
The following registry key example shows Socket Communications 16550 Universal Asynchronous Receiver legacy PCMCIA card registry settings.
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Socket_Communications_Inc-Serial_Port_Adapter_Revision_B-5E3E]
"Tsp"="Unimodem.dll"
"DeviceArrayIndex"=dword:1
"Prefix"="COM"
"Dll"="Serial.dll"
"FriendlyName"="Socket I/O Serial"
"DeviceType"=dword:0
3Com U.S. Robotics 28.8 Sportster Legacy PCMCIA Card Registry Settings
The following registry key example shows 3Com U.S. Robotics 28.8 Sportster legacy PCMCIA card registry settings.
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\USRobotics-PCMCIA_28800_Data/Fax-92A2]
"Tsp"="Unimodem.dll"
"DeviceArrayIndex"=dword:1
"Prefix"="COM"
"Dll"="Serial.dll"
"FriendlyName"=LOC_FRIENDLYSPORTSTER288
"DeviceType"=dword:3
"ResetDelay"=dword:800
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\USRobotics-PCMCIA_28800_Data/Fax-92A2
\Init]
"3"="AT &F1 E0 V1 &C1 &D2 &B1 &A3 S0=0<cr>"
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\USRobotics-PCMCIA_28800_Data/Fax-92A2\Settings]
"FlowHard"="AT&K3<cr>"
"FlowSoft"="AT&K4<cr>"
"FlowOff"="AT&K0<cr>"
Xircom 33.6 Credit Card Modem Card Registry Settings
The following registry key example shows Xircom 33.6 Credit Card modem card registry settings.
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Xircom-CreditCard_Modem_33.6-5347]
"Tsp"="Unimodem.dll"
"DeviceArrayIndex"=dword:1
"Prefix"="COM"
"Dll"="Serial.dll"
"FriendlyName"=LOC_FRIENDLYXIRCOM336
"DeviceType"=dword:3
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Xircom-CreditCard_Modem_33.6-5347\Init]
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Xircom-CreditCard_Modem_33.6-5347\Settings]
Xircom 33.6 Credit Card Modem and Ethernet Card Registry Settings
The following registry key example shows Xircom 33.6 Credit Card modem and Ethernet card registry settings.
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Xircom-CreditCard_Ethernet+Modem_33.6-05DD]
"Dll"="regenum.dll"
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Xircom-CreditCard_Ethernet+Modem_33.6-05DD\1]
"Tsp"="Unimodem.dll"
"DeviceArrayIndex"=dword:1
"Prefix"="COM"
"Dll"="Serial.dll"
"FriendlyName"=LOC_FRIENDLYXIRCOMETHER336
"DeviceType"=dword:3
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Xircom-CreditCard_Ethernet+Modem_33.6-05DD\Init]
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Xircom-CreditCard_Ethernet+Modem_33.6-05DD\Settings]
See Also
Concepts
Legacy PCMCIA Driver Support
PCMCIA Legacy Compatibility Layer Architecture