如何从 IRP_MJ_CREATE 回调中获取 OpenResult?
How to get OpenResult from IRP_MJ_CREATE callback?
我在进程监视器中有一个事件,我正在尝试获取 OpenResult
值。
我在 IRP_MJ_CREATE
上注册并触发了一个回调,看起来像这样
ULONG CreateOperationCallback(PFLT_CALLBACK_DATA Data, PCFLT_RELATED_OBJECTS FltObjs)
{
if(Data->IoStatus.Status & FILE_CREATE)
{
DBGLOG("File created"); // :( not hit in the debugger
}
if(Data->Iopb->Parameters.Create.Options & FILE_CREATE)
{
DBGLOG("File created"); // :( not hit in the debugger
}
}
问题:如何从回调方法中获取 OpenResult
值?
根据 documentation for IRP_MJ_CREATE,IoStatus->Information
成员将设置为以下之一:
FILE_CREATED
FILE_DOES_NOT_EXIST
FILE_EXISTS
FILE_OPENED
FILE_OVERWRITTEN
FILE_SUPERSEDED
我在进程监视器中有一个事件,我正在尝试获取 OpenResult
值。
我在 IRP_MJ_CREATE
上注册并触发了一个回调,看起来像这样
ULONG CreateOperationCallback(PFLT_CALLBACK_DATA Data, PCFLT_RELATED_OBJECTS FltObjs)
{
if(Data->IoStatus.Status & FILE_CREATE)
{
DBGLOG("File created"); // :( not hit in the debugger
}
if(Data->Iopb->Parameters.Create.Options & FILE_CREATE)
{
DBGLOG("File created"); // :( not hit in the debugger
}
}
问题:如何从回调方法中获取 OpenResult
值?
根据 documentation for IRP_MJ_CREATE,IoStatus->Information
成员将设置为以下之一:
FILE_CREATED
FILE_DOES_NOT_EXIST
FILE_EXISTS
FILE_OPENED
FILE_OVERWRITTEN
FILE_SUPERSEDED