ITaskService::Connect 方法 (taskschd.h)

连接到远程计算机,并将此接口上的所有后续调用与远程会话相关联。 如果 serverName 参数为空,则此方法将在本地计算机上执行。 如果未指定 用户 ,则使用当前令牌。

语法

HRESULT Connect(
  [in, optional] VARIANT serverName,
  [in, optional] VARIANT user,
  [in, optional] VARIANT domain,
  [in, optional] VARIANT password
);

参数

[in, optional] serverName

要连接到的计算机的名称。 如果 serverName 参数为空,则此方法将在本地计算机上执行。

[in, optional] user

连接到计算机期间使用的用户名。 如果未指定 用户 ,则使用当前令牌。

[in, optional] domain

在 user 参数中指定的 用户的 域。

[in, optional] password

用于连接到计算机的密码。 如果未指定用户名和密码,则使用当前令牌。

返回值

此方法可以返回其中一个值。

返回代码/值 说明
S_OK
0
操作已成功完成。
E_ACCESS_DENIED
0x80070005
拒绝访问以连接到任务计划程序服务。
SCHED_E_SERVICE_NOT_RUNNING
0x80041315
任务计划程序服务未运行。
E_OUTOFMEMORY
0x8007000e
应用程序没有足够的内存来完成操作,或者 用户密码 至少有一个 null 值和一个非 null 值。
ERROR_BAD_NETPATH
53
在以下情况下返回此错误:
  • serverName 参数中指定的计算机名称不存在。
  • 尝试连接到 Windows Server 2003 或 Windows XP 计算机,并且远程计算机未启用文件和打印机共享防火墙例外或远程注册表服务未运行时。
  • 尝试连接到 Windows Vista 计算机时,远程计算机未启用远程计划任务管理防火墙例外和文件和打印机共享防火墙例外,或者远程注册表服务未运行。
ERROR_NOT_SUPPORTED
50
从 Windows Vista 计算机连接到远程 Windows XP 或 Windows Server 2003 计算机时,无法指定 用户密码 参数。

注解

在调用任何其他 ITaskService 方法之前,应调用 ITaskService ::Connect 方法。

如果要从 Windows Vista 连接到远程 Windows Vista 计算机,则需要允许远程计算机上的远程计划任务管理防火墙例外。 若要允许此例外,请单击“开始”、“控制面板”、“安全性”、“允许程序通过 Windows 防火墙”,然后选择“远程计划任务管理检查”框。 然后单击“Windows 防火墙设置”对话框中的“ 确定 ”按钮。

如果要从 Windows Vista 计算机连接到远程 Windows XP 或 Windows Server 2003 计算机,则需要允许远程计算机上的“文件和打印机共享”防火墙例外。 若要允许此异常,请单击“开始”,控制面板,双击“Windows 防火墙”,选择“例外”选项卡,然后选择“文件和打印机共享防火墙例外”。 然后单击“Windows 防火墙”对话框中的“ 确定 ”按钮。 远程注册表服务还必须在远程计算机上运行。

注意 如果当前计算机不支持远程任务的架构,则在读取任务定义时 ,ITaskService::Connect 可能会返回错误 SCHED_E_INVALIDVALUE 。 若要验证当前计算机支持的最高架构版本,检查 ITaskService::HighestVersion 属性。
 

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 taskschd.h
Library Taskschd.lib
DLL Taskschd.dll

另请参阅

ITaskService

ITaskService::HighestVersion