IOCTL_SMARTCARD_TRANSMIT

This code transmits data to and from the currently inserted smart card.

Parameters

  • dwOpenData
    [in] Handle returned from a call to the smart card reader driver's XXX_Open function.
  • dwCode
    [in] Specifies this code.
  • pBufIn
    [in] A pointer to an SCARD_IO_REQUEST structure followed by the data to be transmitted.
  • dwLenIn
    [in] The size of the SCARD_IO_REQUEST structure plus the size of the data to be transmitted.
  • pBufOut
    [out] Receives data transmitted from the smart card. This buffer consists of an SCARD_IO_REQUEST structure followed by the transmitted data.
  • dwLenOut
    [out] The size of the SCARD_IO_REQUEST structure plus the size of the data transmitted from the smart card.
  • pdwActualOut
    Ignored.

Return Values

One of the following status values.

Status Description
STATUS_SUCCESS The transmission was successful.
STATUS_NO_MEDIA There is no card in reader.
STATUS_IO_TIMEOUT The operation timed out.
STATUS_INVALID_DEVICE_STATE The protocol in the header does not match the previously selected card protocol.

Remarks

The member dwProtocol must be set to the previously selected protocol, and cbPciLength must be set to the size of the SCARD_IO_REQUEST structure itself, usually eight. The input buffer and the output buffer pointers can point to the same memory area It is the smart card reader driver's responsibility to avoid overwriting the input data. Use the Smart Card Driver Library to ensure that the input data is not overwritten.

Requirements

OS Versions: Windows CE 3.0 and later.
Header: Winsmcrd.h.

See Also

XXX_Open | SCARD_IO_REQUEST

 Last updated on Tuesday, May 18, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.