viewer9 documentation

ReadFile PML Operation

IoFlags ("I/O Flags" in Procmon) and Priority are bit flags fields. Size ("Length" in Procmon except on ResultCode SUCCESS, when BytesRead is "Length" in Procmon) is a 32-bit integer indicating the maximum number of bytes to read. Offset is a 64-bit integer. Address (not displayed in Procmon) is a memory address observed in the data that might reflect something about the way the API was called, and it is displayed in hex.

BytesRead ("Length" in Procmon only on ResultCode SUCCESS, as mentioned above) is a 32-bit integer in evresults.

Example from 64-bit PML

Hover over field values like Time, ResultCode, IoFlags, Priority, and bytes of evdata and evresults in this example to see tooltips as they appear in viewer9. The tooltip of the first byte of a color patch tells the field name.

ReadFile opcode=3,23

ev=176 advop=IRP_MJ_READ fileread=32768 B

Time:2022-05-17 19:41:45.6025184
Duration:0.0023934
ResultCode:SUCCESS
Tid:912
Path:C:\Windows\Fonts\micross.ttf
IoFlags:Non-cached, Paging I/O, Synchronous Paging I/O
Priority:Normal
Size:32768
Offset:245760
Address:0xffff8b8b35ae6340
BytesRead:32768

evdata[0-97] file offset 31986

000 10 00 00 00 00 00 00 ........
843 00 06 00 01 00 00 00 C.......
1600 80 00 00 00 00 00 00 ........
2400 00 00 00 00 00 00 00 ........
3200 c0 03 00 00 00 00 00 ........
4000 00 00 00 00 00 00 00 ........
4840 63 ae 35 8b 8b ff ff @c.5....
5600 00 00 00 00 00 00 00 ........
641c 80 70 00 43 3a 5c 57 ..p.C:\W
7269 6e 64 6f 77 73 5c 46 indows\F
806f 6e 74 73 5c 6d 69 63 onts\mic
8872 6f 73 73 2e 74 74 66 ross.ttf
9679 92 y.

evresults[0-7] file offset 32086

000 80 00 00 00 00 00 00 ........

Call Stack stacksize=20

StackAddressmodModNameModPath
0xfffff80434e8608c172FLTMGR.SYS + 0x608cC:\WINDOWS\System32\drivers\FLTMGR.SYS
0xfffff80434e85b37172FLTMGR.SYS + 0x5b37C:\WINDOWS\System32\drivers\FLTMGR.SYS
0xfffff80434e84b46172FLTMGR.SYS + 0x4b46C:\WINDOWS\System32\drivers\FLTMGR.SYS
0xfffff80434e848bb172FLTMGR.SYS + 0x48bbC:\WINDOWS\System32\drivers\FLTMGR.SYS
0xfffff80437c52f55174ntoskrnl.exe + 0x252f55C:\WINDOWS\system32\ntoskrnl.exe
0xfffff80437c80d77174ntoskrnl.exe + 0x280d77C:\WINDOWS\system32\ntoskrnl.exe
0xfffff80437cb6f0a174ntoskrnl.exe + 0x2b6f0aC:\WINDOWS\system32\ntoskrnl.exe
0xfffff80437cb4a0d174ntoskrnl.exe + 0x2b4a0dC:\WINDOWS\system32\ntoskrnl.exe
0xfffff80437c0c9c8174ntoskrnl.exe + 0x20c9c8C:\WINDOWS\system32\ntoskrnl.exe
0xfffff80437e03f5e174ntoskrnl.exe + 0x403f5eC:\WINDOWS\system32\ntoskrnl.exe
0x7ff72b7d9cbb493fontdrvhost.exe + 0x9cbbC:\WINDOWS\system32\fontdrvhost.exe
0x7ff72b7d926d493fontdrvhost.exe + 0x926dC:\WINDOWS\system32\fontdrvhost.exe
0x7ff72b7d7c48493fontdrvhost.exe + 0x7c48C:\WINDOWS\system32\fontdrvhost.exe
0x7ff72b7d5e8a493fontdrvhost.exe + 0x5e8aC:\WINDOWS\system32\fontdrvhost.exe
0x7ff72b7d5c1f493fontdrvhost.exe + 0x5c1fC:\WINDOWS\system32\fontdrvhost.exe
0x7ff72b7d59ed493fontdrvhost.exe + 0x59edC:\WINDOWS\system32\fontdrvhost.exe
0x7ff72b7e36bb493fontdrvhost.exe + 0x136bbC:\WINDOWS\system32\fontdrvhost.exe
0x7ff72b7fd29b493fontdrvhost.exe + 0x2d29bC:\WINDOWS\system32\fontdrvhost.exe
0x7ffc91c1703470KERNEL32.DLL + 0x17034C:\WINDOWS\System32\KERNEL32.DLL
0x7ffc927a265177ntdll.dll + 0x52651C:\WINDOWS\SYSTEM32\ntdll.dll

Advanced names

ReadFile events can also be queried with advop which varies based on evdata[12] (see PML Binary Data and Results Offsets):

  • FASTIO_READ evdata[12]=0x02
  • IRP_MJ_READ evdata[12]=0x01

See also

Posted 4 Jul 2022 last updated 15 Nov 2022   As viewer9 is just starting out, discussion is invited via email. Please send questions and comments to forum@viewer9.com directly. Threads that might be valuable to other users will be posted as part of the documentation. Posted messages will not include your address or your full name, and might be shortened for brevity.

Copyright 2022, bryantlite, Inc.