ISCardISO7816::GetData

The GetData method constructs an APDU command that retrieves either a single primitive data object or a set of data objects (contained in a constructed data object), depending on the type of file selected.

HRESULT GetData(
  BYTE byP1,
  BYTE byP2,
  LONG lBytesToGet,
  LPSCARDCMD *ppCmd
);
 

Parameters

byP1, byP2 [in]
Parameters:
Value Meaning
0000 - 003F RFU
0040 - 00FF BER-TLV tag (1 byte) in P2
0100 - 01FF Application data (proprietary coding)
0200 - 02FF SIMPLE-TLV tag in P2
0300 - 03FF RFU
0400 - 04FF BER-TLV tag (2 bytes) in P1-P2

lBytesToGet [in, defaultvalue(0)]
Number of bytes expected in the response.
ppCmd [in, out]
On input, a pointer to an ISCardCmd interface object or NULL.

On return, it is filled with the APDU command constructed by this operation. If ppCmd was set to NULL, a smart card ISCardCmd object is internally created and returned via the ppCmd pointer.

Return Values

The possible return values are the following:

Value Meaning
S_OK Operation completed successfully.
E_INVALIDARG Invalid parameter.
E_POINTER A bad pointer was passed in.
E_OUTOFMEMORY Out of memory.

Remarks

The encapsulated command can only be performed if the security status of the smart card satisfies the security attributes of the elementary file being read. Security conditions are dependent on the policy of the card, and may be manipulated through ExternalAuthenticate, InternalAuthenticate, ISCardAuth, etc.

To select a file, call SelectFile.

For a list of all the methods provided by the ISCardISO7816 interface, see ISCardISO7816.

In addition to the COM error codes listed above, this interface may return a smart card error code if a smart card function was called to complete the request. For information on smart card error codes, see Error Codes.

QuickInfo

  Windows NT: Use version 4.0 SP3 and later.
  Windows: Use Windows 95 OSR2.1.
  Windows CE: Unsupported.
  Header: Declared in scardsrv.h.
  Import Library: scardsrv.tlb.

See Also

ExternalAuthenticate, InternalAuthenticate, ISCardAuth, ISCardISO7816, PutData, SelectFile