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

IWSDiscoveryPublisher

COM
IIDae01e1a8-3ff9-4148-8116-057cc616fe13継承元IUnknown自前メソッド開始 vtbl3

メソッド 13

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

vtbl 3 HRESULT SetAddressFamily(DWORD dwAddressFamily)
dwAddressFamilyDWORDin公開に使うアドレスファミリ(IPv4/IPv6 等)を指定する。
vtbl 4 HRESULT RegisterNotificationSink(IWSDiscoveryPublisherNotify* pSink)
pSinkIWSDiscoveryPublisherNotify*inProbe/Resolve 受信通知を受け取るシンクを登録する。
vtbl 5 HRESULT UnRegisterNotificationSink(IWSDiscoveryPublisherNotify* pSink)
pSinkIWSDiscoveryPublisherNotify*in登録解除する通知シンクを指定する。
vtbl 6 HRESULT Publish(LPWSTR pszId, ULONGLONG ullMetadataVersion, ULONGLONG ullInstanceId, ULONGLONG ullMessageNumber, LPWSTR pszSessionId, WSD_NAME_LIST* pTypesList, WSD_URI_LIST* pScopesList, WSD_URI_LIST* pXAddrsList)
pszIdLPWSTRin公開するサービスのエンドポイント識別子を指定する。
ullMetadataVersionULONGLONGin公開サービスのメタデータバージョンを指定する。
ullInstanceIdULONGLONGinサービスインスタンス識別子を指定する。
ullMessageNumberULONGLONGinアプリ内シーケンスのメッセージ番号を指定する。
pszSessionIdLPWSTRinoptionalメッセージ順序付けに使うセッション ID を指定する。NULL 可。
pTypesListWSD_NAME_LIST*inoptional公開するサービス型の名前リストを指定する。NULL 可。
pScopesListWSD_URI_LIST*inoptional公開するスコープ URI リストを指定する。NULL 可。
pXAddrsListWSD_URI_LIST*inoptional公開するトランスポートアドレス URI リストを指定する。NULL 可。
vtbl 7 HRESULT UnPublish(LPWSTR pszId, ULONGLONG ullInstanceId, ULONGLONG ullMessageNumber, LPWSTR pszSessionId, WSDXML_ELEMENT* pAny)
pszIdLPWSTRin公開取消するサービスのエンドポイント識別子を指定する。
ullInstanceIdULONGLONGinサービスインスタンス識別子を指定する。
ullMessageNumberULONGLONGinメッセージ番号を指定する。
pszSessionIdLPWSTRinoptionalセッション ID を指定する。NULL 可。
pAnyWSDXML_ELEMENT*inoptionalBye メッセージに追加するカスタム XML 要素を指定する。NULL 可。
vtbl 8 HRESULT MatchProbe(WSD_SOAP_MESSAGE* pProbeMessage, IWSDMessageParameters* pMessageParameters, LPWSTR pszId, ULONGLONG ullMetadataVersion, ULONGLONG ullInstanceId, ULONGLONG ullMessageNumber, LPWSTR pszSessionId, WSD_NAME_LIST* pTypesList, WSD_URI_LIST* pScopesList, WSD_URI_LIST* pXAddrsList)
pProbeMessageWSD_SOAP_MESSAGE*in照合対象となる受信 Probe SOAP メッセージを指定する。
pMessageParametersIWSDMessageParameters*in応答送信に使うメッセージパラメータを指定する。
pszIdLPWSTRin応答するサービスのエンドポイント識別子を指定する。
ullMetadataVersionULONGLONGinサービスメタデータバージョンを指定する。
ullInstanceIdULONGLONGinサービスインスタンス識別子を指定する。
ullMessageNumberULONGLONGinメッセージ番号を指定する。
pszSessionIdLPWSTRinoptionalセッション ID を指定する。NULL 可。
pTypesListWSD_NAME_LIST*inoptional応答に含めるサービス型の名前リストを指定する。NULL 可。
pScopesListWSD_URI_LIST*inoptional応答に含めるスコープ URI リストを指定する。NULL 可。
pXAddrsListWSD_URI_LIST*inoptional応答に含めるトランスポートアドレス URI リストを指定する。NULL 可。
vtbl 9 HRESULT MatchResolve(WSD_SOAP_MESSAGE* pResolveMessage, IWSDMessageParameters* pMessageParameters, LPWSTR pszId, ULONGLONG ullMetadataVersion, ULONGLONG ullInstanceId, ULONGLONG ullMessageNumber, LPWSTR pszSessionId, WSD_NAME_LIST* pTypesList, WSD_URI_LIST* pScopesList, WSD_URI_LIST* pXAddrsList)
pResolveMessageWSD_SOAP_MESSAGE*in照合対象となる受信 Resolve SOAP メッセージを指定する。
pMessageParametersIWSDMessageParameters*in応答送信に使うメッセージパラメータを指定する。
pszIdLPWSTRin応答するサービスのエンドポイント識別子を指定する。
ullMetadataVersionULONGLONGinサービスメタデータバージョンを指定する。
ullInstanceIdULONGLONGinサービスインスタンス識別子を指定する。
ullMessageNumberULONGLONGinメッセージ番号を指定する。
pszSessionIdLPWSTRinoptionalセッション ID を指定する。NULL 可。
pTypesListWSD_NAME_LIST*inoptional応答に含めるサービス型の名前リストを指定する。NULL 可。
pScopesListWSD_URI_LIST*inoptional応答に含めるスコープ URI リストを指定する。NULL 可。
pXAddrsListWSD_URI_LIST*inoptional応答に含めるトランスポートアドレス URI リストを指定する。NULL 可。
vtbl 10 HRESULT PublishEx(LPWSTR pszId, ULONGLONG ullMetadataVersion, ULONGLONG ullInstanceId, ULONGLONG ullMessageNumber, LPWSTR pszSessionId, WSD_NAME_LIST* pTypesList, WSD_URI_LIST* pScopesList, WSD_URI_LIST* pXAddrsList, WSDXML_ELEMENT* pHeaderAny, WSDXML_ELEMENT* pReferenceParameterAny, WSDXML_ELEMENT* pPolicyAny, WSDXML_ELEMENT* pEndpointReferenceAny, WSDXML_ELEMENT* pAny)
pszIdLPWSTRin公開するサービスのエンドポイント識別子を指定する。
ullMetadataVersionULONGLONGin公開サービスのメタデータバージョンを指定する。
ullInstanceIdULONGLONGinサービスインスタンス識別子を指定する。
ullMessageNumberULONGLONGinメッセージ番号を指定する。
pszSessionIdLPWSTRinoptionalセッション ID を指定する。NULL 可。
pTypesListWSD_NAME_LIST*inoptional公開するサービス型の名前リストを指定する。NULL 可。
pScopesListWSD_URI_LIST*inoptional公開するスコープ URI リストを指定する。NULL 可。
pXAddrsListWSD_URI_LIST*inoptional公開するトランスポートアドレス URI リストを指定する。NULL 可。
pHeaderAnyWSDXML_ELEMENT*inoptionalHello メッセージのヘッダーに追加するカスタム XML である。NULL 可。
pReferenceParameterAnyWSDXML_ELEMENT*inoptionalエンドポイント参照パラメータのカスタム XML である。NULL 可。
pPolicyAnyWSDXML_ELEMENT*inoptionalポリシー要素のカスタム XML である。NULL 可。
pEndpointReferenceAnyWSDXML_ELEMENT*inoptionalエンドポイント参照に追加するカスタム XML である。NULL 可。
pAnyWSDXML_ELEMENT*inoptionalメッセージ本体に追加するカスタム XML 要素である。NULL 可。
vtbl 11 HRESULT MatchProbeEx(WSD_SOAP_MESSAGE* pProbeMessage, IWSDMessageParameters* pMessageParameters, LPWSTR pszId, ULONGLONG ullMetadataVersion, ULONGLONG ullInstanceId, ULONGLONG ullMessageNumber, LPWSTR pszSessionId, WSD_NAME_LIST* pTypesList, WSD_URI_LIST* pScopesList, WSD_URI_LIST* pXAddrsList, WSDXML_ELEMENT* pHeaderAny, WSDXML_ELEMENT* pReferenceParameterAny, WSDXML_ELEMENT* pPolicyAny, WSDXML_ELEMENT* pEndpointReferenceAny, WSDXML_ELEMENT* pAny)
pProbeMessageWSD_SOAP_MESSAGE*in照合対象となる受信 Probe SOAP メッセージを指定する。
pMessageParametersIWSDMessageParameters*in応答送信に使うメッセージパラメータを指定する。
pszIdLPWSTRin応答するサービスのエンドポイント識別子を指定する。
ullMetadataVersionULONGLONGinサービスメタデータバージョンを指定する。
ullInstanceIdULONGLONGinサービスインスタンス識別子を指定する。
ullMessageNumberULONGLONGinメッセージ番号を指定する。
pszSessionIdLPWSTRinoptionalセッション ID を指定する。NULL 可。
pTypesListWSD_NAME_LIST*inoptional応答に含めるサービス型の名前リストを指定する。NULL 可。
pScopesListWSD_URI_LIST*inoptional応答に含めるスコープ URI リストを指定する。NULL 可。
pXAddrsListWSD_URI_LIST*inoptional応答に含めるトランスポートアドレス URI リストを指定する。NULL 可。
pHeaderAnyWSDXML_ELEMENT*inoptionalProbeMatch ヘッダーに追加するカスタム XML である。NULL 可。
pReferenceParameterAnyWSDXML_ELEMENT*inoptionalエンドポイント参照パラメータのカスタム XML である。NULL 可。
pPolicyAnyWSDXML_ELEMENT*inoptionalポリシー要素のカスタム XML である。NULL 可。
pEndpointReferenceAnyWSDXML_ELEMENT*inoptionalエンドポイント参照に追加するカスタム XML である。NULL 可。
pAnyWSDXML_ELEMENT*inoptionalメッセージ本体に追加するカスタム XML 要素である。NULL 可。
vtbl 12 HRESULT MatchResolveEx(WSD_SOAP_MESSAGE* pResolveMessage, IWSDMessageParameters* pMessageParameters, LPWSTR pszId, ULONGLONG ullMetadataVersion, ULONGLONG ullInstanceId, ULONGLONG ullMessageNumber, LPWSTR pszSessionId, WSD_NAME_LIST* pTypesList, WSD_URI_LIST* pScopesList, WSD_URI_LIST* pXAddrsList, WSDXML_ELEMENT* pHeaderAny, WSDXML_ELEMENT* pReferenceParameterAny, WSDXML_ELEMENT* pPolicyAny, WSDXML_ELEMENT* pEndpointReferenceAny, WSDXML_ELEMENT* pAny)
pResolveMessageWSD_SOAP_MESSAGE*in照合対象となる受信 Resolve SOAP メッセージを指定する。
pMessageParametersIWSDMessageParameters*in応答送信に使うメッセージパラメータを指定する。
pszIdLPWSTRin応答するサービスのエンドポイント識別子を指定する。
ullMetadataVersionULONGLONGinサービスメタデータバージョンを指定する。
ullInstanceIdULONGLONGinサービスインスタンス識別子を指定する。
ullMessageNumberULONGLONGinメッセージ番号を指定する。
pszSessionIdLPWSTRinoptionalセッション ID を指定する。NULL 可。
pTypesListWSD_NAME_LIST*inoptional応答に含めるサービス型の名前リストを指定する。NULL 可。
pScopesListWSD_URI_LIST*inoptional応答に含めるスコープ URI リストを指定する。NULL 可。
pXAddrsListWSD_URI_LIST*inoptional応答に含めるトランスポートアドレス URI リストを指定する。NULL 可。
pHeaderAnyWSDXML_ELEMENT*inoptionalResolveMatch ヘッダーに追加するカスタム XML である。NULL 可。
pReferenceParameterAnyWSDXML_ELEMENT*inoptionalエンドポイント参照パラメータのカスタム XML である。NULL 可。
pPolicyAnyWSDXML_ELEMENT*inoptionalポリシー要素のカスタム XML である。NULL 可。
pEndpointReferenceAnyWSDXML_ELEMENT*inoptionalエンドポイント参照に追加するカスタム XML である。NULL 可。
pAnyWSDXML_ELEMENT*inoptionalメッセージ本体に追加するカスタム XML 要素である。NULL 可。
vtbl 13 HRESULT RegisterScopeMatchingRule(IWSDScopeMatchingRule* pScopeMatchingRule)
pScopeMatchingRuleIWSDScopeMatchingRule*inカスタムスコープ照合規則を実装した IWSDScopeMatchingRule を登録する。
vtbl 14 HRESULT UnRegisterScopeMatchingRule(IWSDScopeMatchingRule* pScopeMatchingRule)
pScopeMatchingRuleIWSDScopeMatchingRule*in登録解除するスコープ照合規則を指定する。
vtbl 15 HRESULT GetXMLContext(IWSDXMLContext** ppContext)
ppContextIWSDXMLContext**outパブリッシャが使用する IWSDXMLContext を受け取る出力先である。

