Win32 API 日本語リファレンス
ホームSystem.RemoteManagement › IWSManSession

IWSManSession

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDfc84fc58-1286-40c4-9da0-c8ef6ec241e0継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 12

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT Get(VARIANT resourceUri, INT flags, LPWSTR* resource)
resourceUriVARIANTin取得対象のリソースを識別するリソース URI を指定する。文字列または IWSManResourceLocator を保持する VARIANT である。
flagsINTin操作の動作を制御するフラグを指定する。通常は 0 を指定する。
resourceLPWSTR*out取得したリソースを表す XML 文字列を受け取る。受け取った文字列は呼び出し側で解放する。
vtbl 8 HRESULT Put(VARIANT resourceUri, LPWSTR resource, INT flags, LPWSTR* resultResource)
resourceUriVARIANTin更新対象のリソースを識別するリソース URI を指定する。文字列または IWSManResourceLocator を保持する VARIANT である。
resourceLPWSTRinリソースの新しい内容を表す XML 文字列を指定する。
flagsINTin操作の動作を制御するフラグを指定する。通常は 0 を指定する。
resultResourceLPWSTR*out更新後のリソースを表す XML 文字列を受け取る。受け取った文字列は呼び出し側で解放する。
vtbl 9 HRESULT Create(VARIANT resourceUri, LPWSTR resource, INT flags, LPWSTR* newUri)
resourceUriVARIANTin作成対象のリソースを識別するリソース URI を指定する。文字列または IWSManResourceLocator を保持する VARIANT である。
resourceLPWSTRin作成するリソースの内容を表す XML 文字列を指定する。
flagsINTin操作の動作を制御するフラグを指定する。通常は 0 を指定する。
newUriLPWSTR*out新しく作成されたリソースを参照するエンドポイント URI を表す文字列を受け取る。受け取った文字列は呼び出し側で解放する。
vtbl 10 HRESULT Delete(VARIANT resourceUri, INT flags)
resourceUriVARIANTin削除対象のリソースを識別するリソース URI を指定する。文字列または IWSManResourceLocator を保持する VARIANT である。
flagsINTin操作の動作を制御するフラグを指定する。通常は 0 を指定する。
vtbl 11 HRESULT Invoke(LPWSTR actionUri, VARIANT resourceUri, LPWSTR parameters, INT flags, LPWSTR* result)
actionUriLPWSTRin実行するメソッド(アクション)を識別するアクション URI を指定する。
resourceUriVARIANTinメソッドを呼び出す対象のリソースを識別するリソース URI を指定する。文字列または IWSManResourceLocator を保持する VARIANT である。
parametersLPWSTRinメソッドへ渡す入力パラメータを表す XML 文字列を指定する。
flagsINTin操作の動作を制御するフラグを指定する。通常は 0 を指定する。
resultLPWSTR*outメソッド呼び出しの結果を表す XML 文字列を受け取る。受け取った文字列は呼び出し側で解放する。
vtbl 12 HRESULT Enumerate(VARIANT resourceUri, LPWSTR filter, LPWSTR dialect, INT flags, IDispatch** resultSet)
resourceUriVARIANTin列挙対象のリソースを識別するリソース URI を指定する。文字列または IWSManResourceLocator を保持する VARIANT である。
filterLPWSTRin列挙結果を絞り込むためのフィルタ式を指定する。フィルタが不要な場合は NULL を指定する。
dialectLPWSTRinfilter で指定したフィルタ式の言語(ダイアレクト)を識別する URI を指定する。
flagsINTin列挙の動作を制御するフラグを指定する。通常は 0 を指定する。
resultSetIDispatch**out列挙結果を反復処理するための列挙子オブジェクト(IWSManEnumerator)を受け取る。
vtbl 13 HRESULT Identify(INT flags, LPWSTR* result)
flagsINTin操作の動作を制御するフラグを指定する。通常は 0 を指定する。
resultLPWSTR*outリモート WS-Management 実装の識別情報を表す XML 文字列を受け取る。受け取った文字列は呼び出し側で解放する。
vtbl 14 HRESULT get_Error(LPWSTR* value)
valueLPWSTR*out直近の操作で発生したエラーの詳細を表す XML 文字列を受け取る。受け取った文字列は呼び出し側で解放する。
vtbl 15 HRESULT get_BatchItems(INT* value)
valueINT*out列挙時に一度に取得するアイテム数(バッチサイズ)を受け取る。
vtbl 16 HRESULT put_BatchItems(INT value)
valueINTin列挙時に一度に取得するアイテム数(バッチサイズ)を指定する。
vtbl 17 HRESULT get_Timeout(INT* value)
valueINT*out操作のタイムアウト時間をミリ秒単位で受け取る。
vtbl 18 HRESULT put_Timeout(INT value)
valueINTin操作のタイムアウト時間をミリ秒単位で指定する。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IWSManSession "{FC84FC58-1286-40C4-9DA0-C8EF6EC241E0}"
#usecom global IWSManSession IID_IWSManSession "{}"
#comfunc global IWSManSession_Get             7 int,int,var
#comfunc global IWSManSession_Put             8 int,wstr,int,var
#comfunc global IWSManSession_Create          9 int,wstr,int,var
#comfunc global IWSManSession_Delete          10 int,int
#comfunc global IWSManSession_Invoke          11 wstr,int,wstr,int,var
#comfunc global IWSManSession_Enumerate       12 int,wstr,wstr,int,sptr
#comfunc global IWSManSession_Identify        13 int,var
#comfunc global IWSManSession_get_Error       14 var
#comfunc global IWSManSession_get_BatchItems  15 var
#comfunc global IWSManSession_put_BatchItems  16 int
#comfunc global IWSManSession_get_Timeout     17 var
#comfunc global IWSManSession_put_Timeout     18 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。