Console.WriteLine("Trying to get a license"); Console.WriteLine("Enter the license type. (0: None, 1: Visual QR)"); Console.Write(">>>> "); UInt16 licenseType = Util.GetInput((UInt16)BS2LicenseType.VISUAL_QR_MASK); IntPtr resultObj = IntPtr.Zero; UInt32 numOfResult = 0; BS2ErrorCode result = (BS2ErrorCode)API.BS2_QueryDeviceLicense(sdkContext, deviceID, licenseType, out resultObj, out numOfResult); if (BS2ErrorCode.BS_SDK_SUCCESS != result) { Console.WriteLine("Got error({0}).", result); } else { IntPtr curResult = resultObj; int resultSize = Marshal.SizeOf(typeof(BS2LicenseResult)); for (UInt32 idx = 0; idx < numOfResult; idx++) { BS2LicenseResult item = (BS2LicenseResult)Marshal.PtrToStructure(curResult, typeof(BS2LicenseResult)); print(item, idx); curResult += resultSize; } API.BS2_ReleaseObject(resultObj); }