This attribute allows the application program to manage the binding to the server.
The explicit_handle attribute indicates that a binding handle is passed to the runtime as an operation parameter.
The explicit_handle attribute has the following syntax. (See the example at the end of this topic.)
For an interface:
[explicit_handle] interface interface_name
For an operation:
[explicit_handle] operation_name ([parameter_list]);
When used as an ACF interface attribute, the explicit_handle attribute applies to all operations in the IDL file. When used as an ACF operation attribute, this attribute applies to only the operation you specify.
If you use the explicit_handle attribute as an ACF interface attribute, you must not use the auto_handle or implicit_handle attributes. Also, you cannot use the encode and decode attributes if you use explicit_handle.
Using the explicit_handle attribute on an interface or operation has no effect on operations in IDL that have explicit binding information in their parameter lists.
Example Using the explicit_handle Attribute
ACF
[explicit_handle] interface math_2
{
/* This causes the operation, as called by the client, to have the
* parameter handle_t IDL_handle, at the start of the parameter
* list, before the parameters specified here in the IDL file.
*/
}
IDL File
[uuid(41ce5b80-0ba7-11ca-87ba-08002b111685)]
interface math_2
{
long add([in] long a,
[in] long b);
}