4.9 WFS_CMD_IDC_CHIP_IO

Description This command is used to communicate with the chip. Transparent data is sent from the application to the chip and the response of the chip is returned transparently to the application.

The ATR of the chip must be obtained before issuing this command by issuing a Read Command.

Input Param LPWFSIDCCHIPIO lpChipIoIn;

struct _wfs_idc_chip_io
{
WORD wChipProtocol;
ULONG ulChipDataLength;
LPBYTE lpbChipData;
} WFSIDCCHIPIO, * LPWFSIDCCHIPIO;

wChipProtocol

Identifies the protocol that is used to communicate with the chip. Possible values are those described in WFS_INF_IDC_CAPABILITIES.

ulChipDataLength

Specifies the length of the following field lpbChipData.

lpbChipData

Points to the data sent to the chip.

Output Param LPWFSIDCCHIPIO lpChipIoOut;

struct _wfs_idc_chip_io
{
WORD wChipProtocol;
ULONG ulChipDataLength;
LPBYTE lpbChipData;
} WFSIDCCHIPIO, * LPWFSIDCCHIPIO;

wChipProtocol

Identifies the protocol that is used to communicate with the chip. This field contains the same value as the corresponding field in the input structure.

ulChipDataLength

Specifies the length of the following field lpbChipData.

lpbChipData

Points to the data responded from the chip.

Error Codes The following additional error codes can be generated by this command:

Value Meaning

WFS_ERR_IDC_MEDIAJAM The card is jammed. Operator intervention is required.

WFS_ERR_IDC_NOMEDIA There is no card inside the device.

WFS_ERR_IDC_INVALIDMEDIA No chip found; card may have been inserted or pulled through the wrong way.

WFS_ERR_IDC_INVALIDDATA An error occurred while communicating with the chip.

WFS_ERR_IDC_PROTOCOLNOTSUPP The protocol used was not supported by the service provider.

WFS_ERR_IDC_ATRNOTOBTAINED The ATR was not obtained before by issuing a Read Command.

Events The following additional events can be generated by this command:

Value Meaning

WFS_SRVE_IDC_MEDIAREMOVED This event is generated when a card is removed before completion of a write operation.

Comments None.