LS_CHALLENGE

Notice:This is preliminary documentation for technology that will be supported in future releases of Microsoft Windows.

The LS_CHALLENGE structure is used for both the challenge and the response of the LSRequest and LSUpdate license service functions. It is the main structure in the challenge/response mechanism, and it is supported by all challenge/response protocols.

typedef struct _LS_CHALLENGE {

LS_ULONG Protocol;

LS_ULONG Size;

LS_CHALLDATA ChallengeData;

} LS_CHALLENGE;

Members

Protocol

Specifies the protocol setting for license authentication.

Size

Specifies the size, in bytes, of the ChallengeData (LS_CHALLDATA) structure.

ChallengeData

Structure that contains the challenge that the application passes to the license system, and the response the license system returns to the application.

Remarks

Use the LS_CHALLDATA structure to pass the challenge to the license system. The license system also returns the challenge response in the LS_CHALLDATA structure. Therefore, the number of bytes specified in the Size member on entry must be large enough to accommodate the challenge response. If the structure is not large enough to accommodate it, the error LS_BUFFER_TOO_SMALL is returned.

Because the LS_CHALLDATA structure can vary depending on the protocol specified in the Protocol member, this structure must be a single contiguous entity in memory, and must not exceed the number of bytes specified in the Size member. It cannot contain any pointers.

LSAPI passes the Protocol, the Size of the LS_CHALLDATA structure, and the actual data contained in the structure to the license system. The license system, in turn, casts the byte sequence into the appropriate structure based on the Protocol specified.

The constant value LS_BASIC_PROTOCOL specifies a standard basic challenge protocol that is supported by all LSAPI-compliant license systems. When the Protocol specified is LS_OUT_OF_BAND_PROTOCOL, there is no challenge and no response.

See Also

LS_CHALLDATA, LS_MSG_DIGEST