WsReadBody-Funktion (webservices.h)
Dies ist eine Hilfsfunktion, die einen Wert aus dem XML-Reader der Nachricht deserialisiert. Die WS_MESSAGE_STATE muss auf WS_MESSAGE_STATE_READING festgelegt werden. Diese Funktion verursacht keine Zustandsübergänge.
Syntax
HRESULT WsReadBody(
[in] WS_MESSAGE *message,
[in] const WS_ELEMENT_DESCRIPTION *bodyDescription,
[in] WS_READ_OPTION readOption,
[in, optional] WS_HEAP *heap,
void *value,
[in] ULONG valueSize,
[in, optional] WS_ERROR *error
);
Parameter
[in] message
Ein Zeiger auf das Message-Objekt , aus dem der Text gelesen werden soll. Der Zeiger muss auf ein gültiges WS_MESSAGE-Objekt verweisen.
[in] bodyDescription
Ein Zeiger auf das -Objekt, das die Metadaten kapselt, die die Zuordnung des Werts zu einem Element beschreibt.
[in] readOption
Bestimmt, ob der Wert erforderlich ist und wie der Wert zugeordnet werden soll. Weitere Informationen finden Sie unter WS_READ_OPTION .
[in, optional] heap
Ein Zeiger auf das Heap-Objekt , in das das Element gelesen werden soll. Der Zeiger muss auf ein gültiges WS_HEAP-Objekt verweisen.
value
Die Interpretation der Daten, auf die durch diesen Parameter verwiesen wird, hängt vom WS_READ_OPTION ab.
[in] valueSize
Die Interpretation des Werts dieses Parameters hängt vom WS_READ_OPTION ab.
[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 |
---|---|
|
Die Eingabedaten hatten nicht das erwartete Format oder hatten nicht den erwarteten Wert. |
|
Der Arbeitsspeicher ist nicht mehr vorhanden. |
|
Mindestens ein Argument ist ungültig. |
|
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 :
- Lesen eines einzelnen Elements. In diesem Fall sollten die Felder elementLocalName und elementNs des WS_ELEMENT_DESCRIPTION auf den lokalen Namen und Namespace des zu lesenden Elements festgelegt werden, und die Typ- und Typbeschreibung stellt den Typ des deserialisierten Werts dar. Bei Verwendung von WS_FAULT_TYPE oder WS_ENDPOINT_ADDRESS_TYPE ist es nicht erforderlich, den lokalen Namen, Namespace oder die Typbeschreibung anzugeben (sie basieren standardmäßig entsprechend der Umschlag-/Adressierungsversion der Nachricht).
- Lesen 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 Strukturwerts, der deserialisiert wird, den Elementen entsprechen, die innerhalb des Texts gelesen werden sollen.
- Lesen mehrerer Elemente als mehrere Werte. Das Lesen 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 |