Bitdefender Hypervisor Memory Introspection
structs.c File Reference
#include "structs.h"

Go to the source code of this file.

Functions

INTSTATUS IntStructFill (const void *Buffer, size_t Size, INT_STRUCT_INVARIANT *Invariants, size_t Count, BOOLEAN LogErrors, void *Context)
 Fill an internal structure with information gathered from the guest by applying a list of invariants on buffer. More...
 

Function Documentation

◆ IntStructFill()

INTSTATUS IntStructFill ( const void *  Buffer,
size_t  Size,
INT_STRUCT_INVARIANT Invariants,
size_t  Count,
BOOLEAN  LogErrors,
void *  Context 
)

Fill an internal structure with information gathered from the guest by applying a list of invariants on buffer.

Will simply iterate through the buffer, letting the invariants increment the offsets where they are applied and set each invariants' known offset to the one where it was successful, then go to the next one.

Parameters
[in]BufferThe buffer in which to perform the search.
[in]SizeThe size of the buffer.
[in,out]InvariantsList of invariants that are to be applied on the buffer.
[in]CountThe number of invariants to be applied.
[in]LogErrorsSet to TRUE if this function should log any errors on failure.
[in,out]ContextContext to be given to each invariant callback, can be anything.
Returns
INT_STATUS_SUCCESS if successful, or an appropriate INTSTATUS error value.

Definition at line 8 of file structs.c.

Referenced by IntWinNetFillTcpStruct().