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

IWSDiscoveredService

COM
IID4bad8a3b-b374-4420-9632-aac945b374aa継承元IUnknown自前メソッド開始 vtbl3

メソッド 11

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

vtbl 3 HRESULT GetEndpointReference(WSD_ENDPOINT_REFERENCE** ppEndpointReference)
ppEndpointReferenceWSD_ENDPOINT_REFERENCE**out発見サービスのエンドポイント参照を受け取る出力先である。
vtbl 4 HRESULT GetTypes(WSD_NAME_LIST** ppTypesList)
ppTypesListWSD_NAME_LIST**outサービスがサポートする型の名前リストを受け取る出力先である。
vtbl 5 HRESULT GetScopes(WSD_URI_LIST** ppScopesList)
ppScopesListWSD_URI_LIST**outサービスが属するスコープ URI リストを受け取る出力先である。
vtbl 6 HRESULT GetXAddrs(WSD_URI_LIST** ppXAddrsList)
ppXAddrsListWSD_URI_LIST**outサービスのトランスポートアドレス URI リストを受け取る出力先である。
vtbl 7 HRESULT GetMetadataVersion(ULONGLONG* pullMetadataVersion)
pullMetadataVersionULONGLONG*outサービスメタデータのバージョン番号を受け取る出力先である。
vtbl 8 HRESULT GetExtendedDiscoXML(WSDXML_ELEMENT** ppHeaderAny, WSDXML_ELEMENT** ppBodyAny)
ppHeaderAnyWSDXML_ELEMENT**out拡張探索メッセージのヘッダー XML 要素を受け取る出力先である。
ppBodyAnyWSDXML_ELEMENT**out拡張探索メッセージのボディ XML 要素を受け取る出力先である。
vtbl 9 HRESULT GetProbeResolveTag(LPWSTR* ppszTag)
ppszTagLPWSTR*out対応する Probe/Resolve 検索のタグ文字列を受け取る出力先である。
vtbl 10 HRESULT GetRemoteTransportAddress(LPWSTR* ppszRemoteTransportAddress)
ppszRemoteTransportAddressLPWSTR*outサービス送信元のリモートトランスポートアドレスを受け取る出力先である。
vtbl 11 HRESULT GetLocalTransportAddress(LPWSTR* ppszLocalTransportAddress)
ppszLocalTransportAddressLPWSTR*outメッセージを受信したローカルトランスポートアドレスを受け取る出力先である。
vtbl 12 HRESULT GetLocalInterfaceGUID(GUID* pGuid)
pGuidGUID*outメッセージを受信したローカルネットワークインターフェイスの GUID を受け取る出力先である。
vtbl 13 HRESULT GetInstanceId(ULONGLONG* pullInstanceId)
pullInstanceIdULONGLONG*outサービスのインスタンス識別子を受け取る出力先である。

HSP用 COM定義

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

出力引数:
#define global IID_IWSDiscoveredService "{4BAD8A3B-B374-4420-9632-AAC945B374AA}"
#usecom global IWSDiscoveredService IID_IWSDiscoveredService "{}"
#comfunc global IWSDiscoveredService_GetEndpointReference       3 var
#comfunc global IWSDiscoveredService_GetTypes                   4 var
#comfunc global IWSDiscoveredService_GetScopes                  5 var
#comfunc global IWSDiscoveredService_GetXAddrs                  6 var
#comfunc global IWSDiscoveredService_GetMetadataVersion         7 var
#comfunc global IWSDiscoveredService_GetExtendedDiscoXML        8 var,var
#comfunc global IWSDiscoveredService_GetProbeResolveTag         9 var
#comfunc global IWSDiscoveredService_GetRemoteTransportAddress  10 var
#comfunc global IWSDiscoveredService_GetLocalTransportAddress   11 var
#comfunc global IWSDiscoveredService_GetLocalInterfaceGUID      12 var
#comfunc global IWSDiscoveredService_GetInstanceId              13 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。