Implicit Versus Explicit Handles

You can declare a serialization handle with the primitive handle type, handle_t, and serialization handles can be explicit or implicit. An implicit handle must be specified in the ACF by using the implicit_handle attribute. Serializing procedures that do not have an explicit handle would then use the global variable corresponding to that handle in order to access a valid serializing context. When using type encoding, the generated routines supporting serialization of a particular type use the global implicit handle to access the serialization context. Note that remote routines may need to use the implicit handle as a binding handle. Be sure that the implicit handle is set to a valid serializing handle prior to making a serializing call.

An explicit handle is specified as a parameter of the serialization procedure prototype in the IDL file, or it can also be specified by using the explicit_handle attribute in the ACF. The explicit handle parameter is used to establish the proper serialization context for the procedure. To establish the correct context in the case of type serialization, the compiler generates the supporting routines that use explicit handle_t parameter as the serialization handle. You must supply a valid serializing handle when calling a serialization procedure or serialization type support routine.