Funzione WsReadEnvelopeStart (webservices.h)

Legge le intestazioni del messaggio e prepararsi a leggere gli elementi del corpo. L'operazione legge l'inizio del messaggio successivo dal lettore, incluse le intestazioni del messaggio. Il processo consente la lettura di messaggi da altre origini rispetto ai canali. Per leggere un messaggio usando un canale, usare WsReadMessageStart.

Nota In caso di esito positivo, le intestazioni vengono archiviate nel messaggio e possono essere recuperate in modo casuale usando funzioni come WsGetHeader o WsGetCustomHeader.

 

Sintassi

HRESULT WsReadEnvelopeStart(
  [in]           WS_MESSAGE               *message,
  [in]           WS_XML_READER            *reader,
  [in, optional] WS_MESSAGE_DONE_CALLBACK doneCallback,
  [in, optional] void                     *doneCallbackState,
  [in, optional] WS_ERROR                 *error
);

Parametri

[in] message

Puntatore all'oggetto Message da leggere. Il puntatore deve fare riferimento a un oggetto WS_MESSAGE valido.

[in] reader

Puntatore al lettore con il messaggio da leggere. L'oggetto Message usa Reader nelle chiamate correnti e successive.

Nota Il chiamante della funzione deve mantenere il lettore valido fino a quando non viene chiamato WsResetMessage o WsFreeMessage.
Il parametro WS_MESSAGE_DONE_CALLBACK può essere usato un modo per sapere che l'WS_XML_READER non è più in uso.

 

[in, optional] doneCallback

Identifica la funzione di callback per avviare l'esito positivo dell'operazione corrente dopo che il messaggio è stato rilasciato.

 
Il callback può essere usato per individuare se l'istanza di WS_XML_READER è in uso da questo messaggio. Se l'operazione corrente ha esito negativo, il callback non viene chiamato.

[in, optional] doneCallbackState

Puntatore allo stato definito dall'utente che può essere passato al WS_MESSAGE_DONE_CALLBACK. Questo parametro può essere NULL se il callback non viene usato.

[in, optional] error

Puntatore a un oggetto WS_ERROR in cui devono essere archiviate informazioni aggiuntive sull'errore se la funzione ha esito negativo.

Valore restituito

Questa funzione può restituire uno di questi valori.

Codice restituito Descrizione
WS_E_INVALID_FORMAT
I dati di input non erano nel formato previsto o non hanno il valore previsto.
E_OUTOFMEMORY
Memoria insufficiente.
E_INVALIDARG
Uno o più argomenti non sono validi.
Altri errori
Questa funzione può restituire altri errori non elencati sopra.

Commenti

Il messaggio deve essere in stato WS_MESSAGE_STATE_EMPTY . In caso di esito positivo, lo stato del messaggio è impostato su WS_MESSAGE_STATE_READING.

Per leggere un elemento del corpo del messaggio, usare WsReadBody. Per leggere direttamente dal lettore XML ottenere il lettore con l'ID della proprietà message impostato su WS_MESSAGE_PROPERTY_BODY_READER.

Requisiti

   
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