Função RpcBindingServerFromClient (rpcdce.h)

Um aplicativo chama RpcBindingServerFromClient para converter um identificador de associação de cliente em um identificador de associação de servidor parcialmente associado.

Sintaxe

RPC_STATUS RpcBindingServerFromClient(
  RPC_BINDING_HANDLE ClientBinding,
  RPC_BINDING_HANDLE *ServerBinding
);

Parâmetros

ClientBinding

Identificador de associação de cliente para converter em um identificador de associação de servidor. Se um valor igual a zero for especificado, o servidor representará o cliente que está sendo atendido por esse thread de servidor.

Nota Esse parâmetro não pode ser NULL no Windows NT 4.0.
 

ServerBinding

Retorna um identificador de associação de servidor.

Valor retornado

Valor Significado
RPC_S_OK
A chamada foi bem-sucedida.
RPC_S_INVALID_BINDING
O identificador de associação era inválido.
RPC_S_WRONG_KIND_OF_BINDING
Esse foi o tipo errado de associação para a operação.
RPC_S_CANNOT_SUPPORT
Não é possível determinar o host do cliente. Consulte Comentários para obter uma lista de sequências de protocolo com suporte.
 
Nota Para obter uma lista de códigos de erro válidos, consulte RPC Return Values.
 

Comentários

As seguintes sequências de protocolo dão suporte a RpcBindingServerFromClient:

Um aplicativo obtém um identificador de associação de cliente do tempo de execução RPC. Quando a chamada de procedimento remoto chega a um servidor, o tempo de execução cria um identificador de associação de cliente que contém informações sobre o cliente de chamada. O tempo de execução passa esse identificador para a função gerenciador do servidor como o primeiro argumento.

Chamar RpcBindingServerFromClient converte esse identificador de cliente em um identificador de servidor que tem estas propriedades:

  • O identificador do servidor é um identificador parcialmente associado. Ele contém um endereço de rede para o cliente de chamada, mas não tem um ponto de extremidade.
  • O identificador do servidor contém o mesmo objeto UUID usado pelo cliente de chamada. Essa pode ser a UUID nula. Para obter mais informações sobre como um cliente especifica um UUID de objeto para uma chamada, consulte RpcBindingsetObject, RpcNsBindingImportBegin, RpcNsBindingLookupBegin e RpcBindingFromStringBinding.
  • O identificador do servidor não contém informações de autenticação.
O aplicativo de servidor deve chamar RpcBindingFree para liberar os recursos usados pelo identificador de associação do servidor depois que ele não for mais necessário.
Nota Para consultar o endereço de um cliente, um aplicativo começa chamando a função RpcBindingServerFromClient para obter um identificador de associação de servidor parcialmente associado. O identificador de associação do servidor pode ser usado para obter uma associação de cadeia de caracteres invocando RpcBindingToStringBinding. Em seguida, o servidor pode chamar RpcStringBindingParse para extrair o endereço de rede do cliente da associação de cadeia de caracteres.
 

Requisitos

   
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]
Plataforma de Destino Windows
Cabeçalho rpcdce.h (inclua Rpc.h)
Biblioteca Rpcrt4.lib
DLL Rpcrt4.dll

Confira também

RpcBindingFree

RpcBindingFromStringBinding

RpcBindingSetObject

RpcEpRegister

RpcEpRegisterNoReplace

RpcNsBindingImportBegin

RpcNsBindingLookupBegin