Compartilhar via


Função WsCreateChannel (webservices.h)

Cria um canal para troca de mensagens com um ponto de extremidade.

Sintaxe

HRESULT WsCreateChannel(
  [in]           WS_CHANNEL_TYPE               channelType,
  [in]           WS_CHANNEL_BINDING            channelBinding,
  [in]           const WS_CHANNEL_PROPERTY     *properties,
  [in]           ULONG                         propertyCount,
  [in, optional] const WS_SECURITY_DESCRIPTION *securityDescription,
                 WS_CHANNEL                    **channel,
  [in, optional] WS_ERROR                      *error
);

Parâmetros

[in] channelType

O tipo do canal. Para tipos de canal, consulte a enumeração WS_CHANNEL_TYPE . Isso representa o padrão de troca de mensagens para o canal que está sendo criado.

[in] channelBinding

A associação de canal, indicando a pilha de protocolo a ser usada para o novo canal. Para associações de canal disponíveis, consulte a enumeração WS_CHANNEL_BINDING .

[in] properties

Uma matriz de estruturas de WS_CHANNEL_PROPERTY que contêm valores opcionais para inicialização de canal. O valor desse parâmetro pode ser NULL, nesse caso, o parâmetro propertyCount deve ser 0 (zero).

Para obter informações sobre quais propriedades de canal podem ser especificadas ao criar um canal, consulte a enumeração WS_CHANNEL_PROPERTY_ID .

Para obter informações sobre como criar um canal personalizado, consulte a seção Comentários.

[in] propertyCount

O número de propriedades na matriz de propriedades .

[in, optional] securityDescription

Ponteiro para uma estrutura WS_SECURITY_DESCRIPTION especificando a segurança do canal.

Se você estiver criando um canal personalizado (usando o valor WS_CUSTOM_CHANNEL_BINDING da enumeração WS_CHANNEL_BINDING ), a descrição de segurança deverá ser NULL. Consulte a seção Comentários.

channel

Ponteiro que recebe o endereço do canal criado.
Quando o canal não for mais necessário, você deverá liberá-lo chamando WsFreeChannel.

[in, optional] error

Ponteiro para uma estrutura de WS_ERROR que recebe informações de erro adicionais se a função falhar.

Retornar valor

Se a função for bem-sucedida, ela retornará NO_ERROR; caso contrário, ele retorna um código de erro HRESULT.

Código de retorno Descrição
E_INVALIDARG
Um ou mais argumentos são inválidos.
E_OUTOFMEMORY
Memória insuficiente para concluir a operação.
Outros erros
Essa função pode retornar outros erros não listados acima.

Comentários

Use a função WsOpenChannel para iniciar a comunicação no canal e especificar o ponto de extremidade.

Ao criar um canal personalizado (usando o valor WS_CUSTOM_CHANNEL_BINDING da enumeração WS_CHANNEL_BINDING ), você pode especificar apenas as seguintes propriedades de canal:

  • WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_CALLBACKS
  • WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS
(Consulte a enumeração WS_CHANNEL_PROPERTY_ID ) Se forem necessárias propriedades iniciais para criar o canal personalizado, especifique-as usando a propriedade WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS.

Para passar informações de segurança para uma implementação de canal personalizado, use o valor WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS da enumeração WS_CHANNEL_PROPERTY_ID .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho webservices.h
Biblioteca WebServices.lib
DLL WebServices.dll