Win32 API 日本語リファレンス
ホームDevices.WebServicesOnDevices › IWSDDeviceProxy

IWSDDeviceProxy

COM
IIDeee0c031-c578-4c0e-9a3b-973c35f409db継承元IUnknown自前メソッド開始 vtbl3

メソッド 10

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

vtbl 3 HRESULT Init(LPWSTR pszDeviceId, IWSDAddress* pDeviceAddress, LPWSTR pszLocalId, IWSDXMLContext* pContext, IWSDDeviceProxy* pSponsor)
pszDeviceIdLPWSTRin接続対象デバイスのエンドポイント識別子を指定する。
pDeviceAddressIWSDAddress*inデバイスのトランスポートアドレス IWSDAddress を指定する。
pszLocalIdLPWSTRinローカル側を識別する文字列を指定する。NULL 可。
pContextIWSDXMLContext*inoptionalXML 名前空間/型を保持する IWSDXMLContext を指定する。NULL 可。
pSponsorIWSDDeviceProxy*inoptionalリソース寿命を管理するスポンサーデバイスプロキシを指定する。NULL 可。
vtbl 4 HRESULT BeginGetMetadata(IWSDAsyncResult** ppResult)
ppResultIWSDAsyncResult**outメタデータ取得の非同期結果 IWSDAsyncResult を受け取る出力先である。
vtbl 5 HRESULT EndGetMetadata(IWSDAsyncResult* pResult)
pResultIWSDAsyncResult*inBeginGetMetadata で得た非同期結果を指定する。
vtbl 6 HRESULT GetHostMetadata(WSD_HOST_METADATA** ppHostMetadata)
ppHostMetadataWSD_HOST_METADATA**outデバイスのホストメタデータを受け取る出力先である。
vtbl 7 HRESULT GetThisModelMetadata(WSD_THIS_MODEL_METADATA** ppManufacturerMetadata)
ppManufacturerMetadataWSD_THIS_MODEL_METADATA**outメーカー/モデルを示す ThisModel メタデータを受け取る出力先である。
vtbl 8 HRESULT GetThisDeviceMetadata(WSD_THIS_DEVICE_METADATA** ppThisDeviceMetadata)
ppThisDeviceMetadataWSD_THIS_DEVICE_METADATA**out個体識別情報を示す ThisDevice メタデータを受け取る出力先である。
vtbl 9 HRESULT GetAllMetadata(WSD_METADATA_SECTION_LIST** ppMetadata)
ppMetadataWSD_METADATA_SECTION_LIST**out全メタデータセクション一覧を受け取る出力先である。
vtbl 10 HRESULT GetServiceProxyById(LPWSTR pszServiceId, IWSDServiceProxy** ppServiceProxy)
pszServiceIdLPWSTRin取得したいサービスの識別子を指定する。
ppServiceProxyIWSDServiceProxy**out該当サービスの IWSDServiceProxy を受け取る出力先である。
vtbl 11 HRESULT GetServiceProxyByType(WSDXML_NAME* pType, IWSDServiceProxy** ppServiceProxy)
pTypeWSDXML_NAME*in取得したいサービスのポート型名 WSDXML_NAME を指定する。
ppServiceProxyIWSDServiceProxy**out該当サービスの IWSDServiceProxy を受け取る出力先である。
vtbl 12 HRESULT GetEndpointProxy(IWSDEndpointProxy** ppProxy)
ppProxyIWSDEndpointProxy**outデバイスに対応する IWSDEndpointProxy を受け取る出力先である。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IWSDDeviceProxy "{EEE0C031-C578-4C0E-9A3B-973C35F409DB}"
#usecom global IWSDDeviceProxy IID_IWSDDeviceProxy "{}"
#comfunc global IWSDDeviceProxy_Init                   3 wstr,sptr,wstr,sptr,sptr
#comfunc global IWSDDeviceProxy_BeginGetMetadata       4 sptr
#comfunc global IWSDDeviceProxy_EndGetMetadata         5 sptr
#comfunc global IWSDDeviceProxy_GetHostMetadata        6 var
#comfunc global IWSDDeviceProxy_GetThisModelMetadata   7 var
#comfunc global IWSDDeviceProxy_GetThisDeviceMetadata  8 var
#comfunc global IWSDDeviceProxy_GetAllMetadata         9 var
#comfunc global IWSDDeviceProxy_GetServiceProxyById    10 wstr,sptr
#comfunc global IWSDDeviceProxy_GetServiceProxyByType  11 var,sptr
#comfunc global IWSDDeviceProxy_GetEndpointProxy       12 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。