WS_GET_CHANNEL_PROPERTY_CALLBACK回调函数 (webservices.h)

处理WS_CUSTOM_CHANNEL_BINDINGWsGetChannelProperty 调用。

语法

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

要检索的属性的 ID。

value

存储检索到的属性的位置。 指针必须具有与 属性类型兼容的对齐方式。

[in] valueSize

调用方分配用于存储检索到的属性的字节数。

[in, optional] error

指定函数失败时应存储其他错误信息的位置。

返回值

返回代码 说明
E_INVALIDARG
此对象不支持属性 ID,或者指定的缓冲区不足以容纳值。
E_OUTOFMEMORY
内存不足。
其他错误
此函数可能会返回上面未列出的其他错误。

注解

有关此 API 协定的信息,请参阅 WsGetChannelProperty

每个自定义通道实现都必须支持至少返回以下属性的值:

服务模型层提供自己的调用超时逻辑,因此它要求在基础通道中禁用超时。 若要从服务模型层使用自定义通道,它应支持禁用其所有超时并为 WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS实现此回调。 除非查询 WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS 返回 FALSE,否则无法通过服务模型使用自定义通道。

由自定义通道实现决定它希望支持的任何其他属性。

如果不支持属性,应返回 E_INVALIDARG 。 (请参阅 Windows Web Services 返回值。)

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 webservices.h