IWSDiscoveryPublisher::MatchProbeEx 方法 (wsddisco.h)
确定 探测 消息是否与指定的主机匹配,并在匹配时发送包含扩展信息的 WS-Discovery ProbeMatches 消息。
语法
HRESULT MatchProbeEx(
[in] const WSD_SOAP_MESSAGE *pProbeMessage,
[in] IWSDMessageParameters *pMessageParameters,
[in] LPCWSTR pszId,
[in] ULONGLONG ullMetadataVersion,
[in] ULONGLONG ullInstanceId,
[in] ULONGLONG ullMessageNumber,
[in, optional] LPCWSTR pszSessionId,
[in, optional] const WSD_NAME_LIST *pTypesList,
[in, optional] const WSD_URI_LIST *pScopesList,
[in, optional] const WSD_URI_LIST *pXAddrsList,
[in, optional] const WSDXML_ELEMENT *pHeaderAny,
[in, optional] const WSDXML_ELEMENT *pReferenceParameterAny,
[in, optional] const WSDXML_ELEMENT *pPolicyAny,
[in, optional] const WSDXML_ELEMENT *pEndpointReferenceAny,
[in, optional] const WSDXML_ELEMENT *pAny
);
参数
[in] pProbeMessage
指向 WSD_SOAP_MESSAGE 结构的指针,该结构表示传递到通知接收器的 ProbeHandler 的探测消息。
[in] pMessageParameters
指向 IWSDMessageParameters 对象的指针,该对象表示传入通知接收器的 ProbeHandler 的传输参数。
[in] pszId
设备的逻辑或物理地址,用作设备终结点地址。 逻辑地址的格式 urn:uuid:{guid}
为 。 物理地址可以是以 http 或 https 为前缀的 URI,也可以是前缀为 的 uri
URI。 尽可能使用逻辑地址。
[in] ullMetadataVersion
当前元数据版本。
[in] ullInstanceId
要发布的设备的当前实例的标识符。 每当重新启动服务时,都必须递增此标识符。 有关实例标识符的详细信息,请参阅 WS-Discovery 规范的附录 I。
[in] ullMessageNumber
当前消息的实例标识符范围内的计数器。 必须针对每条消息递增消息编号。
[in, optional] pszSessionId
当前会话的实例标识符范围内的唯一标识符。 此参数对应于探测消息中 AppSequence 块中的序列标识符。 有关序列标识符的详细信息,请参阅 WS-Discovery 规范的附录 I。
此参数可以为 NULL。
[in, optional] pTypesList
指向 WSD_NAME_LIST 结构的指针,该结构表示发布主机支持的类型列表。 可以为 NULL。
如果指定了 pTypesList,MatchProbe 将使用 WS-Discovery 匹配逻辑来验证列表中的类型是否与 pProbeMessage 中指定的类型匹配。
[in, optional] pScopesList
指向 WSD_URI_LIST 结构的指针,该结构表示发布主机支持的匹配范围的列表。 该列表包含字符串形式的哈希值。 可以为 NULL。
如果指定了 pScopesList,MatchProbe 将使用 WS-Discovery 匹配逻辑来验证列表中的范围是否与 pProbeMessage 中指定的作用域匹配。
[in, optional] pXAddrsList
指向 WSD_URI_LIST 结构的指针,该结构表示发布主机支持的传输地址列表。 每个传输地址字符串都包含可用于远程主机连接的地址和端口号。 可以为 NULL。
[in, optional] pHeaderAny
指向 WSDXML_ELEMENT 结构的指针,该结构包含要插入到标头的“ANY”节中的 XML 元素。
[in, optional] pReferenceParameterAny
指向 WSDXML_ELEMENT 结构的指针,该结构包含要插入到引用参数属性的“ANY”节中的 XML 元素。
[in, optional] pPolicyAny
未使用。
[in, optional] pEndpointReferenceAny
指向 WSDXML_ELEMENT 结构的指针,该结构包含要插入到终结点的“ANY”节中的 XML 元素。
[in, optional] pAny
指向 WSDXML_ELEMENT 结构的指针,该结构包含要插入到消息正文的“ANY”节中的 XML 元素。
返回值
可能的返回值包括但不限于以下值:
返回代码 | 说明 |
---|---|
|
该方法已成功完成。 |
|
以下一个或多个条件为 true:
|
|
发布服务器尚未启动。 附加通知接收器将启动发布服务器。 若要附加接收器,请调用 RegisterNotificationSink。 |
|
内存不足,无法完成操作。 |
注解
仅当发现发布者发出 ProbeHandler 回调时,才应调用 MatchProbeEx。 pProbeMessage 和 pMessageParameters 直接从回调传递到 MatchProbeEx。 ProbeHandler 还会传递发布者所需的信息,以确定提供的探测消息是否匹配,如果匹配,则发送 ProbeMatches 响应(如果适用)。
MatchProbeEx 在所有绑定适配器上发送 ProbeMatches 消息,并在 WS-Discovery 需要时自动发出消息重新传输。
引用 WSDXML_ELEMENT 结构的参数可用于扩展随自定义信息一起发送的 ProbeMatches 消息的内容。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | wsddisco.h (包括 Wsdapi.h) |
DLL | Wsdapi.dll |