WS_TRANSFER_MODE enumeration

Whether messages that are sent or received are streamed or buffered.

Syntax


enum WS_TRANSFER_MODE {  WS_STREAMED_INPUT_TRANSFER_MODE, 
  WS_STREAMED_OUTPUT_TRANSFER_MODE, 
  WS_BUFFERED_TRANSFER_MODE, 
  WS_STREAMED_TRANSFER_MODE 

};

Constants

WS_STREAMED_INPUT_TRANSFER_MODE

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

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

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

Minimum supported client

Windows 7 [desktop apps only]

Minimum supported server

Windows Server 2008 R2 [desktop apps only]

Header

WebServices.h

 

 

Community Additions

ADD
Show: