Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O aplicativo cliente deve implementar os seguintes procedimentos, que o stub do cliente chamará durante a transferência de dados:
- Um procedimento de tração (para um tubo de entrada)
- Um procedimento push (para um tubo de saída)
- Um procedimento de alocação para alocar um buffer para os dados de transferência
Todos esses procedimentos devem usar os argumentos especificados pelo arquivo de cabeçalho gerado por MIDL. Além disso, o aplicativo cliente deve ter uma variável de estado para identificar onde localizar ou colocar dados.
O procedimento de alocação também pode ser tão simples ou complexo quanto necessário. Por exemplo, ele pode retornar um ponteiro para o mesmo buffer toda vez que o stub chamar a função, ou pode alocar uma quantidade diferente de memória a cada vez. Se os dados já estiverem na forma adequada (uma matriz de elementos de pipe, por exemplo), você poderá coordenar o procedimento de alocação com o procedimento pull para alocar um buffer que já contenha os dados. Nesse caso, o seu procedimento de puxar pode ser uma rotina vazia.
A alocação do buffer deve ser em bytes. Os procedimentos push e pull, por outro lado, manipulam elementos, cujo tamanho em bytes depende de como foram definidos.
Esta seção discute a implementação do cliente de tubos de entrada e saída nas seguintes seções:
- Implementação de tubos de entrada no do cliente
- Implementação de tubos de saída no do cliente