ホーム › System.RemoteDesktop › IWorkspaceScriptable
IWorkspaceScriptable
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 7
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
| bstrWorkspaceId | LPWSTR | in | 切断するワークスペースの ID を指定する。 |
vtbl 8 HRESULT StartWorkspace(LPWSTR bstrWorkspaceId, LPWSTR bstrUserName, LPWSTR bstrPassword, LPWSTR bstrWorkspaceParams, INT lTimeout, INT lFlags)
| bstrWorkspaceId | LPWSTR | in | 開始するワークスペースの ID を指定する。 |
| bstrUserName | LPWSTR | in | 接続に使用するユーザー名を指定する。 |
| bstrPassword | LPWSTR | in | 接続に使用するパスワードを指定する。 |
| bstrWorkspaceParams | LPWSTR | in | ワークスペースに渡すパラメータ文字列を指定する。 |
| lTimeout | INT | in | 接続のタイムアウト時間を指定する。 |
| lFlags | INT | in | 開始時の動作を制御するフラグを指定する。 |
vtbl 9 HRESULT IsWorkspaceCredentialSpecified(LPWSTR bstrWorkspaceId, VARIANT_BOOL bCountUnauthenticatedCredentials, VARIANT_BOOL* pbCredExist)
| bstrWorkspaceId | LPWSTR | in | 資格情報の有無を確認するワークスペースの ID を指定する。 |
| bCountUnauthenticatedCredentials | VARIANT_BOOL | in | 未認証の資格情報を計上対象に含めるかどうかを指定する。 |
| pbCredExist | VARIANT_BOOL* | out | 指定したワークスペースの資格情報が存在するかどうかを示すブール値を受け取る。 |
vtbl 10 HRESULT IsWorkspaceSSOEnabled(VARIANT_BOOL* pbSSOEnabled)
| pbSSOEnabled | VARIANT_BOOL* | out | ワークスペースでシングルサインオンが有効かどうかを示すブール値を受け取る。 |
| bstrWorkspaceId | LPWSTR | in | 資格情報をクリアするワークスペースの ID を指定する。 |
| bstrWorkspaceId | LPWSTR | in | 認証が完了したワークスペースの ID を指定する。 |
| bstrUserName | LPWSTR | in | 認証されたユーザーの名前を指定する。 |
| bstrWorkspaceFriendlyName | LPWSTR | in | 切断するワークスペースのフレンドリ名を指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IWorkspaceScriptable "{EFEA49A2-DDA5-429D-8F42-B23B92C4C347}" #usecom global IWorkspaceScriptable IID_IWorkspaceScriptable "{}" #comfunc global IWorkspaceScriptable_DisconnectWorkspace 7 wstr #comfunc global IWorkspaceScriptable_StartWorkspace 8 wstr,wstr,wstr,wstr,int,int #comfunc global IWorkspaceScriptable_IsWorkspaceCredentialSpecified 9 wstr,int,var #comfunc global IWorkspaceScriptable_IsWorkspaceSSOEnabled 10 var #comfunc global IWorkspaceScriptable_ClearWorkspaceCredential 11 wstr #comfunc global IWorkspaceScriptable_OnAuthenticated 12 wstr,wstr #comfunc global IWorkspaceScriptable_DisconnectWorkspaceByFriendlyName 13 wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IWorkspaceScriptable "{EFEA49A2-DDA5-429D-8F42-B23B92C4C347}" #usecom global IWorkspaceScriptable IID_IWorkspaceScriptable "{}" #comfunc global IWorkspaceScriptable_DisconnectWorkspace 7 wstr #comfunc global IWorkspaceScriptable_StartWorkspace 8 wstr,wstr,wstr,wstr,int,int #comfunc global IWorkspaceScriptable_IsWorkspaceCredentialSpecified 9 wstr,int,sptr #comfunc global IWorkspaceScriptable_IsWorkspaceSSOEnabled 10 sptr #comfunc global IWorkspaceScriptable_ClearWorkspaceCredential 11 wstr #comfunc global IWorkspaceScriptable_OnAuthenticated 12 wstr,wstr #comfunc global IWorkspaceScriptable_DisconnectWorkspaceByFriendlyName 13 wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。