HvlAddPagesCallbackRoutine
VOID __stdcall HvlAddPagesCallbackRoutine(
_KBUGCHECK_CALLBACK_REASON Reason,
_KBUGCHECK_REASON_CALLBACK_RECORD *Record,
VOID *ReasonSpecificData,
UINT64 ReasonSpecificDataLength){
NTSTATUS PageList;
__int64 BasePage[3];
UINT64 PageCount;
*((_QWORD *)ReasonSpecificData + 3) = 0i64;
*((_DWORD *)ReasonSpecificData + 2) = 0;
BasePage[0] = 0i64;
LODWORD(PageCount) = 0;
if( *(&stru_140C452E0 + 1021) && (*(_DWORD *)(*(&stru_140C452E0 + 1021) + 4i64) & 1) != 0 && qword_140C47330 )
{
if( !*(_QWORD *)ReasonSpecificData )
{
*(_QWORD *)ReasonSpecificData = &xmmword_140C47300;
LOBYTE(xmmword_140C47300) = 1;
HvlpStartPageListIteration(1i64);
}
PageList = HvlpGetPageList(HvlPageListCrashdump, (UINT64 *)BasePage, &PageCount);
if( (_DWORD)PageCount )
{
*((_QWORD *)ReasonSpecificData + 3) = (unsigned int)PageCount;
*((_QWORD *)ReasonSpecificData + 2) = BasePage[0];
*((_DWORD *)ReasonSpecificData + 2) = 2;
}
if( PageList == 261 )
{
*((_DWORD *)ReasonSpecificData + 2) |= 0x80000000;
}
else
{
*(&stru_140C452E0 + 993) = 0i64;
*(&stru_140C452E0 + 1984) = 0;
LOBYTE(xmmword_140C47300) = 0;
*(_QWORD *)ReasonSpecificData = 0i64;
}
}
}Referenced by:
No references.