ホーム › System.RemoteDesktop › IWTSProtocolConnection
IWTSProtocolConnection
COMメソッド 23
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetLogonErrorRedirector(IWTSProtocolLogonErrorRedirector** ppLogonErrorRedir)
| ppLogonErrorRedir | IWTSProtocolLogonErrorRedirector** | out | ログオンエラーのリダイレクトを行うインターフェイスへのポインタを受け取る。 |
vtbl 4 HRESULT SendPolicyData(WTS_POLICY_DATA* pPolicyData)
| pPolicyData | WTS_POLICY_DATA* | in | クライアントへ送信するポリシー情報を格納した WTS_POLICY_DATA 構造体へのポインタである。 |
vtbl 5 HRESULT AcceptConnection()
vtbl 6 HRESULT GetClientData(WTS_CLIENT_DATA* pClientData)
| pClientData | WTS_CLIENT_DATA* | out | クライアントの情報を受け取る WTS_CLIENT_DATA 構造体へのポインタである。 |
vtbl 7 HRESULT GetUserCredentials(WTS_USER_CREDENTIAL* pUserCreds)
| pUserCreds | WTS_USER_CREDENTIAL* | out | ユーザーの資格情報を受け取る WTS_USER_CREDENTIAL 構造体へのポインタである。 |
vtbl 8 HRESULT GetLicenseConnection(IWTSProtocolLicenseConnection** ppLicenseConnection)
| ppLicenseConnection | IWTSProtocolLicenseConnection** | out | ライセンス処理を行う接続インターフェイスへのポインタを受け取る。 |
vtbl 9 HRESULT AuthenticateClientToSession(WTS_SESSION_ID* SessionId)
| SessionId | WTS_SESSION_ID* | out | クライアントを認証して関連付ける対象セッションを識別する WTS_SESSION_ID 構造体へのポインタである。 |
vtbl 10 HRESULT NotifySessionId(WTS_SESSION_ID* SessionId)
| SessionId | WTS_SESSION_ID* | in | 接続に割り当てられたセッションを識別する WTS_SESSION_ID 構造体へのポインタである。 |
vtbl 11 HRESULT GetProtocolHandles(HANDLE_PTR* pKeyboardHandle, HANDLE_PTR* pMouseHandle, HANDLE_PTR* pBeepHandle, HANDLE_PTR* pVideoHandle)
| pKeyboardHandle | HANDLE_PTR* | out | キーボード入力デバイスのハンドルを受け取る。 |
| pMouseHandle | HANDLE_PTR* | out | マウス入力デバイスのハンドルを受け取る。 |
| pBeepHandle | HANDLE_PTR* | out | ビープ出力デバイスのハンドルを受け取る。 |
| pVideoHandle | HANDLE_PTR* | out | ビデオ出力デバイスのハンドルを受け取る。 |
| SessionId | DWORD | in | 接続が確立されたセッションのセッション ID を指定する。 |
vtbl 13 HRESULT IsUserAllowedToLogon(DWORD SessionId, HANDLE_PTR UserToken, LPWSTR pDomainName, LPWSTR pUserName)
| SessionId | DWORD | in | ログオン可否を判定する対象セッションのセッション ID を指定する。 |
| UserToken | HANDLE_PTR | in | 判定対象ユーザーのアクセストークンを表すハンドルを指定する。 |
| pDomainName | LPWSTR | in | 判定対象ユーザーのドメイン名を表すワイド文字列を指定する。 |
| pUserName | LPWSTR | in | 判定対象ユーザーのユーザー名を表すワイド文字列を指定する。 |
vtbl 14 HRESULT SessionArbitrationEnumeration(HANDLE_PTR hUserToken, BOOL bSingleSessionPerUserEnabled, DWORD* pSessionIdArray, DWORD* pdwSessionIdentifierCount)
| hUserToken | HANDLE_PTR | in | 列挙対象ユーザーのアクセストークンを表すハンドルを指定する。 |
| bSingleSessionPerUserEnabled | BOOL | in | ユーザーごとに単一セッションのみを許可する設定の場合は TRUE を指定する。 |
| pSessionIdArray | DWORD* | out | 対象ユーザーに属するセッション ID の配列を受け取る。 |
| pdwSessionIdentifierCount | DWORD* | inout | 返されたセッション ID の個数を受け取る。 |
vtbl 15 HRESULT LogonNotify(HANDLE_PTR hClientToken, LPWSTR wszUserName, LPWSTR wszDomainName, WTS_SESSION_ID* SessionId)
| hClientToken | HANDLE_PTR | in | ログオンしたクライアントのアクセストークンを表すハンドルを指定する。 |
| wszUserName | LPWSTR | in | ログオンしたユーザーのユーザー名を表すワイド文字列を指定する。 |
| wszDomainName | LPWSTR | in | ログオンしたユーザーのドメイン名を表すワイド文字列を指定する。 |
| SessionId | WTS_SESSION_ID* | in | ログオンが行われたセッションを識別する WTS_SESSION_ID 構造体へのポインタである。 |
vtbl 16 HRESULT GetUserData(WTS_POLICY_DATA* pPolicyData, WTS_USER_DATA* pClientData)
| pPolicyData | WTS_POLICY_DATA* | in | ポリシー情報を受け取る WTS_POLICY_DATA 構造体へのポインタである。 |
| pClientData | WTS_USER_DATA* | inout | ユーザー固有のデータを受け取る WTS_USER_DATA 構造体へのポインタである。 |
vtbl 17 HRESULT DisconnectNotify()
vtbl 18 HRESULT Close()
vtbl 19 HRESULT GetProtocolStatus(WTS_PROTOCOL_STATUS* pProtocolStatus)
| pProtocolStatus | WTS_PROTOCOL_STATUS* | out | プロトコルの現在の状態を受け取る WTS_PROTOCOL_STATUS 構造体へのポインタである。 |
| pLastInputTime | ULONGLONG* | out | 最後の入力が行われた時刻を受け取る。アイドル時間の判定に用いられる。 |
| ulError | DWORD | in | 設定するエラーコードを指定する。 |
| Frequency | DWORD | in | 鳴らすビープ音の周波数をヘルツ単位で指定する。 |
| Duration | DWORD | in | ビープ音を鳴らす長さをミリ秒単位で指定する。 |
vtbl 23 HRESULT CreateVirtualChannel(LPSTR szEndpointName, BOOL bStatic, DWORD RequestedPriority, UINT_PTR* phChannel)
| szEndpointName | LPSTR | in | 作成する仮想チャネルのエンドポイント名を表す文字列を指定する。 |
| bStatic | BOOL | in | 静的チャネルとして作成する場合は TRUE、動的チャネルの場合は FALSE を指定する。 |
| RequestedPriority | DWORD | in | チャネルに要求する優先度を指定する。 |
| phChannel | UINT_PTR* | out | 作成された仮想チャネルのハンドルを受け取る。 |
vtbl 24 HRESULT QueryProperty(GUID QueryType, DWORD ulNumEntriesIn, DWORD ulNumEntriesOut, WTS_PROPERTY_VALUE* pPropertyEntriesIn, WTS_PROPERTY_VALUE* pPropertyEntriesOut)
| QueryType | GUID | in | 問い合わせるプロパティの種類を識別する GUID を指定する。 |
| ulNumEntriesIn | DWORD | in | 入力プロパティ配列のエントリ数を指定する。 |
| ulNumEntriesOut | DWORD | in | 出力プロパティ配列のエントリ数を指定する。 |
| pPropertyEntriesIn | WTS_PROPERTY_VALUE* | in | 入力として渡すプロパティ値の配列へのポインタである。 |
| pPropertyEntriesOut | WTS_PROPERTY_VALUE* | out | 取得したプロパティ値を受け取る配列へのポインタである。 |
vtbl 25 HRESULT GetShadowConnection(IWTSProtocolShadowConnection** ppShadowConnection)
| ppShadowConnection | IWTSProtocolShadowConnection** | out | シャドウ (リモート監視) 接続を扱うインターフェイスへのポインタを受け取る。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IWTSProtocolConnection "{23083765-9095-4648-98BF-EF81C914032D}" #usecom global IWTSProtocolConnection IID_IWTSProtocolConnection "{}" #comfunc global IWTSProtocolConnection_GetLogonErrorRedirector 3 sptr #comfunc global IWTSProtocolConnection_SendPolicyData 4 var #comfunc global IWTSProtocolConnection_AcceptConnection 5 #comfunc global IWTSProtocolConnection_GetClientData 6 var #comfunc global IWTSProtocolConnection_GetUserCredentials 7 var #comfunc global IWTSProtocolConnection_GetLicenseConnection 8 sptr #comfunc global IWTSProtocolConnection_AuthenticateClientToSession 9 var #comfunc global IWTSProtocolConnection_NotifySessionId 10 var #comfunc global IWTSProtocolConnection_GetProtocolHandles 11 var,var,var,var #comfunc global IWTSProtocolConnection_ConnectNotify 12 int #comfunc global IWTSProtocolConnection_IsUserAllowedToLogon 13 int,sptr,wstr,wstr #comfunc global IWTSProtocolConnection_SessionArbitrationEnumeration 14 sptr,int,var,var #comfunc global IWTSProtocolConnection_LogonNotify 15 sptr,wstr,wstr,var #comfunc global IWTSProtocolConnection_GetUserData 16 var,var #comfunc global IWTSProtocolConnection_DisconnectNotify 17 #comfunc global IWTSProtocolConnection_Close 18 #comfunc global IWTSProtocolConnection_GetProtocolStatus 19 var #comfunc global IWTSProtocolConnection_GetLastInputTime 20 var #comfunc global IWTSProtocolConnection_SetErrorInfo 21 int #comfunc global IWTSProtocolConnection_SendBeep 22 int,int #comfunc global IWTSProtocolConnection_CreateVirtualChannel 23 str,int,int,var #comfunc global IWTSProtocolConnection_QueryProperty 24 int,int,int,var,var #comfunc global IWTSProtocolConnection_GetShadowConnection 25 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IWTSProtocolConnection "{23083765-9095-4648-98BF-EF81C914032D}" #usecom global IWTSProtocolConnection IID_IWTSProtocolConnection "{}" #comfunc global IWTSProtocolConnection_GetLogonErrorRedirector 3 sptr #comfunc global IWTSProtocolConnection_SendPolicyData 4 sptr #comfunc global IWTSProtocolConnection_AcceptConnection 5 #comfunc global IWTSProtocolConnection_GetClientData 6 sptr #comfunc global IWTSProtocolConnection_GetUserCredentials 7 sptr #comfunc global IWTSProtocolConnection_GetLicenseConnection 8 sptr #comfunc global IWTSProtocolConnection_AuthenticateClientToSession 9 sptr #comfunc global IWTSProtocolConnection_NotifySessionId 10 sptr #comfunc global IWTSProtocolConnection_GetProtocolHandles 11 sptr,sptr,sptr,sptr #comfunc global IWTSProtocolConnection_ConnectNotify 12 int #comfunc global IWTSProtocolConnection_IsUserAllowedToLogon 13 int,sptr,wstr,wstr #comfunc global IWTSProtocolConnection_SessionArbitrationEnumeration 14 sptr,int,sptr,sptr #comfunc global IWTSProtocolConnection_LogonNotify 15 sptr,wstr,wstr,sptr #comfunc global IWTSProtocolConnection_GetUserData 16 sptr,sptr #comfunc global IWTSProtocolConnection_DisconnectNotify 17 #comfunc global IWTSProtocolConnection_Close 18 #comfunc global IWTSProtocolConnection_GetProtocolStatus 19 sptr #comfunc global IWTSProtocolConnection_GetLastInputTime 20 sptr #comfunc global IWTSProtocolConnection_SetErrorInfo 21 int #comfunc global IWTSProtocolConnection_SendBeep 22 int,int #comfunc global IWTSProtocolConnection_CreateVirtualChannel 23 str,int,int,sptr #comfunc global IWTSProtocolConnection_QueryProperty 24 int,int,int,sptr,sptr #comfunc global IWTSProtocolConnection_GetShadowConnection 25 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。