Compartilhar via


função de retorno de chamada WS_GET_CHANNEL_PROPERTY_CALLBACK (webservices.h)

Manipula a chamada WsGetChannelProperty para um WS_CUSTOM_CHANNEL_BINDING.

Sintaxe

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

O ponteiro para o estado específico para essa instância de canal, conforme criado pelo WS_CREATE_CHANNEL_CALLBACK.

[in] id

A ID da propriedade a ser recuperada.

value

O local para armazenar a propriedade recuperada. O ponteiro deve ter um alinhamento compatível com o tipo da propriedade .

[in] valueSize

O número de bytes alocados pelo chamador para armazenar a propriedade recuperada.

[in, optional] error

Especifica onde informações adicionais de erro devem ser armazenadas se a função falhar.

Retornar valor

Código de retorno Descrição
E_INVALIDARG
Não havia suporte para a ID da propriedade para esse objeto ou o buffer especificado não era grande o suficiente para o valor.
E_OUTOFMEMORY
Ficou sem memória.
Outros erros
Essa função pode retornar outros erros não listados acima.

Comentários

Consulte WsGetChannelProperty para obter informações sobre o contrato dessa API.

Cada implementação de canal personalizado deve dar suporte ao retorno de um valor para pelo menos as seguintes propriedades:

A camada modelo de serviço fornece sua própria lógica de tempos limite de chamada, como tal, requer desabilitar tempos limite no canal subjacente. Para que um canal personalizado seja usado na camada modelo de serviço, ele deve dar suporte à desabilitação de todos os tempos limite e implementar esse retorno de chamada para WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS. Um canal personalizado não pode ser usado por meio do Modelo de Serviço, a menos que a consulta para WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS retorne FALSE.

Cabe à implementação do canal personalizado determinar as propriedades adicionais que deseja dar suporte.

Se não houver suporte para uma propriedade, o E_INVALIDARG deverá ser retornado. (Consulte Valores retornados dos Serviços Web do Windows.)

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho webservices.h