Freigeben über


WSManRunShellCommandEx-Funktion (wsman.h)

Bietet die gleiche Funktionalität wie die WSManRunShellCommand-Funktion , wobei eine Befehls-ID-Option hinzugefügt wird. Wenn der Server das Protokoll unterstützt, erstellt er den Befehl instance unter Verwendung der vom Client angegebenen ID. Wenn bereits ein Befehl mit der angegebenen ID vorhanden ist, kann der Server den Befehl instance nicht erstellen. Diese neue Funktionalität ist nur verfügbar, wenn die Clientanwendung das WSMAN_FLAG_REQUESTED_API_VERSION_1_1-Flag im Rahmen des Aufrufs der WSManInitialize-Funktion übergibt.

Syntax

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
);

Parameter

[in, out] shell

Gibt das Shellhandle an, das vom WSManCreateShell-Aufruf zurückgegeben wird. Dieser Parameter darf nicht NULL sein.

flags

Für die zukünftige Verwendung reserviert. Muss den Wert 0 (null) haben.

[in] commandId

Die vom Client angegebene Befehls-ID.

[in] commandLine

Definiert eine erforderliche NULL-Zeichenfolge, die den auszuführenden Befehl darstellt. In der Regel wird der Befehl ohne Argumente angegeben, die separat angegeben werden. Ein Benutzer kann jedoch die Befehlszeile und alle Argumente angeben, indem er diesen Parameter verwendet. Wenn Argumente für den commandLine-Parameter angegeben werden, sollte der Args-Parameter NULL sein.

[in, optional] args

Ein Zeiger auf eine WSMAN_COMMAND_ARG_SET Struktur, die ein Array von Argumentwerten definiert, die bei der Erstellung an den Befehl übergeben werden. Wenn keine Argumente erforderlich sind, sollte dieser Parameter NULL sein.

[in, optional] options

Definiert eine Reihe von Optionen für den Befehl. Diese Optionen werden an den Dienst übergeben, um die Befehlsausführung zu ändern oder zu verfeinern. Dieser Parameter kann NULL sein. Weitere Informationen zu den Optionen finden Sie unter WSMAN_OPTION_SET.

[in] async

Definiert eine asynchrone Struktur. Die asynchrone Struktur enthält einen optionalen Benutzerkontext und eine obligatorische Rückruffunktion. Weitere Informationen finden Sie in der WSMAN_SHELL_ASYNC-Struktur . Dieser Parameter darf NICHT NULL sein und sollte durch Aufrufen der WSManCloseCommand-Methode geschlossen werden.

[out] command

Definiert das Befehlsobjekt, das einem Befehl in einer Shell zugeordnet ist. Dieses Handle wird bei einem erfolgreichen Aufruf zurückgegeben und zum Senden und Empfangen von Daten und zum Signalisieren des Befehls verwendet. Dieses Handle sollte durch Aufrufen der WSManCloseCommand-Methode geschlossen werden. Dieser Parameter darf nicht NULL sein.

Rückgabewert

Keine

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8
Unterstützte Mindestversion (Server) Windows Server 2012
Zielplattform Windows
Kopfzeile wsman.h
Bibliothek WsmSvc.lib
DLL WsmSvc.dll