如何从 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_CREATEIoStatus->Information 成员将设置为以下之一:

FILE_CREATED
FILE_DOES_NOT_EXIST
FILE_EXISTS
FILE_OPENED
FILE_OVERWRITTEN
FILE_SUPERSEDED