Compartir a través de


atributo string (RPC)

El atributo [ cadena] indica que el parámetro es un puntero a una matriz de tipo char, byteo 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 llamando a strlen. Un atributo [string] no se puede usar al mismo tiempo que los atributos [ length_is] o [ last_is].

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

Los atributos [ out, cadena] 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 de [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 de [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: