Funzione WsWriteEnvelopeStart (webservices.h)

Scrive l'inizio del messaggio, incluso il set corrente di intestazioni del messaggio e prepara a scrivere gli elementi del corpo.

Questa funzione è progettata per la scrittura di messaggi in destinazioni diverse dai canali. Per scrivere un messaggio in un canale, usare WsWriteMessageStart.

Sintassi

HRESULT WsWriteEnvelopeStart(
  [in]           WS_MESSAGE               *message,
  [in]           WS_XML_WRITER            *writer,
  [in, optional] WS_MESSAGE_DONE_CALLBACK doneCallback,
  [in, optional] void                     *doneCallbackState,
  [in, optional] WS_ERROR                 *error
);

Parametri

[in] message

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

[in] writer

Puntatore all'oggetto Writer XML per scrivere il messaggio. L'oggetto Message utilizza writer nelle chiamate successive per scrivere il messaggio. Il chiamante deve mantenere valido il writer finché non viene chiamato WsResetMessage o WsFreeMessage .

Il parametro WS_MESSAGE_DONE_CALLBACK può essere usato per determinare che il WS_XML_WRITER non è più in uso.

[in, optional] doneCallback

La funzione di callback richiamata quando il messaggio viene rilasciato o reimpostato. Questo callback può essere utilizzato per indicare che l'oggetto WS_XML_WRITER non è più in uso da questo messaggio. Se questa funzione non riesce, il callback non viene chiamato. Se la funzione ha esito positivo, il callback viene richiamato una sola volta.

[in, optional] doneCallbackState

Puntatore void a uno stato definito dall'utente che verrà passato al callback specificato. Questo parametro può essere NULL.

[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 in precedenza.

Commenti

L'inizio del messaggio, incluso il set corrente di intestazioni presenti nel messaggio, viene scritto nel writer.

Lo stato del messaggio deve essere impostato su WS_MESSAGE_STATE_INITIALIZED. In caso di esito positivo, lo stato del messaggio passa a WS_MESSAGE_STATE_WRITING.
In caso di transizione dello stato di errore non si verifica.

Per scrivere un elemento del corpo del messaggio, utilizzare WsWriteBody. Per scrivere direttamente nel writer del messaggio, ottenere il lettore con il WS_MESSAGE_PROPERTY_ID impostato su WS_MESSAGE_PROPERTY_BODY_WRITER proprietà.

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