All,
I have a simple test code it goes as follows:
HANDLE hFile;
hFile = CreateFile( NameBuffer,
GENERIC_READ,
FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_DELETE_ON_CLOSE,
NULL);
LARGE_INTEGER QueriedSize;
memset(&QueriedSize, 0, sizeof(LARGE_INTEGER));
GetFileSizeEx(hFile, &QueriedSize);
This shows up logs in ProcMon as follows:
IRP_MJ_CREATE On the File pointed to by NameBuffer
FASTIO_QUERY_INFORMATION Type : QueryStandardInformationFile
In My mini filter I am looking into IRP_MJ_SET_INFO and IRP_MJ_QUERY_INFO,
so in the Pre-Op for the Query Handler,
*should I expect to hit my break point when FASTIO_QUERY_INFORMATION comes?*
The handler is registered as follows:
{ IRP_MJ_QUERY_INFORMATION,
0,
MyQueryPreOp,
MyQueryPostOp },
Because it doesn’t come as all, yet the requst for FASTIO suceeds.
If this is not the right way to handle it, please do let me know what I am
doing incorrectly?
thanks
Al