private void PrintWmiFunctions() { try { classInstance = new ManagementObject(wmiScope, $"{wmiAMDACPI}.InstanceName='{instanceName}'", null); // Get function names with their IDs string[] functionObjects = { "GetObjectID", "GetObjectID2" }; var index = 1; foreach (var functionObject in functionObjects) { AddHeading($"WMI: Bios Functions {index}"); try { pack = WMI.InvokeMethod(classInstance, functionObject, "pack", null, 0); if (pack != null) { var ID = (uint[])pack.GetPropertyValue("ID"); var IDString = (string[])pack.GetPropertyValue("IDString"); var Length = (byte)pack.GetPropertyValue("Length"); for (var i = 0; i < Length; ++i) { if (IDString[i] == "") { return; } AddLine($"{IDString[i] + ":",-30}{ID[i]:X8}"); } } else { AddLine("<FAILED>"); } } catch { // ignored } index++; AddLine(); } } catch { // ignored } }