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

IWRdsProtocolConnection

COM
IID324ed94f-fdaf-4ff6-81a8-42abe755830b継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

クライアント接続を構成するためにリモートデスクトップサービスのサービスから呼び出されるメソッドを公開します。

解説(Remarks)

このインターフェイスのいずれかのメソッドを呼び出す際にデッドロックが発生する可能性を回避するため、直接的または間接的にリモートデスクトップサービスの API 呼び出しを引き起こすような関数やメソッドの呼び出しを行わないでください。外部への呼び出しを行う必要がある場合は、新しいスレッドを開始し、その新しいスレッドから外部への呼び出しを行ってください。

メソッド 24

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

vtbl 3 HRESULT GetLogonErrorRedirector(IWRdsProtocolLogonErrorRedirector** ppLogonErrorRedir)

クライアントのログオンエラーをプロトコルがどのように処理すべきかを指定する IWRdsProtocolLogonErrorRedirector インターフェイスを取得します。

ppLogonErrorRedirIWRdsProtocolLogonErrorRedirector**outIWRdsProtocolLogonErrorRedirector インターフェイスへのポインターのアドレス。

戻り値

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

この関数を実装しない場合は、ログオンエラーをリダイレクトすべきではないことを示すために E_NOTIMPL を返してください。

vtbl 4 HRESULT AcceptConnection()

接続要求を続行するようプロトコルに指示します。

戻り値

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

エラーを受け取ると、リモートデスクトップサービスのサービスは接続を切断します。

vtbl 5 HRESULT GetClientData(WTS_CLIENT_DATA* pClientData)

プロトコルからクライアント設定を要求します。

pClientDataWTS_CLIENT_DATA*outクライアント設定を格納する WRDS_CLIENT_DATA 構造体へのポインター。

戻り値

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

エラーを受け取ると、リモートデスクトップサービスのサービスは接続を切断します。

vtbl 6 HRESULT GetClientMonitorData(DWORD* pNumMonitors, DWORD* pPrimaryMonitor)

クライアント上のモニターの数とプライマリモニターの番号を取得します。

pNumMonitorsDWORD*outカウントされたモニターの数を受け取る UINT 変数へのポインター。
pPrimaryMonitorDWORD*outクライアント上のプライマリモニターの番号を受け取る UINT 変数へのポインター。

戻り値

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

vtbl 7 HRESULT GetUserCredentials(WTS_USER_CREDENTIAL* pUserCreds)

ユーザーの資格情報を返します。

pUserCredsWTS_USER_CREDENTIAL*out資格情報を格納する WRDS_USER_CREDENTIAL 構造体へのポインター。現在サポートされているのはユーザー名、パスワード、ドメインのみです。ユーザー名とパスワードはプレーンテキストです。

戻り値

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

解説(Remarks)

プロトコルが HRESULT エラーコードを返した場合、またはユーザーが正しくない資格情報を入力した場合、WinLogon は資格情報を要求するためのログオン画面を表示します。プロトコルが S_OK を返した場合、資格情報は WinLogon に渡されてユーザーのログオンに使用されます。

vtbl 8 HRESULT GetLicenseConnection(IWRdsProtocolLicenseConnection** ppLicenseConnection)

クライアントのライセンス処理を開始するために使用される IWRdsProtocolLicenseConnection オブジェクトを取得します。

ppLicenseConnectionIWRdsProtocolLicenseConnection**outライセンス接続オブジェクトを受け取る IWRdsProtocolLicenseConnection インターフェイスへのポインターのアドレス。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーを受け取ると、リモートデスクトップサービスのサービスは接続を切断します。

vtbl 9 HRESULT AuthenticateClientToSession(WTS_SESSION_ID* SessionId)

接続の再接続先となるセッションを指定します。

SessionIdWTS_SESSION_ID*outセッションを一意に識別する WRDS_SESSION_ID 構造体へのポインター。

戻り値

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

エラーを受け取ると、リモートデスクトップサービスのサービスは接続シーケンスを続行します。

vtbl 10 HRESULT NotifySessionId(WTS_SESSION_ID* SessionId, HANDLE_PTR SessionHandle)

新しいセッションの識別子をプロトコルに送信します。

SessionIdWTS_SESSION_ID*inセッションを一意に識別する WRDS_SESSION_ID 構造体へのポインター。
SessionHandleHANDLE_PTRinセッションハンドル。

