Freigeben über


IWSDiscoveryPublisher::MatchResolve-Methode (wsddisco.h)

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

Syntax

HRESULT MatchResolve(
  [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
);

Parameter

[in] pResolveMessage

Zeiger auf eine WSD_SOAP_MESSAGE Struktur, die die an den ResolveHandler der Benachrichtigungssenke übergebene ResolveHandler-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äteendadresse 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 Aus Gründen der Kompatibilität mit der WS-Discovery-Spezifikation muss dieser Wert kleiner oder gleich UINT_MAX (4294967295) sein.
 

[in] ullInstanceId

Bezeichner für die aktuelle instance des geräts, das veröffentlicht wird. 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 Aus Gründen der 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 Aus Gründen der 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 typen darstellt, die vom Veröffentlichungshost unterstützt werden. Kann NULL sein. Wenn pTypesList angegeben ist, verwendet MatchResolve WS-Discovery übereinstimmende Logik, um zu überprüfen, ob die Typen den in pResolveMessage angegebenen Typen entsprechen.

[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 MatchResolve 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 eine Portnummer, die für die Verbindung von einem Remotehost verwendet werden kann. pXAddrsList und pXAddrsList-Element> sind möglicherweise nicht NULL.

Rückgabewert

Mögliche Rückgabewerte sind unter anderem:

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

Hinweise

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

MatchResolve sendet ResolveMatches-Nachrichten auf allen gebundenen Adaptern und gibt automatisch Nachrichtenneuübertragungen aus, wenn dies für WS-Discovery erforderlich ist.

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