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

IWTSProtocolConnection

COM
IID23083765-9095-4648-98bf-ef81c914032d継承元IUnknown自前メソッド開始 vtbl3

メソッド 23

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetLogonErrorRedirector(IWTSProtocolLogonErrorRedirector** ppLogonErrorRedir)
ppLogonErrorRedirIWTSProtocolLogonErrorRedirector**outログオンエラーのリダイレクトを行うインターフェイスへのポインタを受け取る。
vtbl 4 HRESULT SendPolicyData(WTS_POLICY_DATA* pPolicyData)
pPolicyDataWTS_POLICY_DATA*inクライアントへ送信するポリシー情報を格納した WTS_POLICY_DATA 構造体へのポインタである。
vtbl 5 HRESULT AcceptConnection()
vtbl 6 HRESULT GetClientData(WTS_CLIENT_DATA* pClientData)
pClientDataWTS_CLIENT_DATA*outクライアントの情報を受け取る WTS_CLIENT_DATA 構造体へのポインタである。
vtbl 7 HRESULT GetUserCredentials(WTS_USER_CREDENTIAL* pUserCreds)
pUserCredsWTS_USER_CREDENTIAL*outユーザーの資格情報を受け取る WTS_USER_CREDENTIAL 構造体へのポインタである。
vtbl 8 HRESULT GetLicenseConnection(IWTSProtocolLicenseConnection** ppLicenseConnection)
ppLicenseConnectionIWTSProtocolLicenseConnection**outライセンス処理を行う接続インターフェイスへのポインタを受け取る。
vtbl 9 HRESULT AuthenticateClientToSession(WTS_SESSION_ID* SessionId)
SessionIdWTS_SESSION_ID*outクライアントを認証して関連付ける対象セッションを識別する WTS_SESSION_ID 構造体へのポインタである。
vtbl 10 HRESULT NotifySessionId(WTS_SESSION_ID* SessionId)
SessionIdWTS_SESSION_ID*in接続に割り当てられたセッションを識別する WTS_SESSION_ID 構造体へのポインタである。
vtbl 11 HRESULT GetProtocolHandles(HANDLE_PTR* pKeyboardHandle, HANDLE_PTR* pMouseHandle, HANDLE_PTR* pBeepHandle, HANDLE_PTR* pVideoHandle)
pKeyboardHandleHANDLE_PTR*outキーボード入力デバイスのハンドルを受け取る。
pMouseHandleHANDLE_PTR*outマウス入力デバイスのハンドルを受け取る。
pBeepHandleHANDLE_PTR*outビープ出力デバイスのハンドルを受け取る。
pVideoHandleHANDLE_PTR*outビデオ出力デバイスのハンドルを受け取る。
vtbl 12 HRESULT ConnectNotify(DWORD SessionId)
SessionIdDWORDin接続が確立されたセッションのセッション ID を指定する。
vtbl 13 HRESULT IsUserAllowedToLogon(DWORD SessionId, HANDLE_PTR UserToken, LPWSTR pDomainName, LPWSTR pUserName)
SessionIdDWORDinログオン可否を判定する対象セッションのセッション ID を指定する。
UserTokenHANDLE_PTRin判定対象ユーザーのアクセストークンを表すハンドルを指定する。
pDomainNameLPWSTRin判定対象ユーザーのドメイン名を表すワイド文字列を指定する。
pUserNameLPWSTRin判定対象ユーザーのユーザー名を表すワイド文字列を指定する。
vtbl 14 HRESULT SessionArbitrationEnumeration(HANDLE_PTR hUserToken, BOOL bSingleSessionPerUserEnabled, DWORD* pSessionIdArray, DWORD* pdwSessionIdentifierCount)
hUserTokenHANDLE_PTRin列挙対象ユーザーのアクセストークンを表すハンドルを指定する。
bSingleSessionPerUserEnabledBOOLinユーザーごとに単一セッションのみを許可する設定の場合は TRUE を指定する。
pSessionIdArrayDWORD*out対象ユーザーに属するセッション ID の配列を受け取る。
pdwSessionIdentifierCountDWORD*inout返されたセッション ID の個数を受け取る。
vtbl 15 HRESULT LogonNotify(HANDLE_PTR hClientToken, LPWSTR wszUserName, LPWSTR wszDomainName, WTS_SESSION_ID* SessionId)
hClientTokenHANDLE_PTRinログオンしたクライアントのアクセストークンを表すハンドルを指定する。
wszUserNameLPWSTRinログオンしたユーザーのユーザー名を表すワイド文字列を指定する。
wszDomainNameLPWSTRinログオンしたユーザーのドメイン名を表すワイド文字列を指定する。
SessionIdWTS_SESSION_ID*inログオンが行われたセッションを識別する WTS_SESSION_ID 構造体へのポインタである。
vtbl 16 HRESULT GetUserData(WTS_POLICY_DATA* pPolicyData, WTS_USER_DATA* pClientData)
pPolicyDataWTS_POLICY_DATA*inポリシー情報を受け取る WTS_POLICY_DATA 構造体へのポインタである。
pClientDataWTS_USER_DATA*inoutユーザー固有のデータを受け取る WTS_USER_DATA 構造体へのポインタである。
vtbl 17 HRESULT DisconnectNotify()
vtbl 18 HRESULT Close()
vtbl 19 HRESULT GetProtocolStatus(WTS_PROTOCOL_STATUS* pProtocolStatus)
pProtocolStatusWTS_PROTOCOL_STATUS*outプロトコルの現在の状態を受け取る WTS_PROTOCOL_STATUS 構造体へのポインタである。
vtbl 20 HRESULT GetLastInputTime(ULONGLONG* pLastInputTime)
pLastInputTimeULONGLONG*out最後の入力が行われた時刻を受け取る。アイドル時間の判定に用いられる。
vtbl 21 HRESULT SetErrorInfo(DWORD ulError)
ulErrorDWORDin設定するエラーコードを指定する。
vtbl 22 HRESULT SendBeep(DWORD Frequency, DWORD Duration)
FrequencyDWORDin鳴らすビープ音の周波数をヘルツ単位で指定する。
DurationDWORDinビープ音を鳴らす長さをミリ秒単位で指定する。
vtbl 23 HRESULT CreateVirtualChannel(LPSTR szEndpointName, BOOL bStatic, DWORD RequestedPriority, UINT_PTR* phChannel)
szEndpointNameLPSTRin作成する仮想チャネルのエンドポイント名を表す文字列を指定する。
bStaticBOOLin静的チャネルとして作成する場合は TRUE、動的チャネルの場合は FALSE を指定する。
RequestedPriorityDWORDinチャネルに要求する優先度を指定する。
phChannelUINT_PTR*out作成された仮想チャネルのハンドルを受け取る。
vtbl 24 HRESULT QueryProperty(GUID QueryType, DWORD ulNumEntriesIn, DWORD ulNumEntriesOut, WTS_PROPERTY_VALUE* pPropertyEntriesIn, WTS_PROPERTY_VALUE* pPropertyEntriesOut)
QueryTypeGUIDin問い合わせるプロパティの種類を識別する GUID を指定する。
ulNumEntriesInDWORDin入力プロパティ配列のエントリ数を指定する。
ulNumEntriesOutDWORDin出力プロパティ配列のエントリ数を指定する。
pPropertyEntriesInWTS_PROPERTY_VALUE*in入力として渡すプロパティ値の配列へのポインタである。
pPropertyEntriesOutWTS_PROPERTY_VALUE*out取得したプロパティ値を受け取る配列へのポインタである。
vtbl 25 HRESULT GetShadowConnection(IWTSProtocolShadowConnection** ppShadowConnection)
ppShadowConnectionIWTSProtocolShadowConnection**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 指定が可能。