📄 diskmon.shtml
字号:
<td colspan="2" valign="top">
<table width="570" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td colspan="3" height="429"><!-- #BeginEditable "Body" -->
<TABLE CELLSPACING="10" CELLPADDING="0" WIDTH="408">
<TR valign="top" align="left">
<TD COLSPAN="2" width="651">
<table width="580" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">
<table width="569" border="0" cellspacing="0" cellpadding="0" dwcopytype="CopyTableRow">
<tr>
<td colspan="3"><b></b></td>
</tr>
<tr>
<td colspan="3" valign="top"><span class='include'>Last
updated October, 14 1999 v1.1</span>
<hr>
</td>
</tr>
<tr>
<td colspan="3" height="40" valign="middle"><span class='sectionheader'>Introduction</span>
</td>
</tr>
<tr>
<td valign="TOP" colspan="3" align="left"><i>Diskmon</i>
is a Windows NT device driver/GUI combination that
together log and display all process activity on
a Windows NT/2000 system. You can also minimize
<i>Diskmon</i> to your system tray where it acts
as a disk light, presenting a green icon when there
is disk-read activity and a red icon when there
is disk-write activity. <br>
<br>
<i>Diskmon</i> works on NT 4.0 and Windows 2000.</td>
</tr>
<tr>
<td colspan="3" height="40" valign="middle"><span class='sectionheader'>Installation
and Use</span></td>
</tr>
<tr>
<td valign="TOP" colspan="3"> Installing <i>Diskmon
</i>is as easy as unzipping it and typing, "diskmon."
The GUI dynamically loads the driver (based on code
from the instdrv sample in the Windows NT DDK),
which begins monitoring all hard drives. The menus
and toolbar buttons can be used to disable event
capturing, control the scrolling of the listview,
and to save the listview contents to an ASCII file.<br>
<br>
To have <i>Diskmon</i> function as a disk light
in your system tray, select the Options|Minimize
to Tray menu item, or start <i>Diskmon</i> with
a "/l" command-line switch e.g. diskmon
/l. To reactivate the <i>Diskmon</i> window double-click
on the <i>Diskmon</i> tray icon.<br>
<br>
Read and write offsets are presented in terms of
sectors (512 bytes). Events can be either timed
for their duration (in microseconds), or stamped
with the absolute time that they were initiated.
The History Depth dialog can be used to specify
the maximum number of records that will be kept
in the GUI (0 signifies no limit).<br><br>
<img src="../../images/screenshots/dmonshot.gif" width="549" height="310"></td>
</tr>
<tr>
<td height="40" colspan="3" valign="middle"><span class='sectionheader'>Implementation</span></td>
</tr>
<tr>
<td colspan="3" valign="TOP"> Using standard filtering
techniques it is not possible for a dynamically
loaded driver like <i>Diskmon</i> to attach to hard
disk device objects and see requests originating
in file systems.This is because file system drivers
open disk devices during system initialization and,
unlike the I/O Manager, file system drivers send
IRPs directly at these devices. The I/O Manager
allows for file system filter drivers to attach
to file system devices after initialization because
it checks for attached devices whenever it is going
to send an Irp to a file system, and will direct
the Irps to them instead. <br>
<br>
<i>Diskmon</i> overcomes this limitation by using
the technique I've developed of driver function
interception. <i>Diskmon</i> locates a disk device's
driver object and replaces the driver's dispatch
entry points with its own. The <i>Diskmon</i> filter
functions pass Irps it sees onto the hooked driver,
and also intercepts completion routines in a similar
way so that it can see the results of requests.</td>
</tr>
<tr>
<td colspan="3" height="40" valign="middle" align="center">
<p> </p><p> </p>
<p><a href="../../files/diskmon.zip"><b>Download Diskmon
(41KB)</b></a></p>
<a href="#top"><b>Back to Top</b></a> </td>
</tr>
</table>
</td>
</tr>
</table>
</TD>
</TR>
</TABLE>
<!-- #EndEditable --></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<!-- #EndTemplate --></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -