The protection key information record.
typedef struct { UInt32 keySerialNumber; UInt32 protMode; UInt32 numberOfLicenses; UInt16 keyBoxMask; GSTime expirationTime; GS::UniString partnerID; } API_ProtectionInfo;
Members
- keySerialNumber
- The unique serial number of the hardware key.
- protMode
- The protection mode.
- numberOfLicenses
- The number of licenses programmed into the key.
- keyBoxMask
- Box mask of the unique serial number of the hardware key.
- expirationTime
- Expiration time of an ARCHICAD LIVE! subscription.
- partnerID
- When ARCHICAD runs on an SSA license (see
APIPROT_SSA_MASK
) this field contains the internal identifier of the reseller.
Remarks
The keySerialNumber
gives the unique serial number of the hardware key.
The protMode
field specifies the protection mode. You can use the following predefined masks to retrieve information about the protection type.
- APIPROT_SITE_MASK: More license (full version)
- APIPROT_NFR_MASK: Not For Resale version (full version)
- APIPROT_SCHOOL_MASK: School version (full version)
- APIPROT_PPU_MASK: PPU version (full version)
- APIPROT_NET_MASK: Network licensing (full version)
- APIPROT_TW_MASK: TeamWork functionality is on
- APIPROT_PROTEDU_MASK: Education version
- APIPROT_START_MASK
: Start edition
- APIPROT_SSA_MASK
: Software Service Agreement (SSA)
Usable masks in case of no hardware key :
- APIPROT_EDU_MASK: Education version
- APIPROT_DEMO_MASK: Demo version
- APIPROT_TRIAL_MASK: Trial version
- APIPROT_BTC_MASK
: BIM Cloud Team Client version
(Use bitwise-AND operator to find out your hardware key parameters.)
Call the ACAPI_Environment function with the APIEnv_ProtectionDataID function code to get this data.
From API 21 you shouldn’t call BNZeroMemory
or memset
on this structure.
Requirements
- Version: API 2.1 or later
- Header: APIdefs_Environment.h