WS_GET_CHANNEL_PROPERTY_CALLBACK función de devolución de llamada (webservices.h)

Controla la llamada de WsGetChannelProperty para un WS_CUSTOM_CHANNEL_BINDING.

Sintaxis

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
)
{...}

Parámetros

[in] channelInstance

Puntero al estado específico de esta instancia de canal, tal como lo crea el WS_CREATE_CHANNEL_CALLBACK.

[in] id

Identificador de la propiedad que se va a recuperar.

value

Ubicación donde se va a almacenar la propiedad recuperada. El puntero debe tener una alineación compatible con el tipo de la propiedad .

[in] valueSize

Número de bytes asignados por el autor de la llamada para almacenar la propiedad recuperada.

[in, optional] error

Especifica dónde se debe almacenar información de error adicional si se produce un error en la función.

Valor devuelto

Código devuelto Descripción
E_INVALIDARG
El identificador de propiedad no se admite para este objeto o el búfer especificado no era lo suficientemente grande para el valor.
E_OUTOFMEMORY
Se quedó sin memoria.
Otros errores
Esta función puede devolver otros errores no enumerados anteriormente.

Comentarios

Consulte WsGetChannelProperty para obtener información sobre el contrato de esta API.

Cada implementación de canal personalizada debe admitir la devolución de un valor para al menos las siguientes propiedades:

La capa del modelo de servicio proporciona su propia lógica de tiempos de espera de llamada, como tal, requiere deshabilitar los tiempos de espera en el canal subyacente. Para que un canal personalizado se use desde el nivel modelo de servicio, debe admitir la deshabilitación de todos sus tiempos de espera e implementar esta devolución de llamada para WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS. Un canal personalizado no se puede usar a través del modelo de servicio a menos que la consulta de WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS devuelva FALSE.

Es hasta la implementación del canal personalizado para determinar las propiedades adicionales que desea admitir.

Si no se admite una propiedad, se debe devolver el E_INVALIDARG . (Consulte Valores devueltos de servicios web de Windows).

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado webservices.h