HvlIterateSecurePagesForHibernation
INT64 __fastcall HvlIterateSecurePagesForHibernation(INT64 a1, INT64 a2, UINT8 *a3, _DWORD *a4){
CHAR v4;
UINT8 v5;
INT64 result;
NTSTATUS SecurePageList;
UINT64 v8;
int a3a;
LONGLONG *v10;
INT64 a4a;
a4a = a1;
v4 = (char)a3;
v10 = 0i64;
v5 = a2;
a3a = 0;
LODWORD(v8) = (HvlpHibernateScratchPageCount - 2) << 12;
result = HvlpStartSecurePageListIteration(
0i64,
3ui64,
(CHAR *)HvlpHibernateScratchPage + 4096,
(char *)HvlpHibernateScratchPage + (unsigned int)v8 + 4096,
v8,
&v10);
if( (int)result >= 0 )
{
do
{
LOBYTE(a4a) = 0;
SecurePageList = VslGetSecurePageList(1u, 0i64, &a3a, &a4a);
if( SecurePageList >= 0 )
PopWriteSecurePagesCallback(v5);
}
while( !SecurePageList );
HvlpEndSecurePageListIteration(0i64, v4);
if( SecurePageList == -2147483622 )
return 0;
return(unsigned int)SecurePageList;
}
return result;
}Referenced by:
PopWriteSecurePages