CARD_CONFIG_INFO (Windows Embedded CE 6.0)
1/6/2010
This structure contains PC Card configuration information. It is passed to the CardRequestConfiguration function.All members are input-only.
Syntax
typedef struct {
CARD_SOCKET_HANDLE hSocket;
UINT16 fAttributes;
UINT8 fInterfaceType;
UINT8 uVcc;
UINT8 uVpp1;
UINT8 uVpp2;
UINT8 fRegisters;
UINT8 uConfigReg;
UINT8 uStatusReg;
UINT8 uPinReg;
UINT8 uCopyReg;
UINT8 uExtendedStatus;
UINT16 fExtRegisters;
UINT8 IOBase[4];
UINT8 IOLimit;
} CARD_CONFIG_INFO, *PCARD_CONFIG_INFO;
Members
- hSocket
Handle to a socket and function pair.
fAttributes
Contains a bit mask for specifying interrupt request (IRQ), direct memory access (DMA), and voltage options.The following table shows the possible values.
Value Description CFG_ATTR_IRQ_STEERING
Enables IRQ steering in the socket controller.
CFG_ATTR_ENABLE_DMA
Enables DMA.
CFG_ATTR_IRQ_WAKEUP
Allows PCMCIA interrupts to wake the system. This requires the system to be capable of waking when CSC events detects a card. The socket is powered down during a suspend event, if this flag is set.
CFG_ATTR_KEEP_POWERED
Keeps the PCMCIA bus powered during a suspend event.
CFG_ATTR_NO_SUSPEND_UNLOAD
Used if all functions of a given socket request the behavior or if the system is capable of waking when CSC events detects a card. It is also used if the socket is flagged as not accessible.
Microsoft recommends that you do not unload the driver during a suspend event unless absolutely necessary.
fInterfaceType
Contains a bit mask specifying memory or I/O interface.The following table shows the possible values.
Value Description CFG_IFACE_MEMORY
Puts socket controller in memory-only interface mode.
CFG_IFACE_MEMORY_IO
Puts the socket controller in memory mode and I/O interface mode.
- uVcc
Specifies the Vcc voltage to use, in 0.1 volt increments.
- uVpp1
Specifies the Vpp1 voltage to use, in 0.1 volt increments.
- uVpp2
Specifies the Vpp2 voltage to use, in 0.1 volt increments.
fRegisters
Specifies a bit mask indicating which registers are present. Each of these bits indicates the presence of one of the standard function and configuration registers in the attribute space of the PC Card. By calling CardRequestConfiguration, a driver can set these registers to whatever initial values the PC Card requires.Value Description CFG_REGISTER_CONFIG
Indicates that the configuration option register, uConfigReg, contains data.
CFG_REGISTER_STATUS
Indicates that the function configuration and status register, uStatusReg, contains data.
CFG_REGISTER_PIN
Indicates that the pin replacement register, uPinReg, contains data.
CFG_REGISTER_COPY
Indicates that the socket and copy register, uCopyReg, contains data.
CFG_REGISTER_EXSTATUS
Indicates that the extended status register, uExtendedStatus, contains data.
CFG_REGISTER_EXREG
Indicates that the fExtRegister field exists and is valid.
uConfigReg
Specifies the initial bit mask value to write to a configuration option register.The lower 6 bits of the configuration option register specify which configuration number to use for single function cards.
Value Description FCR_COR_LEVEL_IREQ
1 = level mode interrupts, 0 = pulse mode.
FCR_COR_SRESET
1 = soft reset.
uStatusReg
Specifies the initial value to write to a function status register.The following tables shows the possible values.
Value Description FCR_FCSR_INTR_ACK
Interrupt is acknowledged
FCR_FCSR_INTR
Interrupt is pending
FCR_FCSR_PWR_DOWN
PC Card is placed in off mode
FCR_FCSR_AUDIO
Audio signal on BVD2, pin 62 is enabled
FCR_FCSR_IO_IS_8
8-bit-only I/O is enabled
FCR_FCSR_STSCHG
Status change, STSCHG, pin 63, from PC Card is enabled
FCR_FCSR_CHANGED
Status-changed bit is set in the pin replacement register
- uPinReg
Specifies the initial value to write to a pin replacement register.
- uCopyReg
Specifies the initial value to write to a socket and copy register.
- uExtendedStatus
Specifies the initial value to write to an extended status register.
fExtRegisters
Specifies a bit mask indicating which extended registers are present. Each of these bits indicates the presence of one of the I/O function and configuration registers in the attribute space of the PC Card. By calling CardRequestConfiguration, a driver can set these registers to whatever initial values the PC Card requires. The registers are only written to if the register presence mask indicates that they exist.The following table shows the possible values.
Value Description CFG_EXREGISTER_IOBASE0
Indicates that IOBase[0] contains data.
CFG_EXREGISTER_IOBASE1
Indicates that IOBase[1] contains data.
CFG_EXREGISTER_IOBASE2
Indicates that IOBase[2] contains data.
CFG_EXREGISTER_IOBASE3
Indicates that IOBase[3] contains data.
CFG_EXREGISTER_IOLIMIT
Indicates that the I/O Limit register, IOLimit, contains data.
- IOBase
Specifies the values to be written to the four I/O Base registers. The four registers combine to make a 32-bit value that indicates the base I/O address to which the card should listen.
- IOLimit
Specifies the value to be written to the I/O Limit register. This register indicates to the card the number of significant I/O address lines.
Remarks
A Card service stores a record of the base address of the configuration registers, so there is no need for a uConfigBase member.
Requirements
Header | cardsv2.h |
Windows Embedded CE | Windows CE 1.0 and later |