Condividi tramite


Metodo IWSDiscoveryPublisher::MatchProbe (wsddisco.h)

Determina se un messaggio probe corrisponde all'host specificato e invia un messaggio probeMatches WS-Discovery se viene effettuata la corrispondenza.

Sintassi

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

Parametri

[in] pProbeMessage

Puntatore a una struttura di WSD_SOAP_MESSAGE che rappresenta il messaggio probe passato al probe del gestore probe del sink di notifica.

[in] pMessageParameters

Puntatore a un oggetto IWSDMessageParameters che rappresenta i parametri di trasmissione passati al ProbeHandler del sink di notifica.

[in] pszId

Indirizzo logico o fisico del dispositivo, usato come indirizzo dell'endpoint del dispositivo. Un indirizzo logico è nel formato urn:uuid:{guid}. Un indirizzo fisico può essere un URI preceduto da http o https o semplicemente un URI preceduto da uri. Quando possibile, usare un indirizzo logico.

[in] ullMetadataVersion

Versione dei metadati corrente.

Nota Per la compatibilità con la specifica WS-Discovery, questo valore deve essere minore o uguale a UINT_MAX (4294967295).
 

[in] ullInstanceId

Identificatore per l'istanza corrente del dispositivo da pubblicare. Questo identificatore deve essere incrementato ogni volta che il servizio viene riavviato. Per altre informazioni sugli identificatori di istanza, vedere Appendice I della specifica WS-Discovery.

Nota Per la compatibilità con la specifica WS-Discovery, questo valore deve essere minore o uguale a UINT_MAX (4294967295).
 

[in] ullMessageNumber

Contatore nell'ambito dell'identificatore di istanza per il messaggio corrente. Il numero di messaggio deve essere incrementato per ogni messaggio.

Nota Per la compatibilità con la specifica WS-Discovery, questo valore deve essere minore o uguale a UINT_MAX (4294967295).
 

[in, optional] pszSessionId

Identificatore univoco nell'ambito dell'identificatore di istanza per la sessione corrente. Questo parametro corrisponde all'identificatore di sequenza nel blocco AppSequence nel messaggio Probe. Per altre informazioni sugli identificatori di sequenza, vedere Appendice I della specifica WS-Discovery.

Questo parametro può essere NULL.

[in, optional] pTypesList

Puntatore a una struttura WSD_NAME_LIST che rappresenta l'elenco di tipi supportati dall'host di pubblicazione. Può essere NULL.

Se si specifica pTypesList , MatchProbe userà WS-Discovery logica corrispondente per verificare che i tipi nell'elenco corrispondano ai tipi specificati in pProbeMessage.

[in, optional] pScopesList

Puntatore a una struttura WSD_URI_LIST che rappresenta l'elenco di ambiti corrispondenti supportati dall'host di pubblicazione. L'elenco contiene valori hash in formato stringa. Può essere NULL.

Se si specifica pScopesList , MatchProbe userà WS-Discovery logica di corrispondenza per verificare che gli ambiti nell'elenco corrispondano agli ambiti specificati in pProbeMessage.

[in, optional] pXAddrsList

Puntatore a una struttura WSD_URI_LIST che rappresenta l'elenco di indirizzi di trasporto supportati dall'host di pubblicazione. Ogni stringa di indirizzo di trasporto contiene un indirizzo e un numero di porta che può essere usato per la connessione da un host remoto. Può essere NULL.

Valore restituito

I valori restituiti possibili includono, ma non sono limitati ai seguenti:

Codice restituito Descrizione
S_OK
Metodo completato correttamente.
E_INVALIDARG
Una o più delle condizioni seguenti sono vere:
  • pszId è NULL.
  • La lunghezza in caratteri di pszId supera WSD_MAX_TEXT_LENGTH (8192).
  • La lunghezza in caratteri di pszSessionId supera WSD_MAX_TEXT_LENGTH (8192).
  • pProbeMessage è NULL.
E_ABORT
L'autore non è stato avviato. Il collegamento di un sink di notifica avvia il server di pubblicazione. Per collegare un sink, chiamare RegisterNotificationSink.
E_OUTOFMEMORY
Memoria insufficiente per completare l'operazione.

Commenti

MatchProbe deve essere chiamato solo quando il server di pubblicazione di individuazione ha emesso un callback ProbeHandler . pProbeMessage e pMessageParameters vengono passati direttamente dal callback a MatchProbe. ProbeHandler passa anche le informazioni richieste dal server di pubblicazione per determinare se il messaggio probe fornito corrisponde e, in caso affermativo, per inviare una risposta ProbeMatches, se appropriato.

MatchProbe invia messaggi ProbeMatches in tutte le schede associate e rilascia automaticamente le ritrasmissioni dei messaggi quando richiesto da WS-Discovery.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wsddisco.h (include Wsdapi.h)
DLL Wsdapi.dll

Vedi anche

IWSDiscoveryPublisher