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


[in, string] и [out, string] Прототип

Следующий прототип функции использует два параметра: параметр [в, строковый] и параметр [out, string] .

void Analyze(
    [in, string]                       *pszInput,
    [out, string, size_is(STRSIZE)]    *pszOutput);

Первый параметр — только [в]. Эта входная строка передается только с клиента на сервер. Сервер использует его в качестве основы для дальнейшей обработки. Строка не изменяется и не требуется снова клиентом, поэтому ее не нужно возвращать клиенту.

Второй параметр, представляющий ответ врача, — только [из]. Эта строка ответа передается только с сервера клиенту. Размер выделения предоставляется таким образом, чтобы заглушки сервера могли выделить для него память. Так как pszOutput является указателем [ref], клиент должен иметь достаточно памяти, выделенной для строки перед вызовом. Строка ответа записывается в эту область памяти при возвращении удаленной процедуры.