IoChangeFileObjectFilterContext
NTSTATUS __stdcall IoChangeFileObjectFilterContext(_FILE_OBJECT *FileObject, PVOID FilterContext, UINT8 Set){
signed __int64 v3;
char v4;
bool v5;
VOID *FoExt;
FoExt = 0i64;
if( !FileObject->FileObjectExtension )
return -1073741811;
IopGetFileObjectExtension(FileObject, FoExtTypeGeneric, &FoExt);
if( v4 )
v5 = _InterlockedCompareExchange64((volatile signed __int64 *)FoExt + 4, v3, 0i64) == 0;
else
v5 = v3 == _InterlockedCompareExchange64((volatile signed __int64 *)FoExt + 4, 0i64, v3);
if( v5 )
return 0;
else
return -1073741791;
}Referenced by:
FsRtlInsertPerFileObjectContext
FsRtlPTeardownPerFileObjectContexts