Condividi tramite


Metodo IWSDiscoveryPublisher::MatchResolveEx (wsddisco.h)

Determina se un messaggio Resolve corrisponde all'host specificato e invia un messaggio WS-Discovery ResolveMatches con informazioni estese se viene effettuata la corrispondenza.

Sintassi

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

Parametri

[in] pResolveMessage

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

[in] pMessageParameters

Puntatore a un oggetto IWSDMessageParameters che rappresenta i parametri di trasmissione passati al ResolveHandler 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 corrente dei metadati.

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 , MatchResolveEx userà WS-Discovery logica corrispondente per verificare che i tipi corrispondano a quelli specificati in pResolveMessage.

[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 , MatchResolveEx userà WS-Discovery logica corrispondente per verificare che gli ambiti corrispondano a quelli specificati in pResolveMessage.

[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. pXAddrsList e pXAddrsList-Element> potrebbero non essere NULL.

[in, optional] pHeaderAny

Puntatore a una struttura WSDXML_ELEMENT che contiene un elemento XML da inserire nella sezione "ANY" dell'intestazione.

[in, optional] pReferenceParameterAny

Puntatore a una struttura WSDXML_ELEMENT che contiene un elemento XML da inserire nella sezione "ANY" delle proprietà del parametro di riferimento.

[in, optional] pPolicyAny

Non usato.

[in, optional] pEndpointReferenceAny

Puntatore a una struttura WSDXML_ELEMENT che contiene un elemento XML da inserire nella sezione "ANY" dell'endpoint.

[in, optional] pAny

Puntatore a una struttura WSDXML_ELEMENT che contiene un elemento XML da inserire nella sezione "ANY" del corpo del messaggio.

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

MatchResolveEx deve essere solo quando il server di pubblicazione di individuazione ha emesso un callback ResolveHandler . pResolveMessage e pMessageParameters vengono passati direttamente dal callback in MatchResolveEx. ResolveHandler passa anche le informazioni richieste dal server di pubblicazione per determinare se il messaggio Resolve corrisponde e, in caso affermativo, per inviare una risposta ResolveMatches, se appropriato.

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

I parametri che fanno riferimento a WSDXML_ELEMENT strutture possono essere usati per estendere il contenuto del messaggio ResolveMatches inviato con informazioni personalizzate.

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