Поделиться через


Функция WSManRunShellCommandEx (wsman.h)

Предоставляет те же функции, что и функция WSManRunShellCommand , с добавлением параметра идентификатора команды. Если сервер поддерживает протокол, он создаст экземпляр команды, используя идентификатор, указанный клиентом. Если команда с указанным идентификатором уже существует, серверу не удастся создать экземпляр команды. Эта новая функция доступна только в том случае, если клиентское приложение передает флаг 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 . Этот параметр не может иметь значение NULL.

flags

Зарезервировано для последующего использования. Должно быть равно 0.

[in] commandId

Идентификатор команды, указанной клиентом.

[in] commandLine

Определяет обязательную строку, завершающуюся нулевым значением, которая представляет выполняемую команду. Как правило, команда указывается без аргументов, которые указываются отдельно. Однако с помощью этого параметра пользователь может указать командную строку и все аргументы. Если аргументы указаны для параметра 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

Определяет объект команды, связанный с командой в оболочке. Этот дескриптор возвращается при успешном вызове и используется для отправки и получения данных, а также для передачи сигнала команде. Этот дескриптор следует закрыть, вызвав метод WSManCloseCommand . Этот параметр не может иметь значение NULL.

Возвращаемое значение

None

Требования

Требование Значение
Минимальная версия клиента Windows 8
Минимальная версия сервера Windows Server 2012
Целевая платформа Windows
Header wsman.h
Библиотека WsmSvc.lib
DLL WsmSvc.dll