ST_STORE::StDmPageError
__int64 __fastcall ST_STORE::StDmPageError(
VOID *VirtualAddress,
PVOID BugCheckParameter3,
PVOID BugCheckParameter4,
__int64 a4,
__int64 a5,
int a6){
UINT64 v10;
VOID *v11;
__int64 v12;
unsigned int v13;
__int64 result;
VOID *CorruptionFlags;
v11 = SmEtwEnabled((unsigned __int8)*((_DWORD *)VirtualAddress + 194) == 0 ? SmEtwKeywordStoreDiag : SmEtwKeywordStoreOps);
if( v11 )
{
if( a6 != -1073741116 )
v10 = 1i64;
LOWORD(CorruptionFlags) = *(_WORD *)(v12 + 4);
SmEtwLogStoreCorruption(v11, v10, VirtualAddress, (UINT16)BugCheckParameter3, CorruptionFlags);
}
v13 = (*((_DWORD *)VirtualAddress + 208) >> 5) & 3;
if( v13 >= 2 && (_BYTE)KdDebuggerEnabled )
__debugbreak();
if( (*((_DWORD *)VirtualAddress + 194) & 0x40000) == 0
|| a6 != -1073741116
|| (result = ST_STORE::StDmHandleDecompressionFailure(
(__int64)VirtualAddress,
(char *)BugCheckParameter3,
(char *)BugCheckParameter4,
(int *)a4,
a5),
!(_DWORD)result) )
{
if( v13 >= 3 )
KeBugCheckEx(0x12Bu, (PVOID)a6, (PVOID)*(unsigned __int16 *)(a4 + 4), BugCheckParameter3, BugCheckParameter4);
return 0i64;
}
return result;
}
Referenced by:
No references.