IWSDiscoveryPublisher::MatchResolveEx 方法 (wsddisco.h)
判斷 Resolve 訊息是否符合指定的主機,並在進行比對時傳送具有擴充資訊的 WS-Discovery ResolveMatches 訊息。
語法
HRESULT MatchResolveEx(
[in] const WSD_SOAP_MESSAGE *pResolveMessage,
[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] pResolveMessage
WSD_SOAP_MESSAGE 結構的指標,表示傳入通知接收之 ResolveHandler 的 Resolve 訊息。
[in] pMessageParameters
IWSDMessageParameters 物件的指標,代表傳入通知接收的 ResolveHandler 傳輸參數。
[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,MatchResolveEx 將會使用 WS-Discovery 比對邏輯來確認類型符合 pResolveMessage 中指定的類型。
[in, optional] pScopesList
WSD_URI_LIST 結構的指標,代表發佈主機所支援之相符範圍的清單。 此清單包含字串格式的哈希值。 可能是 NULL。 如果指定 pScopesList,MatchResolveEx 將會使用 WS-Discovery 比對邏輯來確認範圍符合 pResolveMessage 中指定的範圍。
[in, optional] pXAddrsList
WSD_URI_LIST 結構的指標,代表發佈主機支援的傳輸位址清單。 每個傳輸位址字串都包含位址和埠號碼,可用於遠端主機的連線。 pXAddrsList 和 pXAddrsList-Element> 可能不是 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 專案。
傳回值
可能的傳回值包括,但不限於下列各項:
傳回碼 | 描述 |
---|---|
|
已成功完成命令。 |
|
下列一或多個條件成立:
|
|
發行者尚未啟動。 附加通知接收會啟動發行者。 若要附加接收,請呼叫 RegisterNotificationSink。 |
|
記憶體不足,無法完成作業。 |
備註
MatchResolveEx 應該只有在探索發行者發出 ResolveHandler 回呼時。 pResolveMessage 和 pMessageParameters 會直接從回呼傳遞至 MatchResolveEx。 ResolveHandler 也會傳遞發行者所需的資訊,以判斷提供的 Resolve 訊息是否符合,如果是的話,則發出 ResolveMatches 回應。
MatchResolveEx 會在所有系結配接器上傳送 ResolveMatches 訊息,並在 WS-Discovery 需要時自動發出訊息重新傳輸。
參考 WSDXML_ELEMENT 結構的參數可用來擴充使用自定義資訊傳送的 ResolveMatches 訊息內容。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wsddisco.h (包含 Wsdapi.h) |
Dll | Wsdapi.dll |