KdpRestoreBreakPointEx
VOID __stdcall KdpRestoreBreakPointEx(_DBGKD_MANIPULATE_STATE64 *m, _STRING *AdditionalData){
unsigned int Unused;
char *v5;
unsigned int i;
UINT64 Flags;
UINT64 ActualSize;
__int64 v9[3];
char Buffer[128];
LODWORD(ActualSize) = 0;
Unused = m->u.GetContext.Unused;
v9[0] = 56i64;
v9[1] = (__int64)m;
if( AdditionalData->Length == 4i64 * Unused
&& (LODWORD(Flags) = 4,
KdpCopyMemoryChunks((UINT64)AdditionalData->Buffer, Buffer, 4 * Unused, 0i64, Flags, &ActualSize),
(unsigned int)ActualSize == 4i64 * m->u.GetContext.Unused) )
{
m->ReturnStatus = 0;
v5 = Buffer;
for( i = 0; i < m->u.GetContext.Unused; v5 += 4 )
{
if( !KdpDeleteBreakpoint(*(unsigned int *)v5) )
m->ReturnStatus = -1073741823;
++i;
}
}
else
{
m->ReturnStatus = -1073741823;
}
KdSendPacket(2i64, v9, AdditionalData, &KdpContext);
}Referenced by:
KdpSendWaitContinue