戻り値

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

解説(Remarks)

これはイベント通知であり、このメソッドからは直ちに戻る必要があります。デッドロックが発生する可能性を回避するため、直接的または間接的にリモートデスクトップサービスの API 呼び出しを引き起こすような関数やメソッドの呼び出しを行わないでください。外部への呼び出しを行う必要がある場合は、新しいスレッドを開始し、その新しいスレッドから外部への呼び出しを行ってください。

vtbl 11 HRESULT GetInputHandles(HANDLE_PTR* pKeyboardHandle, HANDLE_PTR* pMouseHandle, HANDLE_PTR* pBeepHandle)

プロトコルの入出力デバイスへのハンドルを取得します。

pKeyboardHandleHANDLE_PTR*outキーボードデバイスのハンドルを受け取るハンドルへのポインター。これは I8042prt キーボードドライバーへのハンドルです。
pMouseHandleHANDLE_PTR*outマウスデバイスのハンドルを受け取るハンドルへのポインター。これは Mouclass ドライバーへのハンドルです。
pBeepHandleHANDLE_PTR*outビープまたはサウンドデバイスのハンドルを受け取るハンドルへのポインター。このハンドルは使用されず、NULL に設定する必要があります。

戻り値

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

vtbl 12 HRESULT GetVideoHandle(HANDLE_PTR* pVideoHandle)

プロトコルのビデオデバイスのハンドルを取得します。

pVideoHandleHANDLE_PTR*out

ビデオデバイスのハンドルを受け取るハンドルへのポインター。

プロトコルオブジェクトが IWRdsRemoteFXGraphicsConnection インターフェイスを使用している場合、このメソッドは pVideoHandle の内容を NULL に設定し、E_NOTIMPL を返す必要があります。

プロトコルが IWRdsRemoteFXGraphicsConnection インターフェイスを使用していない場合、このメソッドはプロトコルに関連付けられたリモートセッションのビデオミニポートドライバーへのハンドルを返す必要があります。

戻り値

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

vtbl 13 HRESULT ConnectNotify(DWORD SessionId)

セッションが初期化されたことをプロトコルに通知します。

SessionIdDWORDinセッション識別子。

戻り値

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

解説(Remarks)

これはイベント通知であり、このメソッドからは直ちに戻る必要があります。デッドロックが発生する可能性を回避するため、直接的または間接的にリモートデスクトップサービスの API 呼び出しを引き起こすような関数やメソッドの呼び出しを行わないでください。外部への呼び出しを行う必要がある場合は、新しいスレッドを開始し、その新しいスレッドから外部への呼び出しを行ってください。

vtbl 14 HRESULT IsUserAllowedToLogon(DWORD SessionId, HANDLE_PTR UserToken, LPWSTR pDomainName, LPWSTR pUserName)

ユーザーがセッションへのログオンを許可されているかどうかをプロトコルから判定します。

SessionIdDWORDinセッション識別子。
UserTokenHANDLE_PTRinユーザートークンを表すハンドル。
pDomainNameLPWSTRinユーザーのドメイン名を格納する null 終端文字列へのポインター。
pUserNameLPWSTRinユーザー名を格納する null 終端文字列へのポインター。

戻り値

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

vtbl 15 HRESULT SessionArbitrationEnumeration(HANDLE_PTR hUserToken, BOOL bSingleSessionPerUserEnabled, DWORD* pSessionIdArray, DWORD* pdwSessionIdentifierCount)

アービトレーションの後に呼び出され、再接続するセッションをプロトコルが指定できるようにします。

hUserTokenHANDLE_PTRinユーザートークンを表すハンドル。
bSingleSessionPerUserEnabledBOOLinユーザーが単一のセッションにのみ関連付けられるかどうかを指定します。
pSessionIdArrayDWORD*outユーザーの切断されたセッション識別子を受け取る ULONG 配列へのポインター。このパラメーターが NULL の場合、リモートデスクトップサービスのサービスはこの配列を割り当てるための要素数を要求しています。識別子の数を pdwSessionIdentifierCount が指す値に格納してください。
pdwSessionIdentifierCountDWORD*inoutpSessionIdArray 配列内の要素数を受け取る ULONG 値へのポインター。

戻り値

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

