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> 15The reference client for this server is msr_power_monitor.MsrPowerMonitor.<br> 16 <br> 17Must be run as Administrator. We use TCP instead of named pipes or another IPC<br> 18to avoid dealing with the pipe security mechanisms. We take the port as a<br> 19parameter instead of choosing one, because it's hard to communicate the port<br> 20number across integrity levels.<br> 21 <br> 22Requires WinRing0 to be installed in the Python directory.<br> 23msr_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> 71Methods defined here:<br> 72<dl><dt><a name="MsrRequestHandler-handle"><strong>handle</strong></a>(self)</dt></dl> 73 74<hr> 75Methods 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> 81Data 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> 91Methods 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> 111Data 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> 116Methods 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> 120Data 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> 124Methods 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> 130Data 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> 141Methods 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> 150Use 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> 161Data 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>