[ // UUID: A unique identifier that distinguishes this // interface from other interfaces. uuid(9a4e95b2-8fee-46ab-8cd7-b8b1050f1c1a), // This is version 1.0 of this interface. version(1.0), /* In this example we're using an explicit binding handle. Within an (optional) .acf file we could specify the keyword "explicit_handle". An Explicit handle is not specifed with an extra keyword in the IDL file, but by adding a handle parameter to all interface function. See "[in] handle_t hBinding" parameter below.. If we would use an implicit handle here, we could define one named hExample1Binding as below: implicit_handle(handle_t hExample1Binding) */ ] interface Example1 // The interface is named Example1 { // A function that takes a zero-terminated string. int Output( [in] handle_t hBinding, [in, string] const char* pszOutput); //[out, string] const char* szReturn); void Shutdown( [in] handle_t hBinding); }