i9"ddlZddlmZejZd dZdZdZGddZGdd ZGd d Z dS) N)gencachecbg} tj||||}n#t$rd}YnwxYw|ddl}t j||||}|} |g}t|D]} | | } | | } | } | j tj ks)| j tjkr/| jtjzr|| d|D]'}| |\}}|t'd|d| } | j tjkr>|d}||}| } |jj|| | d}t3|j|j|j|j|jD].} | \}}}|d}||||df/)n|p|jD]} |j |}n!#tB$rt'd|dwxYwtj"|}tG||dzd}tG||d zd}||t'd|d t3|||||D].} | \}}}|d}||||df/|S) NrzThe interface 'z' can not be locatedz Interface 'z'' does not exist in this cached typelib_vtables_dispatch_ _vtables_z' is IDispatch only)$rGetModuleForTypelib ImportErrorwin32com.client.build pythoncomLoadRegTypeLib GetTypeComprangeGetTypeInfoCount GetTypeInfoGetDocumentation GetTypeAttrtypekindTKIND_INTERFACETKIND_DISPATCH wTypeFlagsTYPEFLAG_FDUALappendBindType ValueErrorGetRefTypeOfImplTypeGetRefTypeInfoclientbuild VTableItem_doCreateVTableclsid python_name bIsDispatch vtableFuncsVTablesToClassMapvalues NamesToIIDMapKeyErrorGetModuleForCLSIDgetattr) typelibGUIDlcidmajorminorinterface_namesretmodwin32comtlb typecomp_libiinfodocattrname type_info type_comprefhtypeitemnamesdispiddescinvkindiidsub_mod is_dispatch method_defss @C:\PYTHON\_runtimes\venv\Lib\site-packages\win32com/universal.pyRegisterInterfacesrH s C*;eUKK  {$$$$&{E5$GG((  " O3//1122 3 3q))**1--''))=I$===MY%===)*BB>$**3q6222# 8 8D#/#8#8$$ Iy   !M4!M!M!MNNN((**D} 888$99"==%44X>>  ,,..?(334!;!;B!?!?D  D,d.>@P   ( 8 8&*#vtq' FGU1X67777 8) 84$Es'<'C'C'E'E 8 8D '-    O$OOO  055G!'42F+FMMK!'4++=tDDK"k&9 !Ht!H!H!HIII C{K @ @ @# 8 8&*#vtq' FGU1X67777 8 Js ++) I77Jct|||}tj||}tj|||dSN) Definitionr _univgw CreateVTableRegisterVTable)rCinterface_namerErFdefnvtbls rGr!r!TsL c; 4 4D   ) )$ < >#&#*ch BCCCQxxrRN)r)rjrkrlrirvrxrmrRrGroroxsF88884     rRrocZeZdZdZdZdZdZejj ejj fdZ dS)rKc||_g|_||_|D]+}t|}|j|,dSrJ)_iid_methods _is_dispatchror)rgrCrErFr7entrys rGrizDefinition.__init__sU  ' ( (D4LLE M  ' ' ' ' ( (rRc|jSrJ)rrgs rGrCzDefinition.iids yrRc$d|jDS)Ncg|] }|j Srm)ru.0ms rG z,Definition.vtbl_argsizes..s000Q000rRrrs rG vtbl_argsizeszDefinition.vtbl_argsizess00$-0000rRc$d|jDS)Nc6g|]}t|jSrm)lenrtrs rGrz-Definition.vtbl_argcounts..s 333AF 333rRrrs rGvtbl_argcountszDefinition.vtbl_argcountss33T]3333rRc|j|}d}||j|}t|d|}|j|j|j<||jd|j|dd} t| trt| t|j dzkr| d}| dd} ntd t|j dzt| | g} | dgt|j dz zt| } || |j ||S)z'Dispatch a call to an interface method.rpolicyNrTz"Expected {} return values, got: {})rrwr+r:_dispid_to_func_r@ _InvokeEx_rB isinstancerrry TypeErrorformatextend) rgobindexargPtrReadFromInTupleWriteFromOutTuplemethhrrtretVals rGdispatchzDefinition.dispatchsS}U# t/88 R2 & &+/9DK(t{At|T4NN fe $ $ #6{{c$"344q888AY8??D-..2CKK XF MM4&C(9$:$:Q$>? @ @ @6]]F&$"3V<<< rRN) rjrkrlrirCrrr rLrrrrmrRrGrKrKsx(((111444")9#+= &&&&&&rRrKrJ) r win32com.clientr com_errorrHr!r]r_rorKrmrRrGrs $$$$$$   FFFFR@@@ *--------`8888888888rR