次の方法で共有


WSManRunShellCommandEx 関数 (wsman.h)

コマンド ID オプションを追加して、 WSManRunShellCommand 関数と同じ機能を提供します。 サーバーがプロトコルをサポートしている場合は、クライアントで指定された ID を使用してコマンド インスタンスが作成されます。 指定した ID のコマンドが既に存在する場合、サーバーはコマンド インスタンスの作成に失敗します。 この新機能は、クライアント アプリケーションが WSManInitialize 関数の呼び出しの一環としてWSMAN_FLAG_REQUESTED_API_VERSION_1_1 フラグを渡す場合にのみ使用できます。

構文

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

クライアントで指定されたコマンド 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

シェル内のコマンドに関連付けられているコマンド オブジェクトを定義します。 このハンドルは正常な呼び出しで返され、データの送受信とコマンドの通知に使用されます。 このハンドルは、 WSManCloseCommand メソッドを呼び出して閉じる必要があります。 このパラメーターを NULL にすることはできません。

戻り値

なし

必要条件

要件
サポートされている最小のクライアント Windows 8
サポートされている最小のサーバー Windows Server 2012
対象プラットフォーム Windows
ヘッダー wsman.h
Library WsmSvc.lib
[DLL] WsmSvc.dll