Hi,
I would like to hook on paging io write operation. Can someone please
explain why some apps (e.g. Winzip) do not cause paging io write? I only
notice normal write operation when it is modified across Microsoft network
drive.
I also notice (using filemon) most of the applications have paging io write
when their data is modified across the network. However, when my driver is
attached, I simply pass through the write operation to the lower driver.
This time I don’t see any paging io write. For example, I modify a bitmap
file with and without my driver attached. The output from filemon is shown
below:
What cause this different behavior? Any information is appreciated.
Regards,
Sin-Lam
=======================================================================
No driver attached
IRP_MJ_CREATE K:\decrypt\setup.bmp SUCCESS Attributes: Any Options: Open
FASTIO_QUERY_BASIC_INFO K:\decrypt\setup.bmp FAILURE
IRP_MJ_QUERY_INFORMATION K:\decrypt\setup.bmp SUCCESS FileBasicInformation
IRP_MJ_CLEANUP K:\decrypt\setup.bmp SUCCESS
IRP_MJ_CLOSE K:\decrypt\setup.bmp SUCCESS
IRP_MJ_WRITE K:\decrypt\setup.bmp SUCCESS Offset: 0 Length: 14
IRP_MJ_READ* K:\decrypt\setup.bmp SUCCESS Offset: 0 Length: 4096
FASTIO_CHECK_IF_POSSIBLE K:\decrypt\setup.bmp SUCCESS Write: Offset: 14
Length: 104
FASTIO_WRITE K:\decrypt\setup.bmp SUCCESS Offset: 14 Length: 104
FASTIO_CHECK_IF_POSSIBLE K:\decrypt\setup.bmp SUCCESS Write: Offset: 118
Length: 16384
IRP_MJ_READ* K:\decrypt\setup.bmp SUCCESS Offset: 16384 Length: 4096
FASTIO_WRITE K:\decrypt\setup.bmp SUCCESS Offset: 118 Length: 16384
FASTIO_CHECK_IF_POSSIBLE K:\decrypt\setup.bmp SUCCESS Write: Offset: 16502
Length: 16384
IRP_MJ_READ* K:\decrypt\setup.bmp SUCCESS Offset: 32768 Length: 4096
FASTIO_WRITE K:\decrypt\setup.bmp SUCCESS Offset: 16502 Length: 16384
FASTIO_CHECK_IF_POSSIBLE K:\decrypt\setup.bmp SUCCESS Write: Offset: 32886
Length: 16384
IRP_MJ_READ* K:\decrypt\setup.bmp SUCCESS Offset: 49152 Length: 4096
FASTIO_WRITE K:\decrypt\setup.bmp SUCCESS Offset: 32886 Length: 16384
FASTIO_CHECK_IF_POSSIBLE K:\decrypt\setup.bmp SUCCESS Write: Offset: 49270
Length: 16384
IRP_MJ_READ* K:\decrypt\setup.bmp SUCCESS Offset: 65536 Length: 4096
FASTIO_WRITE K:\decrypt\setup.bmp SUCCESS Offset: 49270 Length: 16384
FASTIO_CHECK_IF_POSSIBLE K:\decrypt\setup.bmp SUCCESS Write: Offset: 65654
Length: 16384
IRP_MJ_READ* K:\decrypt\setup.bmp SUCCESS Offset: 81920 Length: 4096
FASTIO_WRITE K:\decrypt\setup.bmp SUCCESS Offset: 65654 Length: 16384
FASTIO_CHECK_IF_POSSIBLE K:\decrypt\setup.bmp SUCCESS Write: Offset: 82038
Length: 16384
IRP_MJ_READ* K:\decrypt\setup.bmp SUCCESS Offset: 98304 Length: 4096
FASTIO_WRITE K:\decrypt\setup.bmp SUCCESS Offset: 82038 Length: 16384
FASTIO_CHECK_IF_POSSIBLE K:\decrypt\setup.bmp SUCCESS Write: Offset: 98422
Length: 16384
IRP_MJ_READ* K:\decrypt\setup.bmp SUCCESS Offset: 114688 Length: 4096
FASTIO_WRITE K:\decrypt\setup.bmp SUCCESS Offset: 98422 Length: 16384
FASTIO_CHECK_IF_POSSIBLE K:\decrypt\setup.bmp SUCCESS Write: Offset: 114806
Length: 16384
IRP_MJ_READ* K:\decrypt\setup.bmp SUCCESS Offset: 131072 Length: 4096
FASTIO_WRITE K:\decrypt\setup.bmp SUCCESS Offset: 114806 Length: 16384
FASTIO_CHECK_IF_POSSIBLE K:\decrypt\setup.bmp SUCCESS Write: Offset: 131190
Length: 16384
IRP_MJ_READ* K:\decrypt\setup.bmp SUCCESS Offset: 147456 Length: 4096
FASTIO_WRITE K:\decrypt\setup.bmp SUCCESS Offset: 131190 Length: 16384
FASTIO_CHECK_IF_POSSIBLE K:\decrypt\setup.bmp SUCCESS Write: Offset: 147574
Length: 6144
IRP_MJ_READ* K:\decrypt\setup.bmp SUCCESS Offset: 151552 Length: 4096
FASTIO_WRITE K:\decrypt\setup.bmp SUCCESS Offset: 147574 Length: 6144
IRP_MJ_FLUSH K:\decrypt\setup.bmp SUCCESS
IRP_MJ_WRITE* K:\decrypt\setup.bmp SUCCESS Offset: 0 Length: 65536
IRP_MJ_WRITE* K:\decrypt\setup.bmp SUCCESS Offset: 65536 Length: 65536
IRP_MJ_WRITE* K:\decrypt\setup.bmp SUCCESS Offset: 131072 Length: 24576
With my driver attached
IRP_MJ_CREATE K:\BlockSwap\setup.bmp SUCCESS Attributes: Any Options: Open
FASTIO_QUERY_BASIC_INFO K:\BlockSwap\setup.bmp FAILURE
IRP_MJ_QUERY_INFORMATION K:\BlockSwap\setup.bmp SUCCESS FileBasicInformation
IRP_MJ_CLEANUP K:\BlockSwap\setup.bmp SUCCESS
IRP_MJ_CLOSE K:\BlockSwap\setup.bmp SUCCESS
IRP_MJ_WRITE K:\BlockSwap\setup.bmp SUCCESS Offset: 0 Length: 14
IRP_MJ_WRITE K:\BlockSwap\setup.bmp SUCCESS Offset: 14 Length: 104
IRP_MJ_WRITE K:\BlockSwap\setup.bmp SUCCESS Offset: 118 Length: 16384
IRP_MJ_WRITE K:\BlockSwap\setup.bmp SUCCESS Offset: 16502 Length: 16384
IRP_MJ_WRITE K:\BlockSwap\setup.bmp SUCCESS Offset: 32886 Length: 16384
IRP_MJ_WRITE K:\BlockSwap\setup.bmp SUCCESS Offset: 49270 Length: 16384
IRP_MJ_WRITE K:\BlockSwap\setup.bmp SUCCESS Offset: 65654 Length: 16384
IRP_MJ_WRITE K:\BlockSwap\setup.bmp SUCCESS Offset: 82038 Length: 16384
IRP_MJ_WRITE K:\BlockSwap\setup.bmp SUCCESS Offset: 98422 Length: 16384
IRP_MJ_WRITE K:\BlockSwap\setup.bmp SUCCESS Offset: 114806 Length: 16384
IRP_MJ_WRITE K:\BlockSwap\setup.bmp SUCCESS Offset: 131190 Length: 16384
IRP_MJ_WRITE K:\BlockSwap\setup.bmp SUCCESS Offset: 147574 Length: 6144
IRP_MJ_FLUSH K:\BlockSwap\setup.bmp SUCCESS
IRP_MJ_READ K:\BlockSwap\setup.bmp SUCCESS Offset: 153712 Length: 16
IRP_MJ_SET_INFORMATION K:\BlockSwap\setup.bmp SUCCESS
FileEndOfFileInformation
IRP_MJ_SET_INFORMATION K:\BlockSwap\setup.bmp SUCCESS
FileAllocationInformation
IRP_MJ_CLEANUP K:\BlockSwap\setup.bmp SUCCESS