C++Win32计划任务由于XML错误而失败
C++ Win32 Schedule Task Fails because of bad XML
我在摆弄Windows任务调度程序&尝试在登录时安排要执行的任务。
所以我复制了&粘贴了MSDN中关于如何做到这一点的确切示例代码-http://msdn.microsoft.com/en-us/library/aa381911(v=VS.85).aspx-我已经指定了我的用户名&我的密码在代码示例中。当我运行它时,我会收到错误"保存任务失败:80041318"
感谢我提出的另一个问题中的人,我现在知道这个错误的意思是:
任务XML包含一个格式错误或超出范围的值
现在我不知道这意味着什么,我在代码中做错了什么,尤其是当99%是示例MSDN代码的直接副本时?
也许我需要格式化我的用户名&密码是否正确,因为它们是BSTR或VARIANT的
我将只发布我对代码所做的更改,但要查看整个代码,请转到http://msdn.microsoft.com/en-us/library/aa381911(v=VS.85).aspx:
hr = pLogonTrigger->put_UserId( _bstr_t( L"soribo" ) ); // soribo is my username
pLogonTrigger->Release(); // line 221
hr = pRootFolder->RegisterTaskDefinition( // line 289
_bstr_t( wszTaskName ),
pTask,
TASK_CREATE_OR_UPDATE,
_variant_t(L"soribo"), // put in my windows username again (I'm the admin)
_variant_t(L"XXXXXX"), // put in my user password & no its not really XXXXXX :P
TASK_LOGON_GROUP,
_variant_t(L""),
&pRegisteredTask);
我不明白XML在哪里,因为这是C++Win32代码?
EDIT:显示pTask相关的代码:注意,我没有更改任何内容,所以它是MSDN 中的示例代码
// Create the task builder object to create the task.
ITaskDefinition *pTask = NULL;
hr = pService->NewTask( 0, &pTask );
pService->Release(); // COM clean up. Pointer is no longer used.
if (FAILED(hr))
{
printf("Failed to create a task definition: %x", hr);
pRootFolder->Release();
CoUninitialize();
return 1;
}
我不确定这是否是您错误的原因,但请查看ITaskFolder::RegisterTaskDefinition的文档和您的代码:
hr = pRootFolder->RegisterTaskDefinition( // line 289
_bstr_t( wszTaskName ),
pTask,
TASK_CREATE_OR_UPDATE,
_variant_t(L"soribo"), // put in my windows username again (I'm the admin)
_variant_t(L"XXXXXX"), // put in my user password & no its not really XXXXXX :P
TASK_LOGON_GROUP,
_variant_t(L""),
&pRegisteredTask);
我看到您使用的是TASK_LOGON_GROUP,但传递了用户名密码。如果使用TASK_LOGON_GROUP,则可能应该使用组名(如L"Builtin\Administrators"
或L"S-1-5-32-545"
)和VT_NULL作为密码。
相关文章:
- 尝试使用 std::vector<std::thread时出现静态断言失败错误>
- Websocket++ 错误:收到错误handle_transport_init TLS 握手失败
- Netbeans 10:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- 这个失败的测试是将零添加到空指针未定义的行为、编译器错误还是其他什么?
- 构建失败错误:无法使用 qibuild 构建C++ SDK Helloworld
- q网络回复 无状态码或错误,但失败
- 创建服务失败0x6f7存根收到错误数据
- 两个线程一个使用流 Api,另一个线程创建文件失败并出现错误ERROR_SHARING_VIOLATION
- CMake 错误:链接器命令失败,退出代码为 1 和 cpp.o 文件
- clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用) - 体系结构的未定义符号 x86_64:
- 调试模板时出现问题.专门针对 Linux GCC 7、GCC 6、GCC 5、GCC 4.9 错误构建失败:模板参数 1
- 如何修复 clang: 错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- 错误:断言失败 (src.type() == CV_8UC1) 在阈值中
- 失败,出现错误 87:参数不正确.如何判断哪个参数不正确?
- 创建进程 API 失败,在窗口 122 上出现错误代码 10
- 加速兽握手:sslv3 警报握手失败错误
- 自定义预期失败的完整错误消息(boost::spirit::x3)
- 从 Linux OMI (omicli) 到 Windows WMI 的连接失败,并出现与 DMTF 相关的错误
- libcurl错误失败的写作已接收到磁盘/应用程序的数据
- std::timed_mutex::try_lock*错误失败