Share via


WsSetOutput 函式 (webservices.h)

設定寫入器的編碼和輸出回呼。 回呼可用來提供緩衝區給寫入器,以及執行非同步 i/o。

語法

HRESULT WsSetOutput(
  [in]           WS_XML_WRITER                *writer,
  [in, optional] const WS_XML_WRITER_ENCODING *encoding,
  [in, optional] const WS_XML_WRITER_OUTPUT   *output,
                 const WS_XML_WRITER_PROPERTY *properties,
  [in]           ULONG                        propertyCount,
  [in, optional] WS_ERROR                     *error
);

參數

[in] writer

要為其設定輸出的寫入器。

[in, optional] encoding

編碼描述輸入位元組的格式。 這應該是其中一個 WS_XML_WRITER_TEXT_ENCODINGWS_XML_WRITER_BINARY_ENCODINGWS_XML_WRITER_MTOM_ENCODING

[in, optional] output

指定寫入器應放置其資料的位置。

properties

寫入器選擇性屬性的陣列。 請參閱 WS_XML_WRITER_PROPERTY

[in] propertyCount

屬性的數目。

[in, optional] error

指定函式失敗時應該儲存其他錯誤資訊的位置。

傳回值

此函式可以傳回其中一個值。

傳回碼 描述
E_INVALIDARG
一或多個引數無效。

備註

在寫入器上使用WsSetOutput時,寫入器只會以正向方式運作,而且無法使用WsGetWriterPosition、WsSetWriterPositionWsMoveWriter函數。

如果 編碼Null,則會忽略 WS_XML_WRITER_OUTPUT ,而且會設定寫入器,以便嘗試寫入它將會失敗。

如果 編碼 不是 Null,則 WS_XML_WRITER_OUTPUT 也必須是非Null

如果 WS_XML_WRITER_OUTPUTWS_XML_WRITER_BUFFER_OUTPUT ,則寫入器會緩衝產生的檔位元組。 使用 WsGetWriterProperty 搭配 WS_XML_WRITER_PROPERTY_BUFFERSWS_XML_WRITER_PROPERTY_BYTES 來取得這些位元組。 在此模式 中,WsFlushWriter 沒有任何作用。

如果WS_XML_WRITER_OUTPUTWS_XML_WRITER_STREAM_OUTPUT,則寫入器會在呼叫WsFlushWriter期間,將檔產生的位元組傳遞至指定的WS_WRITE_CALLBACK

寫入器將會初始化,以使用 WsCreateWriter中指定的屬性。 指定給 WsSetOutput 的任何屬性都會覆寫這些屬性。

如需寫入器屬性的預設值,請參閱 WsCreateWriter

規格需求

   
最低支援的用戶端 Windows 7 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 webservices.h
程式庫 WebServices.lib
Dll WebServices.dll