Freigeben über


IWSDiscoveryPublisher::MatchResolveEx-Methode (wsddisco.h)

Bestimmt, ob eine Resolve-Nachricht mit dem angegebenen Host übereinstimmt, und sendet eine WS-Discovery ResolveMatches-Nachricht mit erweiterten Informationen, wenn die Übereinstimmung erfolgt.

Syntax

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
);

Parameter

[in] pResolveMessage

Zeiger auf eine WSD_SOAP_MESSAGE Struktur, die die an den ResolveHandler der Benachrichtigungssenke übergebene Resolve-Nachricht darstellt.

[in] pMessageParameters

Zeiger auf ein IWSDMessageParameters-Objekt , das die Übertragungsparameter darstellt, die an den ResolveHandler der Benachrichtigungssenke übergeben werden.

[in] pszId

Die logische oder physische Adresse des Geräts, die als Geräteendpunktadresse verwendet wird. Eine logische Adresse hat das Format urn:uuid:{guid}. Eine physische Adresse kann ein URI mit dem Präfix "http" oder "https" oder einfach ein URI mit dem Präfix sein uri. Verwenden Sie nach Möglichkeit eine logische Adresse.

[in] ullMetadataVersion

Aktuelle Metadatenversion.

Hinweis Für die Kompatibilität mit der WS-Discovery-Spezifikation muss dieser Wert kleiner oder gleich UINT_MAX (4294967295) sein.
 

[in] ullInstanceId

Bezeichner für den aktuellen instance des zu veröffentlichenden Geräts. Dieser Bezeichner muss bei jedem Neustart des Diensts erhöht werden. Weitere Informationen zu instance Bezeichnern finden Sie in Anhang I der WS-Discovery-Spezifikation.

Hinweis Für die Kompatibilität mit der WS-Discovery-Spezifikation muss dieser Wert kleiner oder gleich UINT_MAX (4294967295) sein.
 

[in] ullMessageNumber

Leistungsindikator innerhalb des Bereichs des instance Bezeichners für die aktuelle Nachricht. Die Nachrichtennummer muss für jede Nachricht erhöht werden.

Hinweis Für die Kompatibilität mit der WS-Discovery-Spezifikation muss dieser Wert kleiner oder gleich UINT_MAX (4294967295) sein.
 

[in, optional] pszSessionId

Eindeutiger Bezeichner im Bereich des instance Bezeichners für die aktuelle Sitzung. Dieser Parameter entspricht dem Sequenzbezeichner im AppSequence-Block in der Testnachricht. Weitere Informationen zu Sequenzbezeichnern finden Sie in Anhang I der WS-Discovery-Spezifikation.

Dieser Parameter kann NULL sein.

[in, optional] pTypesList

Zeiger auf eine WSD_NAME_LIST-Struktur , die die Liste der vom Veröffentlichungshost unterstützten Typen darstellt. Kann NULL sein. Wenn pTypesList angegeben ist, verwendet MatchResolveEx WS-Discovery übereinstimmende Logik, um zu überprüfen, ob die Typen mit den in pResolveMessage angegebenen Typen übereinstimmen.

[in, optional] pScopesList

Zeiger auf eine WSD_URI_LIST-Struktur , die die Liste der übereinstimmenden Bereiche darstellt, die vom Veröffentlichungshost unterstützt werden. Die Liste enthält Hashwerte in Zeichenfolgenform. Kann NULL sein. Wenn pScopesList angegeben ist, verwendet MatchResolveEx WS-Discovery übereinstimmende Logik, um zu überprüfen, ob die Bereiche mit den in pResolveMessage angegebenen Bereichen übereinstimmen.

[in, optional] pXAddrsList

Zeiger auf eine WSD_URI_LIST-Struktur , die die Liste der vom Veröffentlichungshost unterstützten Transportadressen darstellt. Jede Transportadressenzeichenfolge enthält eine Adresse und portnummer, die für die Verbindung von einem Remotehost verwendet werden kann. pXAddrsList und pXAddrsList-Element> sind möglicherweise nicht NULL.

[in, optional] pHeaderAny

Zeiger auf eine WSDXML_ELEMENT-Struktur , die ein XML-Element enthält, das im Abschnitt "ANY" des Headers eingefügt werden soll.

[in, optional] pReferenceParameterAny

Zeiger auf eine WSDXML_ELEMENT-Struktur , die ein XML-Element enthält, das in den Abschnitt "ANY" der Verweisparametereigenschaften eingefügt werden soll.

[in, optional] pPolicyAny

Wird nicht verwendet.

[in, optional] pEndpointReferenceAny

Zeiger auf eine WSDXML_ELEMENT-Struktur , die ein XML-Element enthält, das im Abschnitt "ANY" des Endpunkts eingefügt werden soll.

[in, optional] pAny

Zeiger auf eine WSDXML_ELEMENT Struktur, die ein XML-Element enthält, das im Abschnitt "ANY" des Nachrichtentexts eingefügt werden soll.

Rückgabewert

Mögliche Rückgabewerte sind unter anderem folgendes:

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich abgeschlossen.
E_INVALIDARG
Mindestens eine der folgenden Bedingungen ist erfüllt:
  • pszId ist NULL.
  • Die Länge in Zeichen von pszId überschreitet WSD_MAX_TEXT_LENGTH (8192).
  • Die Länge in Zeichen von pszSessionId überschreitet WSD_MAX_TEXT_LENGTH (8192).
  • pProbeMessage ist NULL.
E_ABORT
Der Herausgeber wurde nicht gestartet. Das Anfügen einer Benachrichtigungssenke startet den Herausgeber. Um eine Senke anzufügen, rufen Sie RegisterNotificationSink auf.
E_OUTOFMEMORY
Unzureichender Arbeitsspeicher, um den Vorgang abzuschließen.

Hinweise

MatchResolveEx sollte nur vorhanden sein, wenn der Discoveryherausgeber einen ResolveHandler-Rückruf ausgestellt hat. pResolveMessage und pMessageParameters werden direkt vom Rückruf an MatchResolveEx übergeben. Der ResolveHandler übergibt auch Informationen, die vom Herausgeber benötigt werden, um zu ermitteln, ob die angegebene Resolve-Nachricht mit dem Problem übereinstimmt, und, falls ja, um ggf. eine ResolveMatches-Antwort auszugeben.

MatchResolveEx sendet ResolveMatches-Nachrichten auf allen gebundenen Adaptern und gibt automatisch Nachrichtenweiterübertragungen aus, wenn dies durch WS-Discovery erforderlich ist.

Die Parameter, die sich auf WSDXML_ELEMENT-Strukturen beziehen, können verwendet werden, um den Inhalt der gesendeten ResolveMatches-Nachricht mit benutzerdefinierten Informationen zu erweitern.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wsddisco.h (einschließen von Wsdapi.h)
DLL Wsdapi.dll

Weitere Informationen

IWSDiscoveryPublisher