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
);
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.
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. |
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.
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.
ExternalAuthenticate, InternalAuthenticate, ISCardISO7816