HSP用 COM定義

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

出力引数:
#define global IID_IWSDiscoveryPublisher "{AE01E1A8-3FF9-4148-8116-057CC616FE13}"
#usecom global IWSDiscoveryPublisher IID_IWSDiscoveryPublisher "{}"
#comfunc global IWSDiscoveryPublisher_SetAddressFamily             3 int
#comfunc global IWSDiscoveryPublisher_RegisterNotificationSink     4 sptr
#comfunc global IWSDiscoveryPublisher_UnRegisterNotificationSink   5 sptr
#comfunc global IWSDiscoveryPublisher_Publish                      6 wstr,int64,int64,int64,wstr,var,var,var
#comfunc global IWSDiscoveryPublisher_UnPublish                    7 wstr,int64,int64,wstr,var
#comfunc global IWSDiscoveryPublisher_MatchProbe                   8 var,sptr,wstr,int64,int64,int64,wstr,var,var,var
#comfunc global IWSDiscoveryPublisher_MatchResolve                 9 var,sptr,wstr,int64,int64,int64,wstr,var,var,var
#comfunc global IWSDiscoveryPublisher_PublishEx                    10 wstr,int64,int64,int64,wstr,var,var,var,var,var,var,var,var
#comfunc global IWSDiscoveryPublisher_MatchProbeEx                 11 var,sptr,wstr,int64,int64,int64,wstr,var,var,var,var,var,var,var,var
#comfunc global IWSDiscoveryPublisher_MatchResolveEx               12 var,sptr,wstr,int64,int64,int64,wstr,var,var,var,var,var,var,var,var
#comfunc global IWSDiscoveryPublisher_RegisterScopeMatchingRule    13 sptr
#comfunc global IWSDiscoveryPublisher_UnRegisterScopeMatchingRule  14 sptr
#comfunc global IWSDiscoveryPublisher_GetXMLContext                15 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。