IWdsTransportSetupManager
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
WDS トランスポートサーバー上のセットアップタスクを管理します。
メソッド 5
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
WDS サーバーのオペレーティングシステムのバージョンを示す値を受け取ります。
| pullVersion | ULONGLONG* | out | WDS トランスポートのバージョン番号を受け取る変数へのポインタである。 |
サーバーにインストールされている WDS 機能を示す値を受け取ります。
| pulInstalledFeatures | DWORD* | out | インストール済み機能を表すフラグ値を受け取る変数へのポインタである。 |
WDS サーバーがサポートするトランスポートプロトコルを示す値を受け取ります。
| pulProtocols | DWORD* | out | サポートされているプロトコルを表すフラグ値を受け取る変数へのポインタである。 |
クライアントコンピューター上で実行されるアプリケーションがコンテンツプロバイダー DLL を登録できるようにします。これにより、そのプロバイダーが WDS トランスポートサーバーで使用可能になります。
| bszName | LPWSTR | in | 登録するコンテンツプロバイダーの名前。この名前はサーバー上で一意である必要があります。 |
| bszDescription | LPWSTR | in | 管理者が読める、コンテンツプロバイダーの説明。 |
| bszFilePath | LPWSTR | in | コンテンツプロバイダーを実装する DLL へのフルパス。パスには環境変数を含めることができます。 |
| bszInitializationRoutine | LPWSTR | in | WDS トランスポートサーバーがプロバイダーの初期化に使用できる、コンテンツプロバイダーがエクスポートする関数の名前。 |
戻り値
標準的な HRESULT エラー値が使用されます。成功時は S_OK、失敗時はそれ以外の値です。
解説(Remarks)
マルチキャストプロバイダーが未認証の接続をサポートできるようにするには、プロバイダー開発者はレジストリに AllowUnAuth キーを追加し、その DWORD 値を 1 に設定します。
HKLM\System\CurrentControlSet\Services\WDSServer\Providers\WDSMC\Providers\Content Provider Name (i.e. bszName)\AllowUnauth
クライアントコンピューター上で実行されるアプリケーションがコンテンツプロバイダーの登録を解除できるようにします。これにより、そのプロバイダーは WDS トランスポートサーバーで使用できなくなります。
| bszName | LPWSTR | in | 登録を解除するコンテンツプロバイダーの名前。 |
戻り値
標準的な HRESULT エラー値が使用されます。成功時は S_OK、失敗時はそれ以外の値です。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IWdsTransportSetupManager "{F7238425-EFA8-40A4-AEF9-C98D969C0B75}" #usecom global IWdsTransportSetupManager IID_IWdsTransportSetupManager "{C7BEEAAD-9F04-4923-9F0C-FBF52BC7590F}" #comfunc global IWdsTransportSetupManager_get_Version 7 var #comfunc global IWdsTransportSetupManager_get_InstalledFeatures 8 var #comfunc global IWdsTransportSetupManager_get_Protocols 9 var #comfunc global IWdsTransportSetupManager_RegisterContentProvider 10 wstr,wstr,wstr,wstr #comfunc global IWdsTransportSetupManager_DeregisterContentProvider 11 wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IWdsTransportSetupManager "{F7238425-EFA8-40A4-AEF9-C98D969C0B75}" #usecom global IWdsTransportSetupManager IID_IWdsTransportSetupManager "{C7BEEAAD-9F04-4923-9F0C-FBF52BC7590F}" #comfunc global IWdsTransportSetupManager_get_Version 7 sptr #comfunc global IWdsTransportSetupManager_get_InstalledFeatures 8 sptr #comfunc global IWdsTransportSetupManager_get_Protocols 9 sptr #comfunc global IWdsTransportSetupManager_RegisterContentProvider 10 wstr,wstr,wstr,wstr #comfunc global IWdsTransportSetupManager_DeregisterContentProvider 11 wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。