CARD_ISR

When a PC Card generates an interrupt on the PC Card interrupt line, Card Services calls the interrupt service function handler that is associated with a specified socket and function pair. Interrupt service function handlers must conform to the CARD_ISR prototype.

Syntax

typedef void
(*CARD_ISR)( UINT32
uISRContextData );

Members

uISRContextData
Contains context data specified by the CardRequestIRQ function that the driver can interpret as needed. This member usually is a pointer to a structure representing the state of the socket and function pair.

Remarks

When a PC Card generates an interrupt, Card Services first determines which function caused the interrupt, then calls the associated interrupt service function with the specified socket and function pair. For single function cards, the function number is 0.

A stream interface driver calls CardRequestIRQ to register an interrupt service routine for a specified socket and function pair. Card Services clears the interrupt condition in the card configuration registers when the interrupt callback function returns.

The interrupt callback function must clear the function interrupt request source on the PC Card and return as quickly as possible. If more time is required for processing the interrupt, the callback function should spawn a thread for further processing of the interrupt.

The interrupt service function handler is not a true kernel-mode interrupt service routine. Rather, it is a user-mode callback function that Card Services calls directly.

See Also

CARD_ISR, CardRequestIRQ, CardReleaseIRQ