WSManRunShellCommandEx 函数 (wsman.h)

提供与 WSManRunShellCommand 函数相同的功能,并添加了命令 ID 选项。 如果服务器支持协议,它将使用客户端指定的 ID 创建命令实例。 如果已存在具有指定 ID 的命令,服务器将无法创建命令实例。 仅当客户端应用程序将 WSMAN_FLAG_REQUESTED_API_VERSION_1_1 标志作为 WSManInitialize 函数调用的一部分传递时,此新功能才可用。

语法

void WSManRunShellCommandEx(
  [in, out]      WSMAN_SHELL_HANDLE    shell,
                 DWORD                 flags,
  [in]           PCWSTR                commandId,
  [in]           PCWSTR                commandLine,
  [in, optional] WSMAN_COMMAND_ARG_SET *args,
  [in, optional] WSMAN_OPTION_SET      *options,
  [in]           WSMAN_SHELL_ASYNC     *async,
  [out]          WSMAN_COMMAND_HANDLE  *command
);

参数

[in, out] shell

指定 WSManCreateShell 调用返回的 shell 句柄。 此参数不能为 NULL

flags

保留供将来使用。 必须为 0。

[in] commandId

客户端指定的命令 ID。

[in] commandLine

定义一个以 null 结尾的必需字符串,该字符串表示要执行的命令。 通常,指定命令时不指定任何单独指定的参数。 但是,用户可以使用此参数指定命令行和所有参数。 如果为 commandLine 参数指定了参数,则 args 参数应为 NULL

[in, optional] args

指向 WSMAN_COMMAND_ARG_SET 结构的指针,该结构定义参数值数组,这些参数值在创建时传递给命令。 如果不需要参数,则此参数应为 NULL

[in, optional] options

定义命令的一组选项。 这些选项将传递给服务以修改或优化命令执行。 此参数可以为 NULL。 有关选项的详细信息,请参阅 WSMAN_OPTION_SET

[in] async

定义异步结构。 异步结构包含可选的用户上下文和强制回调函数。 有关详细信息,请参阅 WSMAN_SHELL_ASYNC 结构。 此参数不能为 NULL ,应通过调用 WSManCloseCommand 方法关闭。

[out] command

定义与 shell 中的命令关联的命令对象。 此句柄在成功调用时返回,用于发送和接收数据以及发出命令信号。 应通过调用 WSManCloseCommand 方法关闭此句柄。 此参数不能为 NULL

返回值

要求

要求
最低受支持的客户端 Windows 8
最低受支持的服务器 Windows Server 2012
目标平台 Windows
标头 wsman.h
Library WsmSvc.lib
DLL WsmSvc.dll