Compartilhar via


Terminologia do Pipe Essencial

Como outros tipos de parâmetros para chamadas de procedimento remoto, os pipes podem ser parâmetros [ in] ou [ out]. Como o servidor controla a transferência de dados por meio de um pipe, os pipes com o atributo [in] são ditos para efetuar pull de dados para o servidor. Da mesma forma, os pipes de saída efetuam push de dados do servidor para o cliente. Os procedimentos que fazem a transferência de dados são chamados de procedimento de pull e de push, respectivamente.

O compilador MIDL gera os procedimentos de push e pull para o servidor. Além disso, ele gerencia a alocação de buffers de dados na memória. No entanto, o cliente deve fornecer seus próprios procedimentos de push e pull. Ele também deve fornecer um procedimento para alocar os buffers de memória usados pelo pipe. Eles são chamados automaticamente no momento apropriado pelo stub do cliente. O procedimento de alocação geralmente é chamado de procedimento alloc ou a função alloc.