Module Com

module Com: sig .. end

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 interface -> 'b iid -> 'b interface
type iUnknown 
type iDispatch 
val iUnknown_of : 'a interface -> iUnknown interface
val combine : 'a interface -> 'b interface -> 'a interface
val clsid : string -> clsid
val create_instance : clsid -> 'a iid -> 'a interface
type 'a component_factory = {
   create : unit -> 'a interface;
   clsid : clsid;
   friendly_name : string;
   ver_ind_prog_id : string;
   prog_id : string;
}
val register_factory : 'a component_factory -> unit
type hRESULT_int = int 
type hRESULT_bool = bool 
type bSTR = string 
val _parse_iid : string -> 'a iid