Compartir a través de


atributo string (RPC)

El atributo [ string] indica que el parámetro es un puntero a una matriz de tipo char, byte o w_char. Al igual que con una matriz conforme, el tamaño de un parámetro [string] se determina en tiempo de ejecución. A diferencia de una matriz conforme, el desarrollador no tiene que proporcionar la longitud asociada a la matriz: el atributo [string] indica al código auxiliar que determine el tamaño de la matriz mediante una llamada a strlen. No se puede usar un atributo [string] al mismo tiempo que los atributos [ length_is] o [ last_is].

La combinación de atributos [in, string] dirige el código auxiliar para pasar la cadena de cliente a servidor únicamente. La cantidad de memoria asignada en el servidor es la misma que el tamaño de cadena transmitido más uno.

Los atributos [ out, string] dirigen el código auxiliar para pasar la cadena del servidor al cliente únicamente. El diseño de llamada por valor del lenguaje C insiste en que todos los parámetros [out] deben ser punteros.

El parámetro [out] debe ser un puntero y, de forma predeterminada, todos los parámetros de puntero son punteros de referencia. El puntero de referencia no cambia durante la llamada; apunta a la misma memoria que antes de la llamada. En el caso de los punteros de cadena, la restricción adicional del puntero de referencia significa que el cliente debe asignar suficiente memoria válida antes de realizar la llamada al procedimiento remoto. Los códigos auxiliares transmiten la cadena que los atributos [out, string] indican en la memoria ya asignada en el lado cliente.

En los temas siguientes se describen los prototipos de parámetros de procedimiento remoto para cadenas: