int getDeviceLicense(void* context, BS2_DEVICE_ID id) { DeviceControl dc(context); BS2LicenseBlob licenseBlob = { 0, }; vector licenseResult; int sdkResult = BS_SDK_SUCCESS; BS2_LICENSE_TYPE licenseType = (BS2_LICENSE_TYPE)Utility::getInput("Enter the license type. (0: None, 1: Visual QR)"); sdkResult = dc.queryDeviceLicense(id, licenseType, licenseResult); if (BS_SDK_SUCCESS == sdkResult) DeviceControl::print(licenseResult); return sdkResult; } int DeviceControl::queryDeviceLicense(BS2_DEVICE_ID id, BS2_LICENSE_TYPE licenseType, vector& licenseResult) { BS2LicenseResult* result = NULL; uint32_t numOfResult = 0; int sdkResult = BS2_QueryDeviceLicense(context_, id, licenseType, &result, &numOfResult); if (BS_SDK_SUCCESS != sdkResult) { TRACE("BS2_QueryDeviceLicense call failed: %d", sdkResult); return sdkResult; } licenseResult.clear(); for (uint32_t idx = 0; idx < numOfResult; idx++) { licenseResult.push_back(result[idx]); } return sdkResult; }