0
我在調用SoftwareLicensingProduct.GetTokenActivationGrants WMI方法時使用.NET ManagementObject對象時出現問題。 GetTokenActivationGrants具有以下特徵:使用ManagementObject.InvokeMethod的WMI方法()
uint32 GetTokenActivationGrants(
[out] string Grants[]
);
我用下面的C#代碼:
class Program
{
private const string GRANTS_METHOD = "GetTokenActivationGrants";
static void Main(string[] args)
{
ManagementObjectSearcher productSearch = new ManagementObjectSearcher("SELECT ID, Name, ApplicationId, PartialProductKey, Description, LicenseIsAddon " +
"FROM SoftwareLicensingProduct WHERE ApplicationId = '55c92734-d682-4d71-983e-d6ec3f16059f' AND PartialProductKey <> NULL " +
"AND LicenseIsAddon = FALSE");
foreach (ManagementObject product in productSearch.Get())
{
ManagementBaseObject inParams = product.GetMethodParameters(GRANTS_METHOD);
ManagementBaseObject outParams = product.InvokeMethod(GRANTS_METHOD, inParams, null);
}
}
}
這將失敗,System.Runtime.InteropServices.COMException我相信這是因爲發生GetMethodParameters返回null。有誰知道如何正確地調用像這樣的引用參數的方法?
COMException類有一個名爲ErrorCode的屬性。你得到什麼ErrorCode? – Hans
ErrorCode是-1073417466。 –
此錯誤的含義如下:軟件授權服務報告此軟件版本不支持基於令牌的激活。 – Hans