PC/SC Guide
Prox–DU & Prox–SU
www.gemalto.com
DOC119811A Public Use Page 62/129
SCardTransmit Function
The SCardTransmit function sends a service request to the smart card and expects to
receive data back from the card.
Syntax:
LONG WINAPI SCardTransmit(
__in SCARDHANDLE hCard,
__in LPCSCARD_IO_REQUEST pioSendPci,
__in LPCBYTE pbSendBuffer,
__in DWORD cbSendLength,
__inout_opt LPSCARD_IO_REQUEST pioRecvPci,
__out LPBYTE pbRecvBuffer,
__inout LPDWORD pcbRecvLength
);
Parameters:
hCard [in]
A reference value returned from the SCardConnect function.
pioSendPci [in]
A pointer to the protocol header structure for the instruction. This buffer is in the
format of an SCARD_IO_REQUEST structure, followed by the specific protocol
control information (PCI).
For the T=0, T=1, and Raw protocols, the PCI structure is constant. The smart card
subsystem supplies a global T=0, T=1, or Raw PCI structure, which you can
reference by using the symbols SCARD_PCI_T0, SCARD_PCI_T1, and
SCARD_PCI_RAW respectively.
pbSendBuffer [in]
A pointer to the actual data to be written to the card.
For T=0, the data parameters are placed into the address pointed to by
pbSendBuffer according to the following structure:
struct {
BYTE
bCla, // the instruction class
bIns, // the instruction code
bP1, // parameter to the instruction
bP2, // parameter to the instruction
bP3; // size of I/O transfer
} CmdBytes;
The data sent to the card should immediately follow the send buffer. In the special
case where no data is sent to the card and no data is expected in return, bP3 is not
sent.
Member Meaning:
bCla The T=0 instruction class.