Serializzazione delle procedure
Quando si usa la serializzazione delle procedure, una routine viene etichettata con l'attributo [encode] o [decodifica]. Anziché generare lo stub remoto consueto, il compilatore genera uno stub di serializzazione per la routine.
Proprio come una procedura remota deve utilizzare un handle di associazione per effettuare una chiamata remota, una procedura di serializzazione deve utilizzare un handle di serializzazione per utilizzare i servizi di serializzazione. Se non viene specificato un handle di serializzazione, viene usato un handle implicito predefinito per indirizzare la chiamata. D'altra parte, se viene specificato l'handle di serializzazione, come argomento handle_t esplicito della routine o usando l'attributo [explicit_handle] , è necessario passare un handle valido come argomento della chiamata. Per altre informazioni su come creare un handle di serializzazione valido, vedere handle di serializzazione, esempi di codifica del buffer fissoe esempi di codifica incrementale.
Nota
Microsoft RPC consente la combinazione di procedure remote e di serializzazione in un'unica interfaccia. Tuttavia, prestare attenzione quando si esegue questa operazione.
Per le procedure remote con handle di associazione impliciti, il compilatore MIDL genera una variabile di handle globale di tipo handle_t. Le procedure e i tipi con handle di serializzazione impliciti usano la stessa variabile di handle globale.
Per gli handle impliciti, l'handle implicito globale deve essere impostato su un handle di associazione valido prima di una chiamata remota. L'handle implicito deve essere impostato su un handle di serializzazione valido prima di una chiamata di serializzazione. Pertanto, una routine non può essere sia remota che serializzata. Deve essere uno o l'altro.