Поделиться через


Объединение параметров pipe и nonpipe

При объединении типов каналов и других типов в удаленном вызове процедуры данные передаются в соответствии с направлением параметра :

  • В направлении [in] сначала передаются данные для всех непиповых аргументов, за которыми следуют данные канала.
  • В направлении [out] сервер сначала отправляет данные канала. После возврата подпрограммы диспетчера сервер передает непиповые данные.
  • При наличии аргументов канала [in,out] в сочетании с аргументами [in,out] , не являющихся аргументами, сначала входные данные передаются полностью, как описано выше. Затем выходные данные передаются, как описано выше.

К этой реализации каналов (MIDL 3.0) применяется следующее ограничение. При объединении типов каналов и других типов в одном удаленном вызове процедуры непиповые параметры должны иметь четко определенный размер, чтобы позволить компилятору MIDL вычислить необходимый размер буфера. Например, нельзя объединить параметры канала с указателем [ unique] или соотвествующей структурой, так как их размеры не могут быть определены во время компиляции.

Трубы

/Эй