ConvertToReferencePoint 方法不起作用,获取作业参数的 NULL (HyperV 2016)
ConvertToReferencePoint method not working, getting NULL for job parameter (HyperV 2016)
>我正在尝试先创建一个快照,然后将快照转换为参考点。快照的创建成功,我可以在HyperV管理器中看到它。但是当我尝试使用快照引用调用 ConvertToReferencePoint 方法时,我得到的作业输出为 NULL。
创建快照后,我正在获取与其关联的设置数据并对其进行编辑以重命名创建的快照。我从中提取实例ID字段并生成发送到ConvertToReferencePoint方法的作业路径。CComVariant((L"Msvm_VirtualSystemSettingData.CreationClassName="Msvm_VirtualSystemSettingData",InstanceID="" + snapRef + L""").c_str()));
此外,DeleteSnapshot 和 DeleteSnapshotTree 方法工作正常,即使它们采用路径作为参数Msvm_VirtualSystemSettingData也是如此。我错过了什么吗?
主题相似但问题不同 :(WMI( ExecMethod out 参数 - 无论调用的结果如何,ResultingSnapshot 都是 NULL,为什么?
我什至尝试使用 WMI 资源管理器工具对以下参数进行硬编码。
AffectedSnapshot=\hostnameROOTvirtualizationv2:Msvm_VirtualSystemSettingData.InstanceID="Microsoft:5A58EE16-48E8-46E2-8162-065826537142"
ReferencePointSettings=""
转换为参考点:空响应。
Wbem::Parameters inParams;
//inParams.add(L"AffectedSnapshot", CComVariant((L"Msvm_VirtualSystemSettingData.CreationClassName="Msvm_VirtualSystemSettingData",InstanceID="" + snapRef + L""").c_str()));
inParams.add(L"AffectedSnapshot", CComVariant(L"\\IWF1117030\ROOT\virtualization\v2:Msvm_VirtualSystemSettingData.InstanceID="Microsoft:5A58EE16-48E8-46E2-8162-065826537142""));
inParams.add(L"ReferencePointSettings", CComVariant(L""));
Wbem::ParametersPtr outParams(new Wbem::Parameters);
outParams->add(L"Job", CComVariant());
m_wbemServices->execObjectMethod(L"Msvm_VirtualSystemSnapshotService", L"Name="" + instanceName + L""", L"ConvertToReferencePoint", inParams, outParams);
删除快照:工作正常。
std::wstring instanceName = getSingleInstanceNameForWMIClass(L"Msvm_VirtualSystemSnapshotService");
Wbem::Parameters inParams;
inParams.add(L"AffectedSnapshot", CComVariant((L"Msvm_VirtualSystemSettingData.CreationClassName="Msvm_VirtualSystemSettingData",InstanceID="" + snapRef + L""").c_str()));
Wbem::ParametersPtr outParams(new Wbem::Parameters);
outParams->add(L"Job", CComVariant());
m_wbemServices->execObjectMethod(L"Msvm_VirtualSystemSnapshotService", L"Name="" + instanceName + L""", L"DestroySnapshot", inParams, outParams);
没有错误消息。只是获得空值。 如果有人有示例代码来实现此目的,请分享。
检查如何在 WMI 资源管理器中创建快照。它应该是"恢复"类型,以便ConvertToReferencePoint工作。
相关文章:
- 如果我std::dynamic_pointer_cast并且底层dynamic_cast的结果为null,那么返回的sh
- 如何在 c++ 中'NULL'字符串
- c++使用foreach使数组为null
- 当使用通配符和null指针调用函数时,对输出的说明
- 当字段可以为null时,如何使用C++接口在Avro中写入数据
- 如何在映射中返回null
- 为什么返回 NULL 不会破坏函数?
- 构造函数中的 QQuickItem 父项 null
- 检查字符串是否"null" C++
- fopen 在 gdb 中返回 NULL
- what(): basic_string::_M_construct null not valid
- 在这个函数中是有缺陷的,因为取消引用 null 是无效的,所以我想更改代码
- 为什么在排序链表上的这种合并实现总是将两个列表都设置为 NULL,而只有一个应该设置一个列表?
- 为什么要从main()返回NULL?
- 为什么 nlohmann/json 序列化 "null" 而不是在 double 上"0"?
- 当目标指针不是基类的类型时,为什么允许dynamic_cast为多态类生成 null 指针?
- 是否有通用方法可以找到任何以 null 结尾的字符串的长度?
- 为什么TinyXML2的XMLDocument::FirstChild()函数在尝试解析这个有效的XML文件时返回NULL?
- 使用 curl_easy_cleanup(curl) 时收到未经处理的 NULL 异常
- ConvertToReferencePoint 方法不起作用,获取作业参数的 NULL (HyperV 2016)