Leggere in inglese

Condividi tramite


Attributo stringa (RPC)

L'attributo [ string] indica che il parametro è un puntatore a una matrice di tipo char, byte o w_char. Come per una matrice conforme, le dimensioni di un parametro [string] vengono determinate in fase di esecuzione. A differenza di una matrice conforme, lo sviluppatore non deve fornire la lunghezza associata alla matrice. L'attributo [string] indica allo stub di determinare le dimensioni della matrice chiamando strlen. Non è possibile usare un attributo [string] contemporaneamente agli attributi [ length_is] o [ last_is].

La combinazione di attributi [in, string] indirizza lo stub a passare la stringa solo dal client al server. La quantità di memoria allocata nel server corrisponde alla dimensione della stringa trasmessa più una.

Gli attributi [ out, string] indirizzano lo stub a passare la stringa solo dal server al client. La progettazione call-by-value del linguaggio C insiste sul fatto che tutti i parametri [out] devono essere puntatori.

Il parametro [out] deve essere un puntatore e, per impostazione predefinita, tutti i parametri del puntatore sono puntatori di riferimento. Il puntatore di riferimento non cambia durante la chiamata, ovvero punta alla stessa memoria di prima della chiamata. Per i puntatori di stringa, il vincolo aggiuntivo del puntatore di riferimento indica che il client deve allocare memoria valida sufficiente prima di effettuare la chiamata alla procedura remota. Gli stub trasmettono la stringa indicata dagli attributi [out, string] nella memoria già allocata sul lato client.

Negli argomenti seguenti vengono descritti i prototipi dei parametri delle procedure remote per le stringhe: