An explicit handle is a handle that the client application specifies explicitly as a parameter to each remote procedure call. To conform to the OSF standard, the handle must be specified as the first parameter on each remote procedure. You create an explicit handle by declaring the handle as a parameter to the remote operations in the IDL file. The Hello, World example can be redefined to use an explicit handle as shown:
/* IDL file for explicit handles */
[ uuid(20B309B1-015C-101A-B308-02608C4C9B53),
version(1.0)
]
interface hello
{
void HelloProc([in] handle_t h1,
[in, string] char * pszString);
}
You can combine explicit and implicit handles in a single interface. If a function has an explicit handle in its parameter list, that handle will be used. If a function specify an explicit handle, then the default implicit handle will be used.