Compartilhar via


Combinando parâmetros de pipe e nonpipe

Quando você combina tipos de pipe e outros tipos em uma chamada de procedimento remoto, os dados são transmitidos de acordo com a direção do parâmetro:

  • Na direção [in] , os dados de todos os argumentos de não pipe são transmitidos primeiro, seguidos por dados de pipe.
  • Na direção [out] , o servidor envia os dados de pipe primeiro. Depois que a rotina do gerente é retornada, o servidor transmite os dados de nãopipe.
  • Quando há argumentos de pipe [in,out] combinados com argumentos não pipe [in,out] , primeiro os dados de entrada são transmitidos em sua totalidade, conforme descrito anteriormente. Em seguida, os dados de saída são transmitidos conforme descrito anteriormente.

A seguinte restrição se aplica a essa implementação (MIDL 3.0) de pipes: quando você combina tipos de pipe e outros tipos em uma única chamada de procedimento remoto, os parâmetros de nãopipe devem ter um tamanho bem definido para permitir que o compilador MIDL calcule o tamanho do buffer necessário. Por exemplo, você não pode combinar parâmetros de pipe com um ponteiro [ exclusivo] ou uma estrutura compatível, pois seus tamanhos não podem ser determinados em tempo de compilação.

Tubo

/Oi