ISCardISO7816::GetChallenge

The GetChallenge method constructs an APDU command that issue a challenge (for example, a random number) for use in a security-related procedure.

HRESULT GetChallenge(
  LONG lBytesExpected,
  LPSCARDCMD *ppCmd
);
 

Parameters

lBytesExpected [in, defaultvalue(0)]
Maximum length of the expected 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 challenge is valid at least for the next command.

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, ISCardISO7816