原型:
LONG SCardTransmit(
IN SCARDHANDLE hCard,
IN LPCSCARD_I0_REQUEST pioSendPci,
IN LPCBYTE pbSendBuffer,
IN DWORD cbSendLength,
IN OUT LPSCARD_IO_REQUEST pioRecvPci,
OUT LPBYTE pbRecvBuffer,
IN OUT LPDWORD pcbRecvLength
);VB声明:
Public Declare Function SCardTransmit Lib "winscard.dll" (ByVal hCard As Long, ByRef pioSendPci As SCARD_IO_REQUEST, ByRef pbSendBuffer As Byte, ByVal cbSendLength As Long, ByRef pioRecvPci As SCARD_IO_REQUEST, ByRef pbRecvBuffer As Byte, ByRef pcbRecvLength As Long) As Long
LONG SCardTransmit(
IN SCARDHANDLE hCard,
IN LPCSCARD_I0_REQUEST pioSendPci,
IN LPCBYTE pbSendBuffer,
IN DWORD cbSendLength,
IN OUT LPSCARD_IO_REQUEST pioRecvPci,
OUT LPBYTE pbRecvBuffer,
IN OUT LPDWORD pcbRecvLength
);VB声明:
Public Declare Function SCardTransmit Lib "winscard.dll" (ByVal hCard As Long, ByRef pioSendPci As SCARD_IO_REQUEST, ByRef pbSendBuffer As Byte, ByVal cbSendLength As Long, ByRef pioRecvPci As SCARD_IO_REQUEST, ByRef pbRecvBuffer As Byte, ByRef pcbRecvLength As Long) As Long
IN SCARDHANDLE hCard,
IN LPCSCARD_I0_REQUEST pioSendPci,
IN LPCBYTE pbSendBuffer, \\这里
IN DWORD cbSendLength,
IN OUT LPSCARD_IO_REQUEST pioRecvPci,
OUT LPBYTE pbRecvBuffer, \\这里
IN OUT LPDWORD pcbRecvLength
);
hCard: Integer;
var pioSendPci: SCARD_IO_REQUEST; var pbSendBuffer; cbSendLength: Cardinal;
var pioRecvPci: SCARD_IO_REQUEST; var pbRecvBuffer; var pcbRecvLength: Cardinal
): Integer; stdcall; external 'winscard.dll';
Function SCardTransmit(hCard:Longint;
pioSendPci:SCARD_IO_REQUEST;
var pbSendBuffer:Byte; {*}
cbSendLength:Longint;
var pioRecvPci:SCARD_IO_REQUEST;
var pbRecvBuffer:Byte; {*}
var pcbRecvLength:Longint
):Longint;stdcall;external 'winscard.dll';
hCard: SCARDHANDLE;
const ioSendPci: SCARD_I0_REQUEST; // 只读的传引用
pbSendBuffer: PByte; // 传递Byte指针,可用用传递字节数组
cbSendLength: DWORD; // 传值
var ioRecvPci: SCARD_IO_REQUEST; // 传引用 in&out
out pbRecvBuffer: PByte; // 传出的指针
var cbRecvLength: DWORD // 传引用,事实上,我认为这个应该设计为out,因为pbRecvBuffer是out
): Longint;