vtbl 16 HRESULT LogonNotify(HANDLE_PTR hClientToken, LPWSTR wszUserName, LPWSTR wszDomainName, WTS_SESSION_ID* SessionId, WRDS_CONNECTION_SETTINGS* pWRdsConnectionSettings)

ユーザーがセッションにログオンしたときに呼び出されます。

hClientTokenHANDLE_PTRinユーザートークンを表すハンドル。
wszUserNameLPWSTRinユーザー名を格納する null 終端文字列へのポインター。
wszDomainNameLPWSTRinユーザーのドメイン名を格納する null 終端文字列へのポインター。
SessionIdWTS_SESSION_ID*inセッションを一意に識別する WRDS_SESSION_ID 構造体へのポインター。
pWRdsConnectionSettingsWRDS_CONNECTION_SETTINGS*inoutセッションの接続設定を格納する WRDS_CONNECTION_SETTINGS 構造体へのポインター。

戻り値

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

解説(Remarks)

これはイベント通知であり、このメソッドからは直ちに戻る必要があります。デッドロックが発生する可能性を回避するため、直接的または間接的にリモートデスクトップサービスの API 呼び出しを引き起こすような関数やメソッドの呼び出しを行わないでください。外部への呼び出しを行う必要がある場合は、新しいスレッドを開始し、その新しいスレッドから外部への呼び出しを行ってください。

vtbl 17 HRESULT PreDisconnect(DWORD DisconnectReason)

セッションが間もなく切断されることをプロトコルに通知します。

DisconnectReasonDWORDin切断の理由を示す数値。

戻り値

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

解説(Remarks)

これはイベント通知であり、このメソッドからは直ちに戻る必要があります。デッドロックが発生する可能性を回避するため、直接的または間接的にリモートデスクトップサービスの API 呼び出しを引き起こすような関数やメソッドの呼び出しを行わないでください。外部への呼び出しを行う必要がある場合は、新しいスレッドを開始し、その新しいスレッドから外部への呼び出しを行ってください。

vtbl 18 HRESULT DisconnectNotify()

セッションが切断されたことをプロトコルに通知します。

戻り値

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

解説(Remarks)

これはイベント通知であり、このメソッドからは直ちに戻る必要があります。デッドロックが発生する可能性を回避するため、直接的または間接的にリモートデスクトップサービスの API 呼び出しを引き起こすような関数やメソッドの呼び出しを行わないでください。外部への呼び出しを行う必要がある場合は、新しいスレッドを開始し、その新しいスレッドから外部への呼び出しを行ってください。

vtbl 19 HRESULT Close()

セッションが切断された後に接続を閉じます。

戻り値

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

vtbl 20 HRESULT GetProtocolStatus(WTS_PROTOCOL_STATUS* pProtocolStatus)

プロトコルのステータスに関する情報を取得します。

pProtocolStatusWTS_PROTOCOL_STATUS*outプロトコルのカウンター、シグナル、キャッシュの情報を受け取る WRDS_PROTOCOL_STATUS 構造体へのポインター。

戻り値

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

vtbl 21 HRESULT GetLastInputTime(ULONGLONG* pLastInputTime)

プロトコルが最後にユーザー入力を受け取った時刻を取得します。

pLastInputTimeULONGLONG*outプロトコルが最後に入力を受け取ってから経過したミリ秒数を受け取る ULONG64 値へのポインター。

戻り値

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

vtbl 22 HRESULT SetErrorInfo(DWORD ulError)

プロトコルにエラー情報を設定します。

ulErrorDWORDinエラーコード。

戻り値

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

vtbl 23 HRESULT CreateVirtualChannel(LPSTR szEndpointName, BOOL bStatic, DWORD RequestedPriority, UINT_PTR* phChannel)

プロトコルに仮想チャネルの作成を要求します。

szEndpointNameLPSTRin接続を一意に識別するエンドポイントデータを格納する null 終端文字列。
bStaticBOOLin

仮想チャネルが静的か動的かを指定します。

TRUE

チャネルは静的です。

FALSE

チャネルは動的です。

RequestedPriorityDWORDinチャネルに要求される優先度を指定します。
phChannelUINT_PTR*out作成されたチャネルのハンドルを受け取る ULONG 値へのポインター。

戻り値

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

解説(Remarks)

