19#include <introvirt/util/json/json.hh>
70 virtual uint64_t
Size()
const = 0;
71 virtual void Size(uint64_t size) = 0;
73 virtual uint64_t
Value()
const = 0;
74 virtual void Value(uint64_t value) = 0;
104 virtual void write(std::ostream& os,
const std::string& linePrefix =
"")
const = 0;
111 virtual Json::Value
json()
const = 0;
202 virtual void write(std::ostream& os,
const std::string& linePrefix =
"")
const = 0;
209 virtual Json::Value
json()
const = 0;
Definition guest_ptr.hh:88
Abstraction for the Windows NT kernel.
Definition NtKernel.hh:37
Definition PS_ATTRIBUTE_LIST.hh:116
virtual ~PS_ATTRIBUTE_LIST()=default
virtual Json::Value json() const =0
Get a Json respresentation of the buffer.
static std::unique_ptr< PS_ATTRIBUTE_LIST > make_unique(const NtKernel &kernel, const guest_ptr< void > &ptr)
virtual iterator erase(const const_iterator &iter)=0
Remove an element from the list.
virtual PS_ATTRIBUTE & operator[](uint32_t index)=0
Get an entry at the specified index.
virtual const_iterator end() const =0
Get the end iterator.
virtual guest_ptr< void > ptr() const =0
Get the address of the buffer.
virtual iterator end()=0
Get the end iterator.
virtual PS_ATTRIBUTE & at(uint32_t index)=0
Get an entry at the specified index.
virtual uint32_t length() const =0
Get the number of entries.
virtual const PS_ATTRIBUTE & operator[](uint32_t index) const =0
virtual uint32_t buffer_size() const =0
Get the total size of the buffer in bytes.
virtual void write(std::ostream &os, const std::string &linePrefix="") const =0
Write out a human-readable representation.
virtual iterator begin()=0
Get an iterator to the first entry.
virtual const PS_ATTRIBUTE & at(uint32_t index) const =0
virtual const_iterator begin() const =0
Get an iterator to the first entry.
Definition PS_ATTRIBUTE_LIST.hh:61
virtual ~PS_ATTRIBUTE()=default
virtual void AttributeThreads(bool threads)=0
virtual PS_ATTRIBUTE_NUM AttributeNumber() const =0
virtual bool AttributeInputOnly() const =0
virtual void ReturnLength(uint64_t len)=0
virtual void Value(uint64_t value)=0
virtual Json::Value json() const =0
Get a Json respresentation of the buffer.
virtual bool AttributeThreads() const =0
virtual uint64_t Size() const =0
virtual void write(std::ostream &os, const std::string &linePrefix="") const =0
Write out a human-readable representation.
virtual void Size(uint64_t size)=0
virtual void AttributeNumber(PS_ATTRIBUTE_NUM num)=0
virtual uint64_t ReturnLength() const =0
virtual uint64_t Value() const =0
virtual void AttributeInputOnly(bool input)=0
virtual guest_ptr< void > ptr() const =0
Get the address of this entry.
virtual void AttributeFlags(uint32_t flags)=0
virtual uint32_t AttributeFlags() const =0
Iterator helper for _INFORMATION types that have a fixed array result.
Definition array_iterator.hh:35
Type-safe guest virtual address pointer and guest_ptr template.
PS_ATTRIBUTE_NUM
Definition PS_ATTRIBUTE_LIST.hh:30
@ PsAttributeStdHandleInfo
Definition PS_ATTRIBUTE_LIST.hh:41
@ PsAttributeImageName
Definition PS_ATTRIBUTE_LIST.hh:36
@ PsAttributeUmsThread
Definition PS_ATTRIBUTE_LIST.hh:46
@ PsAttributeJobList
Definition PS_ATTRIBUTE_LIST.hh:50
@ PsAttributeImageInfo
Definition PS_ATTRIBUTE_LIST.hh:37
@ PsAttributeBnoIsolation
Definition PS_ATTRIBUTE_LIST.hh:55
@ PsAttributeMitigationOptions
Definition PS_ATTRIBUTE_LIST.hh:47
@ PsAttributeTebAddress
Definition PS_ATTRIBUTE_LIST.hh:35
@ PsAttributeAllApplicationPackagesPolicy
Definition PS_ATTRIBUTE_LIST.hh:52
@ PsAttributePreferredNode
Definition PS_ATTRIBUTE_LIST.hh:44
@ PsAttributeChpe
Definition PS_ATTRIBUTE_LIST.hh:57
@ PsAttributeSecurityCapabilities
Definition PS_ATTRIBUTE_LIST.hh:49
@ PsAttributePriorityClass
Definition PS_ATTRIBUTE_LIST.hh:39
@ PsAttributeDesktopAppPolicy
Definition PS_ATTRIBUTE_LIST.hh:56
@ PsAttributeWin32kFilter
Definition PS_ATTRIBUTE_LIST.hh:53
@ PsAttributeSafeOpenPromptOriginClaim
Definition PS_ATTRIBUTE_LIST.hh:54
@ PsAttributeParentProcess
Definition PS_ATTRIBUTE_LIST.hh:31
@ PsAttributeIdealProcessor
Definition PS_ATTRIBUTE_LIST.hh:45
@ PsAttributeChildProcessPolicy
Definition PS_ATTRIBUTE_LIST.hh:51
@ PsAttributeProtectionLevel
Definition PS_ATTRIBUTE_LIST.hh:48
@ PsAttributeMemoryReserve
Definition PS_ATTRIBUTE_LIST.hh:38
@ PsAttributeClientId
Definition PS_ATTRIBUTE_LIST.hh:34
@ PsAttributeMax
Definition PS_ATTRIBUTE_LIST.hh:58
@ PsAttributeGroupAffinity
Definition PS_ATTRIBUTE_LIST.hh:43
@ PsAttributeErrorMode
Definition PS_ATTRIBUTE_LIST.hh:40
@ PsAttributeToken
Definition PS_ATTRIBUTE_LIST.hh:33
@ PsAttributeDebugPort
Definition PS_ATTRIBUTE_LIST.hh:32
@ PsAttributeHandleList
Definition PS_ATTRIBUTE_LIST.hh:42
std::ostream & operator<<(std::ostream &, APPHELPCACHESERVICECLASS val)
const std::string & to_string(APPHELPCACHESERVICECLASS val)
Core IntroVirt classes.
Definition Cr0.hh:20