Condividi tramite


Funzione type_UserFree

La funzione>_UserFree di tipo<è una funzione helper per gli attributi [ wire_marshal] e [ user_marshal] . Gli stub chiamano questa funzione per liberare i dati sul lato server. La funzione è definita come:

void __RPC_USER  <type>_UserFree(
    unsigned long __RPC_FAR * pFlags,
    <type_name>  __RPC_FAR *  pMyObj );

Il tipo <> nel nome della funzione indica il tipo utente specificato nella definizione del tipo [wire_marshal] o [user_marshal].

Il parametro pFlags è un puntatore a un campo flag lungo senza segno. La parola superiore del flag contiene flag di rappresentazione dei dati NDR definiti da OSF DCE per rappresentazioni a virgola mobile, ordine di byte e caratteri. La parola inferiore contiene un flag di contesto di marshalling come definito dal canale COM. Il layout esatto dei flag all'interno del campo è descritto in La funzione type_UserSize.

Il parametro pMyObj è un puntatore a un oggetto tipo utente. Il motore NDR libera l'oggetto di primo livello. L'utente è responsabile della liberazione di qualsiasi oggetto a cui può puntare l'oggetto di primo livello.

Le eccezioni devono essere rilevate e gestite localmente, le eccezioni non devono essere autorizzate a propiziare lo stack di chiamate.

regole di marshalling per user_marshal e wire_marshal

wire_marshal

user_marshal