仮想チャネルは、リモートデスクトップサービスのアプリケーションを拡張するために作成できるソフトウェア拡張です。例としては、追加のハードウェアのサポートや、特定のプロトコルが提供する機能への追加などがあります。詳細については、「リモートデスクトップサービスの仮想チャネル」を参照してください。

vtbl 24 HRESULT QueryProperty(GUID QueryType, DWORD ulNumEntriesIn, DWORD ulNumEntriesOut, WTS_PROPERTY_VALUE* pPropertyEntriesIn, WTS_PROPERTY_VALUE* pPropertyEntriesOut)

プロトコルからプロパティ値を取得します。

QueryTypeGUIDin

要求されたプロパティを指定する GUID。次のいずれかの値を指定できます。

WRDS_QUERY_ALLOWED_INITIAL_APP (C77D1B30-5BE1-4c6b-A0E1-BD6D2E5C9FCC)

初期アプリケーションの実行を許可すべきかどうかを判定するために、リモートデスクトップサービスのサービスから送信されます。

入力時、リモートデスクトップサービスのサービスは pPropertyEntriesIn パラメーターで 3 つの WRDS_PROPERTY_VALUE 構造体を渡します。

入力構造体 1:

  • pPropertyEntriesIn[0].Type = WRDS_VALUE_TYPE_STRING
  • pPropertyEntriesIn[0].u.strVal.pstrVal = アプリケーション名
  • pPropertyEntriesIn[0].u.strVal.size = 名前文字列の長さ
入力構造体 2:
  • pPropertyEntriesIn[1].Type = WRDS_VALUE_TYPE_STRING
  • pPropertyEntriesIn[1].u.strVal.pstrVal = アプリケーションのパラメーター
  • pPropertyEntriesIn[1].u.strVal.size = パラメーター文字列の長さ
入力構造体 3: 出力時、pPropertyEntriesOut パラメーターで次の 3 つの WRDS_PROPERTY_VALUE 構造体を渡します。リモートデスクトップサービスのサービスによって渡されたアプリケーションを使用する場合は、入力構造体 1 と 2 を出力構造体 1 と 2 にコピーします。

出力構造体 1:

  • pPropertyEntriesOut[0].Type = WRDS_VALUE_TYPE_STRING
  • pPropertyEntriesOut[0].u.strVal.pstrVal = ディレクトリを含むコマンドライン
  • pPropertyEntriesOut[0].u.strVal.size = コマンドラインの長さ
出力構造体 2:
  • pPropertyEntriesOut[1].Type = WRDS_VALUE_TYPE_STRING
  • pPropertyEntriesOut[1].u.strVal.pstrVal = アプリケーションのパラメーター
  • pPropertyEntriesOut[1].u.strVal.size = パラメーター文字列の長さ
出力構造体 3:
  • pPropertyEntriesOut[2].Type = WRDS_VALUE_TYPE_ULONG
  • pPropertyEntriesOut[2].u.ulVal = アプリケーションを実行するにはゼロ以外の任意の値、停止するにはゼロ

WRDS_QUERY_LOGON_SCREEN_SIZE (8b8e0fe7-0804-4a0e-b279-8660b1df0049)

ログオン画面のサイズを判定するために WinLogon によって使用されます。

pPropertyEntriesIn パラメーターは NULL になります。

pPropertyEntriesOut パラメーターを次のように設定します。

既定の画面サイズを使用しない場合、プロトコルは E_NOTIMPL を返す必要があります。

WRDS_QUERY_AUDIOENUM_DLL (9bf4fa97-c883-4c2a-80ab-5a39c9af00db)

リモートオーディオ列挙子 DLL の名前を照会するために、リモートデスクトップサービスのサービスによって使用されます。

pPropertyEntriesIn パラメーターは NULL になります。

pPropertyEntriesOut パラメーターを次のように設定します。

pstrVal のメモリは LocalAlloc 関数を使用して割り当てる必要があります。

WRDS_QUERY_MF_FORMAT_SUPPORT (41869ad0-6332-4dc8-95d5-db749e2f1d94)

特定のメディア形式に使用するシンクオブジェクトを判定するために、リモートデスクトップ Media Foundation プラグインによって使用されます。

入力時、RCM は pPropertyEntriesIn パラメーターで次の WRDS_PROPERTY_VALUE 構造体を渡します。

