Compartilhar via


RPC_BINDING_HANDLE

O tipo de dados RPC_BINDING_HANDLE declara um identificador de associação que contém informações que a biblioteca de tempo de execução RPC usa para acessar informações de associação.

typedef I_RPC_HANDLE RPC_BINDING_HANDLE;

Comentários

A biblioteca em tempo de execução usa informações de associação para estabelecer uma relação cliente-servidor que permite a execução de chamadas de procedimento remoto. Com base no contexto no qual um identificador de associação é criado, ele é considerado um identificador de associação de servidor ou um identificador de associação de cliente.

Um identificador de associação de servidor contém as informações necessárias para um cliente estabelecer uma relação com um servidor específico. Qualquer número de rotinas de tempo de execução da API RPC retorna um identificador de associação de servidor que pode ser usado para fazer uma chamada de procedimento remoto.

Um identificador de associação de cliente não pode ser usado para fazer uma chamada de procedimento remoto. A biblioteca de tempo de execução RPC cria e fornece um identificador de associação de cliente para um procedimento chamado de servidor (também chamado de rotina de gerenciador de servidores) como o parâmetro RPC_BINDING_HANDLE. O identificador de associação de cliente contém informações sobre o cliente de chamada.

As funções RpcBinding* e RpcNsBinding* retornam o código status RPC_S_WRONG_KIND_OF_BINDING quando um aplicativo fornece o tipo de identificador de associação incorreto.

Um aplicativo pode compartilhar um único identificador de associação em vários threads de execução. A biblioteca de tempo de execução RPC gerencia chamadas de procedimento remoto simultâneos que usam um único identificador de associação. No entanto, o aplicativo é responsável por associar o controle de simultaneidade do identificador para operações que modificam um identificador de associação. Essas operações incluem as seguintes rotinas:

Por exemplo, se um aplicativo compartilhar um identificador de associação em dois threads de execução e redefinir o ponto de extremidade de identificador de associação em um dos threads chamando RpcBindingReset, os resultados serão indefinidos. O identificador de associação no outro thread também pode ser redefinido ou a operação pode falhar ou o processo pode falhar. Um erro comum é liberar um identificador de associação enquanto uma chamada nele está em andamento; isso geralmente falha no processo de chamada.

Se você não quiser simultaneidade, poderá criar um aplicativo para criar uma cópia de um identificador de associação chamando RpcBindingCopy. Nesse caso, uma operação para o primeiro identificador de associação não tem efeito no segundo identificador de associação.

Rotinas que exigem um identificador de associação como parâmetro mostram um tipo de dados de RPC_BINDING_HANDLE. Os parâmetros de identificador de associação são passados por valor.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Rpcdce.h (inclua Rpc.h)