CARD_CONFIG_INFO (Windows CE 5.0)

Send Feedback

This structure contains PC Card configuration information. It is passed to the CardRequestConfiguration function. All members are input-only.

typedef struct { CARD_SOCKET_HANDLEhSocket;UINT16fAttributes;UINT8fInterfaceType;UINT8uVcc;UINT8uVpp1;UINT8uVpp2;UINT8fRegisters;UINT8uConfigReg;UINT8uStatusReg;UINT8uPinReg;UINT8uCopyReg;UINT8uExtendedStatus;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

OS Versions: Windows CE 1.0 and later.
Header: Cardsv2.h.

See Also

CardRequestConfiguration

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.