
    %
i                         d Z ddlZddlZddlZddlmZ ddlmZ  G d d          Ze	dk    r e
d            ej        e           dS dS )	zA COM Server which exposes the NT Performance monitor in a very rudimentary way

Usage from VB:
    set ob = CreateObject("Python.PerfmonQuery")
    freeBytes = ob.Query("Memory", "Available Bytes")
    N)register)COMExceptionc                   0    e Zd ZdZdZdZdZdZdgZd	dZ	dS )
PerfMonQueryzPython.PerfmonQuery.1zPython.PerfmonQueryz'Python Performance Monitor query objectz&{64cef7a0-8ece-11d1-a65a-00aa00125a98}z%win32com.servers.perfmon.PerfMonQueryQueryNc                     	 t          j        ||||          S # t           j        $ r}t          |j                  d }~wt
          $ r }t          |t          j                  d }~ww xY w)N)machine)desc)r
   scode)win32pdhutilGetPerformanceAttributeserrorr   strerror	TypeErrorwinerrorDISP_E_TYPEMISMATCH)selfobjectcounterinstancer	   excr
   s          C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\win32com/servers/perfmon.pyr   zPerfMonQuery.Query   s    	N87    ! 	2 	2 	2CL1111 	N 	N 	ND0LMMMM	Ns    A+>A+A&&A+)NN)
__name__
__module____qualname___reg_verprogid__reg_progid_
_reg_desc__reg_clsid__reg_class_spec__public_methods_r        r   r   r      sP        -O(L:J:K>yN N N N N Nr#   r   __main__zRegistering COM server...)__doc__	pythoncomr   r   win32com.serverr   win32com.server.exceptionr   r   r   printUseCommandLiner"   r#   r   <module>r+      s              $ $ $ $ $ $ 2 2 2 2 2 2N N N N N N N N& z	E
%&&&HL))))) r#   