sig
type 'a interface
type 'a iid
type clsid
type 'a opaque
exception Error of int * string * string
val initialize : unit -> unit
val uninitialize : unit -> unit
val query_interface : 'a Com.interface -> 'b Com.iid -> 'b Com.interface
type iUnknown
type iDispatch
val iUnknown_of : 'a Com.interface -> Com.iUnknown Com.interface
val combine : 'a Com.interface -> 'b Com.interface -> 'a Com.interface
val clsid : string -> Com.clsid
val create_instance : Com.clsid -> 'a Com.iid -> 'a Com.interface
type 'a component_factory = {
create : unit -> 'a Com.interface;
clsid : Com.clsid;
friendly_name : string;
ver_ind_prog_id : string;
prog_id : string;
}
val register_factory : 'a Com.component_factory -> unit
type hRESULT_int = int
type hRESULT_bool = bool
type bSTR = string
val _parse_iid : string -> 'a Com.iid
end