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

IWorkspaceScriptable

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

公式ドキュメント

RemoteApp およびデスクトップ接続の資格情報と接続を管理するメソッドを公開します。(IWorkspaceScriptable)

メソッド 7

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

vtbl 7 HRESULT DisconnectWorkspace(LPWSTR bstrWorkspaceId)

指定した接続 ID に関連付けられている既存のすべての接続を切断します。

bstrWorkspaceIdLPWSTRin切断する接続の接続 ID を含む文字列。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 8 HRESULT StartWorkspace(LPWSTR bstrWorkspaceId, LPWSTR bstrUserName, LPWSTR bstrPassword, LPWSTR bstrWorkspaceParams, INT lTimeout, INT lFlags)

ユーザーの資格情報と証明書を接続 ID に関連付けます。

bstrWorkspaceIdLPWSTRin接続 ID を含む文字列。
bstrUserNameLPWSTRinユーザー名を含む文字列。
bstrPasswordLPWSTRinパスワードを含む文字列。
bstrWorkspaceParamsLPWSTRin指定した接続 ID に関連付ける署名証明書の 1 つ以上の Secure Hash Algorithm 1 (SHA-1) ハッシュを含む文字列。ハッシュ値は 16 進数の文字列形式で、セミコロンで区切る必要があります。
lTimeoutINTinこの期間(分単位)が経過すると資格情報が削除されます。
lFlagsINTin

ユーザーの資格情報のプロパティを指定するフラグ。次の値のビットごとの OR を指定できます。

WKS_FLAG_CLEAR_CREDS_ON_LAST_RESOURCE (1 (0x1))

最後の RemoteApp アプリケーションが閉じられるとすぐに資格情報を削除します。

WKS_FLAG_PASSWORD_ENCRYPTED (2 (0x2))

パスワードが暗号化されています。

WKS_FLAG_CREDS_AUTHENTICATED (4 (0x4))

ユーザーの資格情報が検証済みです。このフラグが設定されていない場合、資格情報を使用する前に OnAuthenticated メソッドを呼び出す必要があります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合はエラーを示す HRESULT 値を返します。可能な値には、次のリストに示すものが含まれますが、これらに限定されません。

vtbl 9 HRESULT IsWorkspaceCredentialSpecified(LPWSTR bstrWorkspaceId, VARIANT_BOOL bCountUnauthenticatedCredentials, VARIANT_BOOL* pbCredExist)

指定した接続 ID に対するユーザーの資格情報が存在するかどうかを判断します。

bstrWorkspaceIdLPWSTRin接続 ID を含む文字列。
bCountUnauthenticatedCredentialsVARIANT_BOOLinbstrWorkspaceId パラメーターで指定された接続 ID に対して資格情報(認証済みまたは未認証)が存在する場合に pbCredExist パラメーターが VARIANT_TRUE を返すように指定するには、VARIANT_TRUE を指定します。bstrWorkspaceId パラメーターで指定された接続 ID に対して認証済みの資格情報が存在する場合にのみ pbCredExist パラメーターが VARIANT_TRUE を返すように指定するには、VARIANT_FALSE を指定します。
pbCredExistVARIANT_BOOL*outbstrWorkspaceId パラメーターで指定された接続 ID に対して資格情報が存在するかどうかを受け取る VARIANT_BOOL 変数へのポインター。資格情報が存在する場合、この値は VARIANT_TRUE になります。それ以外の場合は VARIANT_FALSE になります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 10 HRESULT IsWorkspaceSSOEnabled(VARIANT_BOOL* pbSSOEnabled)

RemoteApp およびデスクトップ接続でシングルサインオン (SSO) が有効になっているかどうかを判断します。

pbSSOEnabledVARIANT_BOOL*outSSO が有効になっているかどうかを受け取る VARIANT_BOOL 変数へのポインター。SSO が有効な場合、この値は VARIANT_TRUE になります。それ以外の場合は VARIANT_FALSE になります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 11 HRESULT ClearWorkspaceCredential(LPWSTR bstrWorkspaceId)

指定した接続 ID に関連付けられているユーザーの資格情報を削除します。

bstrWorkspaceIdLPWSTRin接続 ID を含む文字列。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

接続 ID にアクティブな接続がない場合、その接続 ID は資格情報ストアから削除されます。

vtbl 12 HRESULT OnAuthenticated(LPWSTR bstrWorkspaceId, LPWSTR bstrUserName)

接続 ID に対するユーザーの資格情報の認証を記録し、続いてタスクバーの通知領域に接続通知を表示します。

bstrWorkspaceIdLPWSTRin接続 ID を含む文字列。
bstrUserNameLPWSTRinユーザー名を含む文字列。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 13 HRESULT DisconnectWorkspaceByFriendlyName(LPWSTR bstrWorkspaceFriendlyName)

指定した名前を持つ接続に関連付けられている既存のすべての接続を切断します。

bstrWorkspaceFriendlyNameLPWSTRin切断する接続のフレンドリ名を含む文字列。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

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 不要)。