WsFillBody-Funktion (webservices.h)

Stellt sicher, dass in einer Nachricht eine ausreichende Anzahl von Bytes zum Lesen verfügbar ist. Es liegt an der Anwendung, die Anzahl der Bytes anzugeben, die ausreichen, um das nächste zu lesende XML-Konstrukt zu enthalten.

Hinweis Diese Funktion wird aufgerufen, bevor WsReadBody oder der XML-Reader der Nachricht verwendet wird, um den Nachrichtentext zu lesen.
 

Diese Funktion ist eine Verknüpfung zum Aufrufen von WsFillReader für den XML-Reader, der zum Schreiben der Nachricht verwendet wird. Das direkte Aufrufen von WsFillReader entspricht dem Aufrufen dieser Funktion.

Syntax

HRESULT WsFillBody(
  [in]           WS_MESSAGE             *message,
  [in]           ULONG                  minSize,
  [in, optional] const WS_ASYNC_CONTEXT *asyncContext,
  [in, optional] WS_ERROR               *error
);

Parameter

[in] message

Ein Zeiger auf die WS_MESSAGE Struktur, die zum "Füllen" bestimmt ist.

[in] minSize

Die Mindestanzahl von Bytes, die die Nachricht gepuffert haben soll. Wenn die aktuelle gepufferte Byteanzahl gleich oder größer als der Wert von minSize ist, führt die Funktion nichts aus.

Hinweis Der Wert von minSize stellt die Größe der codierten Form des erwarteten XML-Codes dar. Dies kann je nach Codierung und auch der Struktur der eigentlichen XML variieren. Die typische Verwendung dieser Funktion besteht darin, eine erwartete byte-Anzahl oberer Grenzen für die Codierung oder XML-Struktur auszuwählen, um sicherzustellen, dass die erwarteten Daten gelesen werden.
 

[in, optional] asyncContext

Ein Zeiger auf eine WS_ASYNC_CONTEXT Datenstruktur mit Informationen zum asynchronen Aufrufen der Funktion. Ein NULL-Wert gibt eine Anforderung für einen synchronen Vorgang an.

[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
S_OK
Der Start der Nachricht wurde erfolgreich empfangen.
WS_S_ASYNC
Der asynchrone Vorgang steht noch aus.
WS_E_INVALID_FORMAT
Die Eingabedaten hatten nicht das erwartete Format oder hatten nicht den erwarteten Wert.
E_INVALIDARG
Mindestens ein Argument ist ungültig.
E_OUTOFMEMORY
Der Arbeitsspeicher ist nicht mehr vorhanden.
Andere Fehler
Diese Funktion gibt möglicherweise andere Fehler zurück, die oben nicht aufgeführt sind.

Hinweise

Diese Funktion wird in der Regel beim Schreiben des Nachrichtentexts mit einem auf WS_STREAMED_OUTPUT_TRANSFER_MODE festgelegten Streammodus oder beim Verwenden eines XML-Readers im gestreamten Modus verwendet.

Diese Funktion ist ein "no-op", wenn der Nachrichtentext geschrieben wird, und WS_STREAMED_OUTPUT_TRANSFER_MODE nicht festgelegt ist oder der Modus eines XML-Readers auf WS_XML_READER_BUFFER_INPUT festgelegt ist.

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