出力時、pPropertyEntriesOut パラメーターで次の WRDS_PROPERTY_VALUE 構造体を渡します。

PROPERTY_DYNAMIC_TIME_ZONE_INFORMATION (cdfd28e-d0b9-4c1f-a5eb-6d1f6c6535b9)

接続から動的タイムゾーン情報を取得するために使用されます。

pPropertyEntriesIn パラメーターは NULL になります。

出力時、pPropertyEntriesOut パラメーターで次の WRDS_PROPERTY_VALUE 構造体を渡します。

CONNECTION_PROPERTY_CURSOR_BLINK_DISABLED (4b150580-fea4-4d3c-9de4-7433a66618f7)

カーソルの点滅を無効にすべきかどうかを判定するために使用されます。

pPropertyEntriesIn パラメーターは NULL になります。

出力時、pPropertyEntriesOut パラメーターで次の WRDS_PROPERTY_VALUE 構造体を渡します。

  • pPropertyEntriesOut[0].Type = WRDS_VALUE_TYPE_ULONG
  • pPropertyEntriesOut[0].u.ulVal = カーソルの点滅を無効にするには 1、それ以外は 0

PROPERTY_TYPE_GET_FAST_RECONNECT (6212d757-0043-4862-99c3-9f3059ac2a3b)

使用する再接続のモードを判定するために、リモートデスクトップサービスのサービスによって使用されます。

pPropertyEntriesIn パラメーターは NULL になります。

出力時、pPropertyEntriesOut パラメーターで次の WRDS_PROPERTY_VALUE 構造体を渡します。

  • pPropertyEntriesOut[0].Type = WRDS_VALUE_TYPE_ULONG
  • pPropertyEntriesOut[0].u.ulVal = 高速再接続を無効にするには 0、基本の高速再接続には 1、拡張高速再接続には 2

PROPERTY_TYPE_GET_FAST_RECONNECT_USER_SID (197c427a-0135-4b6d-9c5e-e6579a0ab625)

拡張高速再接続の際に、再接続先セッションのフィルターに使用されるユーザー SID を取得するために、リモートデスクトップサービスのサービスによって使用されます。

pPropertyEntriesIn パラメーターは NULL になります。

出力時、pPropertyEntriesOut パラメーターで次の WRDS_PROPERTY_VALUE 構造体を渡します。

  • pPropertyEntriesOut[0].Type = WRDS_VALUE_TYPE_STRING
  • pPropertyEntriesIn[0].u.strVal.pstrVal = セッションフィルターとして使用するユーザー SID
  • pPropertyEntriesIn[0].u.strVal.size = null 終端文字を含むユーザー SID の長さ
pstrVal のメモリは LocalAlloc 関数を使用して割り当てる必要があります。

PROPERTY_TYPE_ENABLE_UNIVERSAL_APPS_FOR_CUSTOM_SHELL (ed2c3fda-338d-4d3f-81a3-e767310d908e)

セッション作成中に、カスタムシェルの前に ShellAppRuntime.exe を起動するかどうかを判定するために、リモートデスクトップサービスのサービスによって使用されます。ShellAppRuntime.exe はカスタムシェルのユニバーサルアプリサポートを実装します。これは既定では有効になっていません (ゼロを渡すのと同等)。これは Server 2019 以降、または Windows 10 マルチセッション Build 18950 以降の Windows バージョンで利用できます。

pPropertyEntriesIn パラメーターは NULL になります。

出力時、pPropertyEntriesOut パラメーターで次の WRDS_PROPERTY_VALUE 構造体を渡します。

  • pPropertyEntriesOut[0].Type = WRDS_VALUE_TYPE_ULONG
  • pPropertyEntriesOut[0].u.ulVal = カスタムシェルのユニバーサルアプリサポートを有効にしない場合は 0、有効にする場合は 1

CONNECTION_PROPERTY_IDLE_TIME_WARNING (693f7ff5-0c4e-4d17-b8e0-1f70325e5d58)

アイドルタイマーの期限が切れたときにログオフ警告プロンプトを表示するかどうかを判定するために使用されます。

pPropertyEntriesIn パラメーターは NULL になります。

出力時、pPropertyEntriesOut パラメーターで次の WRDS_PROPERTY_VALUE 構造体を渡します。

  • pPropertyEntriesOut[0].Type = WRDS_VALUE_TYPE_ULONG
  • pPropertyEntriesOut[0].u.ulVal = 警告プロンプトを無効にするには 0、有効にするには 1
