1 2 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 3 <html><head><title>Python: module telemetry.internal.platform.msr_server_win</title> 4 <meta charset="utf-8"> 5 </head><body bgcolor="#f0f0f8"> 6 7 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading"> 8 <tr bgcolor="#7799ee"> 9 <td valign=bottom> <br> 10 <font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="telemetry.html"><font color="#ffffff">telemetry</font></a>.<a href="telemetry.internal.html"><font color="#ffffff">internal</font></a>.<a href="telemetry.internal.platform.html"><font color="#ffffff">platform</font></a>.msr_server_win</strong></big></big></font></td 11 ><td align=right valign=bottom 12 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="../telemetry/internal/platform/msr_server_win.py">telemetry/internal/platform/msr_server_win.py</a></font></td></tr></table> 13 <p><tt>A server that serves MSR values over TCP. Takes a port as its sole parameter.<br> 14 <br> 15 The reference client for this server is msr_power_monitor.MsrPowerMonitor.<br> 16 <br> 17 Must be run as Administrator. We use TCP instead of named pipes or another IPC<br> 18 to avoid dealing with the pipe security mechanisms. We take the port as a<br> 19 parameter instead of choosing one, because it's hard to communicate the port<br> 20 number across integrity levels.<br> 21 <br> 22 Requires WinRing0 to be installed in the Python directory.<br> 23 msr_power_monitor.MsrPowerMonitor does this if needed.</tt></p> 24 <p> 25 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 26 <tr bgcolor="#aa55cc"> 27 <td colspan=3 valign=bottom> <br> 28 <font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr> 29 30 <tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td> 31 <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="SocketServer.html">SocketServer</a><br> 32 <a href="argparse.html">argparse</a><br> 33 </td><td width="25%" valign=top><a href="ctypes.html">ctypes</a><br> 34 <a href="os.html">os</a><br> 35 </td><td width="25%" valign=top><a href="struct.html">struct</a><br> 36 <a href="sys.html">sys</a><br> 37 </td><td width="25%" valign=top></td></tr></table></td></tr></table><p> 38 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 39 <tr bgcolor="#ee77aa"> 40 <td colspan=3 valign=bottom> <br> 41 <font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr> 42 43 <tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td> 44 <td width="100%"><dl> 45 <dt><font face="helvetica, arial"><a href="SocketServer.html#StreamRequestHandler">SocketServer.StreamRequestHandler</a>(<a href="SocketServer.html#BaseRequestHandler">SocketServer.BaseRequestHandler</a>) 46 </font></dt><dd> 47 <dl> 48 <dt><font face="helvetica, arial"><a href="telemetry.internal.platform.msr_server_win.html#MsrRequestHandler">MsrRequestHandler</a> 49 </font></dt></dl> 50 </dd> 51 <dt><font face="helvetica, arial"><a href="exceptions.html#OSError">exceptions.OSError</a>(<a href="exceptions.html#EnvironmentError">exceptions.EnvironmentError</a>) 52 </font></dt><dd> 53 <dl> 54 <dt><font face="helvetica, arial"><a href="telemetry.internal.platform.msr_server_win.html#WinRing0Error">WinRing0Error</a> 55 </font></dt></dl> 56 </dd> 57 </dl> 58 <p> 59 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 60 <tr bgcolor="#ffc8d8"> 61 <td colspan=3 valign=bottom> <br> 62 <font color="#000000" face="helvetica, arial"><a name="MsrRequestHandler">class <strong>MsrRequestHandler</strong></a>(<a href="SocketServer.html#StreamRequestHandler">SocketServer.StreamRequestHandler</a>)</font></td></tr> 63 64 <tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td> 65 <td width="100%"><dl><dt>Method resolution order:</dt> 66 <dd><a href="telemetry.internal.platform.msr_server_win.html#MsrRequestHandler">MsrRequestHandler</a></dd> 67 <dd><a href="SocketServer.html#StreamRequestHandler">SocketServer.StreamRequestHandler</a></dd> 68 <dd><a href="SocketServer.html#BaseRequestHandler">SocketServer.BaseRequestHandler</a></dd> 69 </dl> 70 <hr> 71 Methods defined here:<br> 72 <dl><dt><a name="MsrRequestHandler-handle"><strong>handle</strong></a>(self)</dt></dl> 73 74 <hr> 75 Methods inherited from <a href="SocketServer.html#StreamRequestHandler">SocketServer.StreamRequestHandler</a>:<br> 76 <dl><dt><a name="MsrRequestHandler-finish"><strong>finish</strong></a>(self)</dt></dl> 77 78 <dl><dt><a name="MsrRequestHandler-setup"><strong>setup</strong></a>(self)</dt></dl> 79 80 <hr> 81 Data and other attributes inherited from <a href="SocketServer.html#StreamRequestHandler">SocketServer.StreamRequestHandler</a>:<br> 82 <dl><dt><strong>disable_nagle_algorithm</strong> = False</dl> 83 84 <dl><dt><strong>rbufsize</strong> = -1</dl> 85 86 <dl><dt><strong>timeout</strong> = None</dl> 87 88 <dl><dt><strong>wbufsize</strong> = 0</dl> 89 90 <hr> 91 Methods inherited from <a href="SocketServer.html#BaseRequestHandler">SocketServer.BaseRequestHandler</a>:<br> 92 <dl><dt><a name="MsrRequestHandler-__init__"><strong>__init__</strong></a>(self, request, client_address, server)</dt></dl> 93 94 </td></tr></table> <p> 95 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 96 <tr bgcolor="#ffc8d8"> 97 <td colspan=3 valign=bottom> <br> 98 <font color="#000000" face="helvetica, arial"><a name="WinRing0Error">class <strong>WinRing0Error</strong></a>(<a href="exceptions.html#OSError">exceptions.OSError</a>)</font></td></tr> 99 100 <tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td> 101 <td width="100%"><dl><dt>Method resolution order:</dt> 102 <dd><a href="telemetry.internal.platform.msr_server_win.html#WinRing0Error">WinRing0Error</a></dd> 103 <dd><a href="exceptions.html#OSError">exceptions.OSError</a></dd> 104 <dd><a href="exceptions.html#EnvironmentError">exceptions.EnvironmentError</a></dd> 105 <dd><a href="exceptions.html#StandardError">exceptions.StandardError</a></dd> 106 <dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd> 107 <dd><a href="exceptions.html#BaseException">exceptions.BaseException</a></dd> 108 <dd><a href="__builtin__.html#object">__builtin__.object</a></dd> 109 </dl> 110 <hr> 111 Data descriptors defined here:<br> 112 <dl><dt><strong>__weakref__</strong></dt> 113 <dd><tt>list of weak references to the object (if defined)</tt></dd> 114 </dl> 115 <hr> 116 Methods inherited from <a href="exceptions.html#OSError">exceptions.OSError</a>:<br> 117 <dl><dt><a name="WinRing0Error-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#WinRing0Error-__init__">__init__</a>(...) initializes x; see help(type(x)) for signature</tt></dd></dl> 118 119 <hr> 120 Data and other attributes inherited from <a href="exceptions.html#OSError">exceptions.OSError</a>:<br> 121 <dl><dt><strong>__new__</strong> = <built-in method __new__ of type object><dd><tt>T.<a href="#WinRing0Error-__new__">__new__</a>(S, ...) -> a new object with type S, a subtype of T</tt></dl> 122 123 <hr> 124 Methods inherited from <a href="exceptions.html#EnvironmentError">exceptions.EnvironmentError</a>:<br> 125 <dl><dt><a name="WinRing0Error-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl> 126 127 <dl><dt><a name="WinRing0Error-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#WinRing0Error-__str__">__str__</a>() <==> str(x)</tt></dd></dl> 128 129 <hr> 130 Data descriptors inherited from <a href="exceptions.html#EnvironmentError">exceptions.EnvironmentError</a>:<br> 131 <dl><dt><strong>errno</strong></dt> 132 <dd><tt>exception errno</tt></dd> 133 </dl> 134 <dl><dt><strong>filename</strong></dt> 135 <dd><tt>exception filename</tt></dd> 136 </dl> 137 <dl><dt><strong>strerror</strong></dt> 138 <dd><tt>exception strerror</tt></dd> 139 </dl> 140 <hr> 141 Methods inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br> 142 <dl><dt><a name="WinRing0Error-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#WinRing0Error-__delattr__">__delattr__</a>('name') <==> del x.name</tt></dd></dl> 143 144 <dl><dt><a name="WinRing0Error-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#WinRing0Error-__getattribute__">__getattribute__</a>('name') <==> x.name</tt></dd></dl> 145 146 <dl><dt><a name="WinRing0Error-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#WinRing0Error-__getitem__">__getitem__</a>(y) <==> x[y]</tt></dd></dl> 147 148 <dl><dt><a name="WinRing0Error-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.<a href="#WinRing0Error-__getslice__">__getslice__</a>(i, j) <==> x[i:j]<br> 149 <br> 150 Use of negative indices is not supported.</tt></dd></dl> 151 152 <dl><dt><a name="WinRing0Error-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#WinRing0Error-__repr__">__repr__</a>() <==> repr(x)</tt></dd></dl> 153 154 <dl><dt><a name="WinRing0Error-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#WinRing0Error-__setattr__">__setattr__</a>('name', value) <==> x.name = value</tt></dd></dl> 155 156 <dl><dt><a name="WinRing0Error-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl> 157 158 <dl><dt><a name="WinRing0Error-__unicode__"><strong>__unicode__</strong></a>(...)</dt></dl> 159 160 <hr> 161 Data descriptors inherited from <a href="exceptions.html#BaseException">exceptions.BaseException</a>:<br> 162 <dl><dt><strong>__dict__</strong></dt> 163 </dl> 164 <dl><dt><strong>args</strong></dt> 165 </dl> 166 <dl><dt><strong>message</strong></dt> 167 </dl> 168 </td></tr></table></td></tr></table><p> 169 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 170 <tr bgcolor="#eeaa77"> 171 <td colspan=3 valign=bottom> <br> 172 <font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr> 173 174 <tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td> 175 <td width="100%"><dl><dt><a name="-main"><strong>main</strong></a>()</dt></dl> 176 </td></tr></table><p> 177 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 178 <tr bgcolor="#55aa55"> 179 <td colspan=3 valign=bottom> <br> 180 <font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr> 181 182 <tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td> 183 <td width="100%"><strong>WINRING0_STATUS_MESSAGES</strong> = ('No error', 'Unsupported platform', 'Driver not loaded. You may need to run as Administrator', 'Driver not found', 'Driver unloaded by other process', 'Driver not loaded because of executing on Network Drive', 'Unknown error')</td></tr></table> 184 </body></html>