WS_TRANSFER_MODE enumeration (webservices.h)
Whether messages that are sent or received are streamed or buffered.
Syntax
typedef enum {
WS_STREAMED_INPUT_TRANSFER_MODE = 0x1,
WS_STREAMED_OUTPUT_TRANSFER_MODE = 0x2,
WS_BUFFERED_TRANSFER_MODE = 0x0,
WS_STREAMED_TRANSFER_MODE
} WS_TRANSFER_MODE;
Constants
WS_STREAMED_INPUT_TRANSFER_MODE Value: 0x1 Setting this flag means messages are delivered in chunks. The start of the message (opening tag, headers, and opening body tag) will be returned to the application when WsReadMessageStart completes. It is up to the application to call WsFillBody before reading each chunk of the message body. The end of the message (closing body and envelope tags) will be read when WsReadMessageEnd is called. Not setting this flag means the entire message is read and buffered in memory before WsReadMessageStart indicates completion. |
WS_STREAMED_OUTPUT_TRANSFER_MODE Value: 0x2 Setting this flag means messages are transmitted in chunks. The start of the message (opening envelope tag, headers, and opening body tag) will be transmitted when WsWriteMessageStart is called. It is up to the application to call WsFlushBody after writing each chunk of the message body to cause the chunk to be transmitted. Any remaining body data will be transmitted when WsWriteMessageEnd is called, along with the end of the message (closing body and envelope tags). Not setting this flag means the entire message is buffered in memory and is only transmitted once WsWriteMessageEnd is called. |
WS_BUFFERED_TRANSFER_MODE Value: 0x0 Messages that are written or read are buffered. This is equivalent to specifying neither WS_STREAMED_INPUT_TRANSFER_MODE nor WS_STREAMED_OUTPUT_TRANSFER_MODE. |
WS_STREAMED_TRANSFER_MODE Messages that are written or read are streamed. This is equivalent to specifying both WS_STREAMED_INPUT_TRANSFER_MODE and WS_STREAMED_OUTPUT_TRANSFER_MODE. |
Remarks
This value is specified for a channel using the WS_CHANNEL_PROPERTY_TRANSFER_MODE channel property.
The streaming programming model can be used regardless of which transfer mode is used. In the case where streaming is not used, the calls to the calls to WsFillBody and WsFlushBody are NOPs.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 7 [desktop apps only] |
Minimum supported server | Windows Server 2008 R2 [desktop apps only] |
Header | webservices.h |