Поделиться через


функция обратного вызова WS_DECODER_GET_CONTENT_TYPE_CALLBACK (webservices.h)

Возвращает тип источника сообщения.

Синтаксис

WS_DECODER_GET_CONTENT_TYPE_CALLBACK WsDecoderGetContentTypeCallback;

HRESULT WsDecoderGetContentTypeCallback(
  [in]           void *decoderContext,
  [in]           const WS_STRING *contentType,
  [in, optional] const WS_STRING *contentEncoding,
  [out]          WS_STRING *newContentType,
  [in, optional] WS_ERROR *error
)
{...}

Параметры

[in] decoderContext

Экземпляр кодировщика, возвращаемый WS_CREATE_DECODER_CALLBACK.

[in] contentType

Тип содержимого закодированного сообщения.

[in, optional] contentEncoding

Кодировка содержимого для закодированного сообщения.

[out] newContentType

Обратный вызов должен возвращать здесь тип контента для нового декодированного сообщения.

[in, optional] error

Указывает, где должны храниться дополнительные сведения об ошибке в случае сбоя функции.

Возвращаемое значение

Код возврата Описание
E_OUTOFMEMORY
Не хватает памяти.
E_INVALIDARG
Один или несколько аргументов являются недопустимыми.
Другие ошибки
Эта функция может возвращать другие ошибки, не перечисленные выше.

Комментарии

Обратный вызов должен убедиться, что предоставленный тип контента соответствует ожидаемому, а затем должен вернуть тип содержимого декодированного сообщения.

Возвращаемый тип контента должен оставаться действительным до следующего вызова обратного вызова или освобождения декодера.

Обратный вызов должен задать для newContentType значение, поддерживаемого базовым каналом. Например, если канал сеанса TCP использует SOAP 1.2 и двоичное кодирование, новый тип контента всегда должен быть application/soap+msbinsession1.

Для WS_HTTP_CHANNEL_BINDING параметру кодирования содержимого будет присвоено значение заголовка HTTP Content-Encoding. Если этот заголовок не существует, будет передано значение NULL .

Для всех остальных привязок каналов для кодирования содержимого будет передано значение NULL .

Требования

Требование Значение
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header webservices.h