Compartilhar via


Stub

O stub, como o proxy, é composto por uma ou mais peças de interface e um gerente. Cada stub de interface fornece código para desmarcar os parâmetros e o código que chama uma das interfaces suportadas do objeto. Cada stub também fornece uma interface para comunicação interna. O gerenciador de stubs controla os stubs de interface disponíveis.

Há, no entanto, as seguintes diferenças entre o stub e o proxy:

  • A diferença mais importante é que o stub representa o cliente no espaço de endereço do objeto.
  • O stub não é implementado como um objeto agregado porque não há exigência de que o cliente seja visto como uma única unidade; Cada peça no esboço é um componente separado.
  • Os stubs de interface são privados em vez de públicos.
  • Os stubs de interface implementam IRpcStubBuffer, não IRpcProxyBuffer.
  • Em vez de parâmetros de embalagem a serem empacotados, o stub os desempacota depois de terem sido empacotados e, em seguida, empacota a resposta.

Estrutura do Stub

O diagrama a seguir mostra a estrutura do esboço. Cada stub de interface é conectado a uma interface no objeto. O canal envia mensagens de entrada para o stub de interface apropriado. Todos os componentes conversam com o canal por meio de IRpcChannelBuffer, a interface que fornece acesso à biblioteca de tempo de execução RPC.

Screenshot that shows the structure of the Stub.

Channel

Comunicação entre Objetos

Detalhes do marshaling

Microsoft RPC

Proxy