атрибут string (RPC)

Атрибут [ string] указывает, что параметр является указателем на массив типа char, byte или w_char. Как и в случае с соответствующим массивом, размер параметра [string] определяется во время выполнения. В отличие от соответствующего массива, разработчику не нужно указывать длину, связанную с массивом. Атрибут [string] указывает заглушку определить размер массива путем вызова strlen. Атрибут [string] нельзя использовать одновременно с атрибутами [ length_is] или [ last_is].

Сочетание атрибута [in, string] направляет заглушку для передачи строки только от клиента к серверу. Объем памяти, выделенный на сервере, совпадает с объемом передаваемой строки плюс единица.

Атрибуты [ out, string] направляют заглушку на передачу строки только от сервера клиенту. В структуре языка C для вызова по значению требуется, чтобы все параметры [out] были указателями.

Параметр [out] должен быть указателем, и по умолчанию все параметры указателя являются указателями на них. Указатель на ссылку не изменяется во время вызова— он указывает на ту же память, что и до вызова. Для строковых указателей дополнительное ограничение ссылочного указателя означает, что клиент должен выделить достаточно допустимой памяти, прежде чем выполнять удаленный вызов процедуры. Заглушки передают строку, указанную атрибутами [out, string], в память, уже выделенную на стороне клиента.

В следующих разделах описаны прототипы параметров удаленной процедуры для строк.