ulNumEntriesInDWORDinpPropertyEntriesIn 配列内のエントリ数。
ulNumEntriesOutDWORDinpPropertyEntriesOut 配列内のエントリ数。
pPropertyEntriesInWTS_PROPERTY_VALUE*in要求されたプロパティ情報を見つけるのに役立てることができる WRDS_PROPERTY_VALUE 構造体へのポインターの配列。
pPropertyEntriesOutWTS_PROPERTY_VALUE*out要求されたプロパティ値を受け取る WRDS_PROPERTY_VALUE 構造体へのポインターの配列。

戻り値

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

vtbl 25 HRESULT GetShadowConnection(IWRdsProtocolShadowConnection** ppShadowConnection)

プロトコルからシャドウ接続オブジェクトへの参照を取得します。

ppShadowConnectionIWRdsProtocolShadowConnection**outシャドウ接続オブジェクトへの参照を受け取る IWRdsProtocolShadowConnection インターフェイスポインターのアドレス。このメソッドは戻る前にオブジェクトへの参照を追加する必要があります。リモートデスクトップサービスのサービスがオブジェクトを不要になると、それを解放します。

戻り値

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

vtbl 26 HRESULT NotifyCommandProcessCreated(DWORD SessionId)

Winlogon.exe プロセスが作成され初期化されたことをプロトコルに通知します。

SessionIdDWORDinセッション識別子。

戻り値

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

解説(Remarks)

これはイベント通知であり、このメソッドからは直ちに戻る必要があります。デッドロックが発生する可能性を回避するため、直接的または間接的にリモートデスクトップサービスの API 呼び出しを引き起こすような関数やメソッドの呼び出しを行わないでください。外部への呼び出しを行う必要がある場合は、新しいスレッドを開始し、その新しいスレッドから外部への呼び出しを行ってください。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IWRdsProtocolConnection "{324ED94F-FDAF-4FF6-81A8-42ABE755830B}"
#usecom global IWRdsProtocolConnection IID_IWRdsProtocolConnection "{}"
#comfunc global IWRdsProtocolConnection_GetLogonErrorRedirector        3 sptr
#comfunc global IWRdsProtocolConnection_AcceptConnection               4
#comfunc global IWRdsProtocolConnection_GetClientData                  5 var
#comfunc global IWRdsProtocolConnection_GetClientMonitorData           6 var,var
#comfunc global IWRdsProtocolConnection_GetUserCredentials             7 var
#comfunc global IWRdsProtocolConnection_GetLicenseConnection           8 sptr
#comfunc global IWRdsProtocolConnection_AuthenticateClientToSession    9 var
#comfunc global IWRdsProtocolConnection_NotifySessionId                10 var,sptr
#comfunc global IWRdsProtocolConnection_GetInputHandles                11 var,var,var
#comfunc global IWRdsProtocolConnection_GetVideoHandle                 12 var
#comfunc global IWRdsProtocolConnection_ConnectNotify                  13 int
#comfunc global IWRdsProtocolConnection_IsUserAllowedToLogon           14 int,sptr,wstr,wstr
#comfunc global IWRdsProtocolConnection_SessionArbitrationEnumeration  15 sptr,int,var,var
#comfunc global IWRdsProtocolConnection_LogonNotify                    16 sptr,wstr,wstr,var,var
#comfunc global IWRdsProtocolConnection_PreDisconnect                  17 int
#comfunc global IWRdsProtocolConnection_DisconnectNotify               18
#comfunc global IWRdsProtocolConnection_Close                          19
#comfunc global IWRdsProtocolConnection_GetProtocolStatus              20 var
#comfunc global IWRdsProtocolConnection_GetLastInputTime               21 var
#comfunc global IWRdsProtocolConnection_SetErrorInfo                   22 int
#comfunc global IWRdsProtocolConnection_CreateVirtualChannel           23 str,int,int,var
#comfunc global IWRdsProtocolConnection_QueryProperty                  24 int,int,int,var,var
#comfunc global IWRdsProtocolConnection_GetShadowConnection            25 sptr
#comfunc global IWRdsProtocolConnection_NotifyCommandProcessCreated    26 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。