HvlDiscardSecurePagesFromHibernation
NTSTATUS __stdcall HvlDiscardSecurePagesFromHibernation(PVOID MemoryMap){
NTSTATUS result;
LONGLONG *v3;
NTSTATUS SecurePageList;
unsigned int i;
unsigned __int64 v6;
UINT64 Tag;
UINT64 Taga;
LONGLONG *a4;
a4 = 0i64;
LODWORD(Tag) = 0;
result = HvlpStartSecurePageListIteration(0i64, 7ui64, 0i64, 0i64, Tag, &a4);
if( result >= 0 )
{
v3 = a4;
do
{
LOBYTE(a4) = 0;
SecurePageList = VslGetSecurePageList(1u, 0i64, 0i64, &a4);
if( SecurePageList >= 0 )
{
for( i = 0; i < *((unsigned __int16 *)v3 + 4); ++i )
{
LODWORD(Taga) = 1751938632;
v6 = v3[i + 2];
PoSetHiberRange(MemoryMap, 0xC000ui64, (VOID *)(v6 & 0xFFFFFFFFFFi64), (v6 >> 40) + 1, Taga);
}
}
}
while( !SecurePageList );
HvlpEndSecurePageListIteration(0i64, 0);
return HvlDiscardPagesFromHibernation(MemoryMap);
}
return result;
}Referenced by:
PopSaveHiberContext