IWSManEx
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
IWSMan インターフェースのメソッドおよびプロパティを拡張し、IWSManResourceLocator オブジェクトの作成、列挙フラグ値およびセッションフラグ値を返すメソッド、拡張エラー情報を取得するメソッドを含めます。
メソッド 20
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
IWSManSession.Get、IWSManSession.Put、Session.Enumerate などの Session オブジェクト操作において、リソース URI の代わりに使用できる ResourceLocator オブジェクトを作成します。
| strResourceLocator | LPWSTR | in | リソースのリソース URI。URI 文字列の詳細については、Resource URIs を参照してください。 |
| newResourceLocator | IDispatch** | out | IWSManResourceLocator の新しいインスタンスへのポインター。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
IWSManResourceLocator オブジェクトで FragmentDialect プロパティが指定されていない場合、既定値は XPath 1.0 仕様です。詳細については、http://www.w3.org/TR/xpath を参照してください。
IWSMan::CreateSession の flags パラメーターで使用する認証フラグ WSManFlagUTF8 の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
IWSMan::CreateSession の flags パラメーターで使用する認証フラグ WSManFlagCredUsernamePassword の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
IWSMan::CreateSession メソッドの flags パラメーターで使用する認証フラグ WSManFlagSkipCACheck の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
IWSMan::CreateSession の flags パラメーターで使用する認証フラグ WSManFlagSkipCNCheck の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
IWSMan::CreateSession の flags パラメーターで使用する認証フラグ WSManFlagUseDigest の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
IWSMan::CreateSession の flags パラメーターで使用する認証フラグ WSManFlagUseNegotiate の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
IWSMan::CreateSession の flags パラメーターで使用する認証フラグ WSManFlagUseBasic の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
IWSMan::CreateSession の flags パラメーターで使用する認証フラグ WSManFlagUseKerberos の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
IWSMan::CreateSession の flags パラメーターで使用する認証フラグ WSManFlagNoEncryption の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
IWSMan::CreateSession の flags パラメーターで使用する認証フラグ WSManFlagEnableSPNServerPort の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
IWSMan::CreateSession の flags パラメーターで使用する認証フラグ WSManFlagUseNoAuthentication の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
IWSManSession::Enumerate メソッドの flags パラメーターで使用する列挙定数 WSManFlagNonXmlText の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
IWSManSession::Enumerate メソッドの flags パラメーターで使用する列挙定数 EnumerationFlagReturnEPR の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
IWSManSession::Enumerate メソッドの flags パラメーターで使用する列挙定数 EnumerationFlagReturnObjectAndEPR の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
エラー番号のテキストを含む、書式設定された文字列を返します。
| errorNumber | DWORD | in | WinRM、WinHTTP、またはその他のオペレーティングシステムコンポーネントからの、10 進数または 16 進数のエラーメッセージ番号。 |
| errorMessage | LPWSTR* | out | Winrm コマンドから返されるメッセージと同じ形式で書式設定されたエラーメッセージ文字列。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
対応するスクリプティングメソッドは WSMan.GetErrorMessage です。
IWSManSession::Enumerate メソッドの flags パラメーターで使用する列挙定数 EnumerationFlagHierarchyDeep の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
IWSManSession::Enumerate メソッドの flags パラメーターで使用する列挙定数 EnumerationFlagHierarchyShallow の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
IWSManSession::Enumerate メソッドの flags パラメーターで使用する列挙定数 EnumerationFlagHierarchyDeepBasePropsOnly の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
IWSManSession::Enumerate メソッドの flags パラメーターで使用する列挙定数 EnumerationFlagReturnObject の値を返します。
| flags | INT* | out | 定数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IWSManEx "{2D53BDAA-798E-49E6-A1AA-74D01256F411}" #usecom global IWSManEx IID_IWSManEx "{}" #comfunc global IWSManEx_CreateResourceLocator 11 wstr,sptr #comfunc global IWSManEx_SessionFlagUTF8 12 var #comfunc global IWSManEx_SessionFlagCredUsernamePassword 13 var #comfunc global IWSManEx_SessionFlagSkipCACheck 14 var #comfunc global IWSManEx_SessionFlagSkipCNCheck 15 var #comfunc global IWSManEx_SessionFlagUseDigest 16 var #comfunc global IWSManEx_SessionFlagUseNegotiate 17 var #comfunc global IWSManEx_SessionFlagUseBasic 18 var #comfunc global IWSManEx_SessionFlagUseKerberos 19 var #comfunc global IWSManEx_SessionFlagNoEncryption 20 var #comfunc global IWSManEx_SessionFlagEnableSPNServerPort 21 var #comfunc global IWSManEx_SessionFlagUseNoAuthentication 22 var #comfunc global IWSManEx_EnumerationFlagNonXmlText 23 var #comfunc global IWSManEx_EnumerationFlagReturnEPR 24 var #comfunc global IWSManEx_EnumerationFlagReturnObjectAndEPR 25 var #comfunc global IWSManEx_GetErrorMessage 26 int,var #comfunc global IWSManEx_EnumerationFlagHierarchyDeep 27 var #comfunc global IWSManEx_EnumerationFlagHierarchyShallow 28 var #comfunc global IWSManEx_EnumerationFlagHierarchyDeepBasePropsOnly 29 var #comfunc global IWSManEx_EnumerationFlagReturnObject 30 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IWSManEx "{2D53BDAA-798E-49E6-A1AA-74D01256F411}" #usecom global IWSManEx IID_IWSManEx "{}" #comfunc global IWSManEx_CreateResourceLocator 11 wstr,sptr #comfunc global IWSManEx_SessionFlagUTF8 12 sptr #comfunc global IWSManEx_SessionFlagCredUsernamePassword 13 sptr #comfunc global IWSManEx_SessionFlagSkipCACheck 14 sptr #comfunc global IWSManEx_SessionFlagSkipCNCheck 15 sptr #comfunc global IWSManEx_SessionFlagUseDigest 16 sptr #comfunc global IWSManEx_SessionFlagUseNegotiate 17 sptr #comfunc global IWSManEx_SessionFlagUseBasic 18 sptr #comfunc global IWSManEx_SessionFlagUseKerberos 19 sptr #comfunc global IWSManEx_SessionFlagNoEncryption 20 sptr #comfunc global IWSManEx_SessionFlagEnableSPNServerPort 21 sptr #comfunc global IWSManEx_SessionFlagUseNoAuthentication 22 sptr #comfunc global IWSManEx_EnumerationFlagNonXmlText 23 sptr #comfunc global IWSManEx_EnumerationFlagReturnEPR 24 sptr #comfunc global IWSManEx_EnumerationFlagReturnObjectAndEPR 25 sptr #comfunc global IWSManEx_GetErrorMessage 26 int,sptr #comfunc global IWSManEx_EnumerationFlagHierarchyDeep 27 sptr #comfunc global IWSManEx_EnumerationFlagHierarchyShallow 28 sptr #comfunc global IWSManEx_EnumerationFlagHierarchyDeepBasePropsOnly 29 sptr #comfunc global IWSManEx_EnumerationFlagReturnObject 30 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。