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


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

Обрабатывает вызов WsGetChannelProperty для WS_CUSTOM_CHANNEL_BINDING.

Синтаксис

WS_GET_CHANNEL_PROPERTY_CALLBACK WsGetChannelPropertyCallback;

HRESULT WsGetChannelPropertyCallback(
  [in]           void *channelInstance,
  [in]           WS_CHANNEL_PROPERTY_ID id,
                 void *value,
  [in]           ULONG valueSize,
  [in, optional] WS_ERROR *error
)
{...}

Параметры

[in] channelInstance

Указатель на состояние, специфичное для данного экземпляра канала, созданное WS_CREATE_CHANNEL_CALLBACK.

[in] id

Идентификатор извлекаемого свойства.

value

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

[in] valueSize

Количество байтов, выделенных вызывающим объектом для хранения полученного свойства.

[in, optional] error

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

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

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

Комментарии

Сведения о контракте этого API см. в разделе WsGetChannelProperty .

Каждая реализация настраиваемого канала должна поддерживать возврат значения по крайней мере для следующих свойств:

Уровень модели службы предоставляет собственную логику времени ожидания вызова, поэтому для этого требуется отключить время ожидания в базовом канале. Чтобы пользовательский канал можно было использовать из уровня модели службы, он должен поддерживать отключение всех тайм-аутов и реализовать этот обратный вызов для WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS. Пользовательский канал нельзя использовать с помощью модели службы, если запрос WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS не возвращает значение FALSE.

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

Если свойство не поддерживается, необходимо вернуть E_INVALIDARG . (См. раздел Возвращаемые значения веб-служб Windows.)

Требования

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