Prior to calling this function, you must call DefineProduct and set the PrivateKey property. Note that including the PrivateKey in your code is not recommended. Creation of license keys should not typically be done from within the application but rather from a server that the user does not have access to.
C++: _bstr_t CreateLicenseKeyEx2 (DATE ExpiryDate, int ExpiryDuration, int NumberOfLicenses, ELicenseType LicenseType, BSTR MachineID)
C#: string CreateLicenseKeyEx2 (System.DateTime ExpiryDate, int ExpiryDuration, int NumberOfLicenses, ELicenseType LicenseType, string MachineID)
ExpiryDate - The date when the license will expire. Use NULL if you do not want to specify an expiry date.
ExpiryDuration - The duration of the evaluation period in days. Use -1 if you do not want to specify a duration.
NumberOfLicenses - The number of licenses associated with the key. Use 1 if you do not want to use single activation licensing.
LicenseType - Specify the type of license to generate. See the definition of LicenseType below.
MachineID - A unique identifier for the machine. If you specify a ComputerName as the LicenseType, this argument must be the Computer Name. If you specify User Defined as the LicenseType, this argument can be anything you want. When validating the license key in your code, you will need to provide the same value to the ValidateLicenseEx function. To create a key that is not computer bound, set this argument to NULL and set the LicenseType to Generic.
A computer bound license key.