Condividi tramite


Funzione WsCheckMustUnderstandHeaders (webservices.h)

Verifica che le intestazioni specificate siano state riconosciute dal ricevitore.

Nota Questa funzione deve essere chiamata dopo che tutte le intestazioni sono state lette per un messaggio ricevuto.

 

Sintassi

HRESULT WsCheckMustUnderstandHeaders(
  [in]           WS_MESSAGE *message,
  [in, optional] WS_ERROR   *error
);

Parametri

[in] message

Puntatore alla struttura WS_MESSAGE contenente le intestazioni da comprendere.

[in, optional] error

Puntatore a una struttura WS_ERROR in cui vengono archiviate informazioni aggiuntive sull'errore se la funzione ha esito negativo.

Valore restituito

Se la funzione ha esito positivo, restituisce NO_ERROR; in caso contrario, restituisce un codice di errore HRESULT.

Codice restituito Descrizione
WS_E_INVALID_OPERATION
Il messaggio non è nello stato corretto. Per altre informazioni, vedere la sezione Osservazioni.
WS_E_INVALID_FORMAT
La convalida non è riuscita oppure il messaggio non è stato formato correttamente.
E_INVALIDARG
Uno o più argomenti non sono validi.
E_OUTOFMEMORY
Memoria insufficiente per completare l'operazione.
Altri errori
Questa funzione può restituire altri errori non elencati in precedenza.

Commenti

Poiché il set di intestazioni è estendibile, è necessario determinare se un messaggio è stato sufficientemente compreso per essere elaborato. Pertanto, il mittente può usare questa funzione per indicare quali intestazioni devono essere comprese, quali intestazioni possono essere considerate facoltative o informative.

Le intestazioni di indirizzamento standard, ad esempio quelle definite in WS_HEADER_TYPE, vengono considerate automaticamente comprensibili, anche se non vengono mai lette chiamando WsGetHeader.

Si presuppone che vengano comprese anche intestazioni personalizzate definite dall'applicazione lette da WsGetCustomHeader . La chiamata a WsGetCustomHeader contrassegnerà automaticamente l'intestazione specifica come compresa.

Per qualsiasi altra intestazione elaborata dall'applicazione, l'applicazione deve contrassegnare in modo esplicito l'intestazione come compresa chiamando WsMarkHeaderAsUnderstood. In caso contrario, l'intestazione viene considerata non comprensibile.

Questa funzione deve essere chiamata dopo che tutte le intestazioni sono state lette per un messaggio ricevuto. Un'eccezione alla necessità di chiamare questa funzione è il caso di un intermediario che inoltra il messaggio a un altro nodo senza modificarne l'identità (ID messaggio), poiché il nodo finale eseguirà il controllo.

La funzione avrà esito negativo se una delle intestazioni specificate non è stata compresa. Se alla funzione viene fornito un oggetto di errore, verrà popolato con informazioni che possono essere usate per inviare un errore (vedere WsCreateFaultFromError).

Il messaggio deve essere nello stato WS_MESSAGE_STATE_READING.

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione webservices.h
Libreria WebServices.lib
DLL WebServices.dll