Freigeben über


IWSDiscoveryPublisher::MatchProbe-Methode (wsddisco.h)

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

Syntax

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

Parameter

[in] pProbeMessage

Zeiger auf eine WSD_SOAP_MESSAGE-Struktur , die die Testnachricht darstellt, die an den ProbeHandler der Benachrichtigungssenke übergeben wird.

[in] pMessageParameters

Zeiger auf ein IWSDMessageParameters-Objekt , das die Übertragungsparameter darstellt, die an den ProbeHandler 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

Die 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 MatchProbe WS-Discovery übereinstimmende Logik, um zu überprüfen, ob die Typen in der Liste mit den in pProbeMessage 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 MatchProbe WS-Discovery übereinstimmende Logik, um zu überprüfen, ob die Bereiche in der Liste mit den in pProbeMessage 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. Kann NULL sein.

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

MatchProbe sollte nur aufgerufen werden, wenn der Discoveryherausgeber einen ProbeHandler-Rückruf ausgestellt hat. pProbeMessage und pMessageParameters werden direkt vom Rückruf an MatchProbe übergeben. Der ProbeHandler übergibt auch Informationen, die vom Herausgeber benötigt werden, um zu ermitteln, ob die angegebene Testnachricht übereinstimmt, und, falls ja, um ggf. eine ProbeMatches-Antwort auszugeben.

MatchProbe sendet ProbeMatches-Nachrichten auf allen gebundenen Adaptern und gibt automatisch Nachrichtenweiterübertragungen aus, wenn dies von 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