WsWriteBody-Funktion (webservices.h)

Schreibt einen Wert in den Textkörper einer Nachricht. Dies ist eine Hilfsfunktion, die einen Wert in den XML-Writer der Nachricht serialisiert. Der Nachrichtenstatus muss auf WS_MESSAGE_STATE_WRITING festgelegt werden. Diese Funktion verursacht keine Zustandsübergänge.

Syntax

HRESULT WsWriteBody(
  [in]           WS_MESSAGE                   *message,
  [in]           const WS_ELEMENT_DESCRIPTION *bodyDescription,
  [in]           WS_WRITE_OPTION              writeOption,
                 const void                   *value,
  [in]           ULONG                        valueSize,
  [in, optional] WS_ERROR                     *error
);

Parameter

[in] message

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

[in] bodyDescription

Ein Zeiger auf Informationen, die beschreiben, wie der Wert geschrieben wird.

[in] writeOption

Bestimmt, ob der Wert erforderlich ist und wie der Wert zugeordnet wird.

Hinweis Weitere Informationen finden Sie unter WS_WRITE_OPTION .

 

value

Ein void-Zeiger auf den zu schreibenden Wert.

[in] valueSize

Die Größe des zu schreibenden Werts in Byte. Wenn der Wert NULL ist, sollte die Größe 0 sein.

[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 hatten nicht das erwartete 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

Diese Funktionen unterstützen die folgenden Szenarien basierend auf dem Inhalt der bereitgestellten WS_ELEMENT_DESCRIPTION :

  • Schreiben eines einzelnen Elements. In diesem Fall sollten die Felder elementLocalName und elementNs des WS_ELEMENT_DESCRIPTION auf den lokalen Namen und Namespace des zu schreibenden Elements festgelegt werden, und die Typ- und Typbeschreibung stellt den Typ des Werts dar, der serialisiert wird. Wenn Sie WS_FAULT_TYPE oder WS_ENDPOINT_ADDRESS_TYPE verwenden, ist es nicht erforderlich, den lokalen Namen, Namespace oder die Typbeschreibung anzugeben (sie basieren standardmäßig entsprechend der Umschlag-/Adressierungsversion der Nachricht).
  • Schreiben mehrerer Elemente als einzelner Wert. In diesem Fall sollten die Felder elementLocalName und elementNs des WS_ELEMENT_DESCRIPTION auf NULL festgelegt werden, und es sollten ein WS_STRUCT_TYPE und WS_STRUCT_DESCRIPTION angegeben werden. In diesem Fall sollte jedes Feld des zu serialisierenden Strukturwerts den Elementen entsprechen, die innerhalb des Textkörpers geschrieben werden sollen.
  • Schreiben mehrerer Elemente als mehrere Werte. Das Schreiben mehrerer unterschiedlicher Werte kann erreicht werden, indem die Funktion einfach mehrmals aufgerufen wird.

Anforderungen

Anforderung Wert
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