Freigeben über


WsReadEnvelopeStart-Funktion (webservices.h)

Liest die Header der Nachricht und bereitet das Lesen der Textelemente vor. Der Vorgang liest den Start der nächsten Nachricht vom Reader, einschließlich der Kopfzeilen der Nachricht. Der Prozess ermöglicht das Lesen von Nachrichten aus anderen Quellen als Kanälen. Verwenden Sie WsReadMessageStart, um eine Nachricht mit einem Kanal zu lesen.

Hinweis Bei Erfolg werden die Header in der Nachricht gespeichert und können nach dem Zufallsprinzip mithilfe von Funktionen wie WsGetHeader oder WsGetCustomHeader abgerufen werden.

 

Syntax

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

Parameter

[in] message

Ein Zeiger auf das zu lesende Message-Objekt . Der Zeiger muss auf ein gültiges WS_MESSAGE-Objekt verweisen.

[in] reader

Ein Zeiger auf den Reader mit der zu lesenden Nachricht. Das Message-Objekt verwendet den Reader in den aktuellen und nachfolgenden Aufrufen.

Hinweis Der Funktionsaufrufer muss den Reader solange gültig halten, bis WsResetMessage oder WsFreeMessage aufgerufen wird.
Der WS_MESSAGE_DONE_CALLBACK-Parameter kann verwendet werden, um festzustellen, dass der WS_XML_READER nicht mehr verwendet wird.

 

[in, optional] doneCallback

Gibt die Rückruffunktion an, die nach erfolgreicher Ausführung des aktuellen Vorgangs initiiert werden soll, nachdem die Nachricht veröffentlicht wurde.

Hinweis Nachrichten werden mithilfe von WsFreeMessage oder WsResetMessage veröffentlicht.

 
Mit dem Rückruf kann ermittelt werden, ob die WS_XML_READER instance von dieser Nachricht verwendet wird. Wenn beim aktuellen Vorgang ein Fehler auftritt, wird der Rückruf nicht aufgerufen.

[in, optional] doneCallbackState

Ein Zeiger auf den benutzerdefinierten Zustand, der an den WS_MESSAGE_DONE_CALLBACK übergeben werden kann. Dieser Parameter kann NULL sein, wenn der Rückruf nicht verwendet wird.

[in, optional] error

Ein Zeiger auf ein WS_ERROR-Objekt , in dem zusätzliche Informationen zum Fehler gespeichert werden sollen, wenn die Funktion fehlschlägt.

Rückgabewert

Diese Funktion kann einen dieser Werte zurückgeben.

Rückgabecode Beschreibung
WS_E_INVALID_FORMAT
Die Eingabedaten waren nicht im erwarteten Format oder hatten nicht den erwarteten Wert.
E_OUTOFMEMORY
Der Arbeitsspeicher ist nicht mehr vorhanden.
E_INVALIDARG
Mindestens ein Argument ist ungültig.
Andere Fehler
Diese Funktion gibt möglicherweise andere Fehler zurück, die oben nicht aufgeführt sind.

Hinweise

Die Nachricht muss sich in WS_MESSAGE_STATE_EMPTY Zustand befinden. Bei Erfolg wird der Nachrichtenstatus auf WS_MESSAGE_STATE_READING festgelegt.

Verwenden Sie WsReadBody, um ein Element des Nachrichtentexts zu lesen. Um direkt aus dem XML-Reader zu lesen, rufen Sie den Reader ab, wobei die Nachrichteneigenschafts-ID auf WS_MESSAGE_PROPERTY_BODY_READER festgelegt ist.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile webservices.h
Bibliothek WebServices.lib
DLL WebServices.dll