libintrovirt
v0.57.4
IntroVirt introspection library
Loading...
Searching...
No Matches
DISPATCHER_HEADER.hh
Go to the documentation of this file.
1
/*
2
* Copyright 2021 Assured Information Security, Inc.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
#pragma once
17
18
#include <
introvirt/core/fwd.hh
>
19
#include <
introvirt/windows/kernel/nt/fwd.hh
>
20
21
#include <cstdint>
22
#include <memory>
23
24
namespace
introvirt
{
25
namespace
windows {
26
namespace
nt {
27
28
class
DISPATCHER_HEADER
{
29
public
:
30
enum class
ObjectType
{
31
EventNotificationObject
= 0,
32
EventSynchronizationObject
= 1,
33
MutantObject
= 2,
34
ProcessObject
= 3,
35
QueueObject
= 4,
36
SemaphoreObject
= 5,
37
ThreadObject
= 6,
38
GateObject
= 7,
39
TimerNotificationObject
= 8,
40
TimerSynchronizationObject
= 9,
41
Spare2Object
= 10,
42
Spare3Object
= 11,
43
Spare4Object
= 12,
44
Spare5Object
= 13,
45
Spare6Object
= 14,
46
Spare7Object
= 15,
47
Spare8Object
= 16,
48
Spare9Object
= 17,
49
ApcObject
= 18,
50
DpcObject
= 19,
51
DeviceQueueObject
= 20,
52
EventPairObject
= 21,
53
InterruptObject
= 22,
54
ProfileObject
= 23,
55
ThreadedDpcObject
= 24,
56
};
57
61
virtual
DISPATCHER_HEADER::ObjectType
Type
()
const
= 0;
62
69
virtual
bool
Absolute
()
const
= 0;
70
77
virtual
uint32_t
Size
()
const
= 0;
78
84
virtual
bool
Inserted
()
const
= 0;
85
92
virtual
int32_t
SignalState
()
const
= 0;
93
94
virtual
~DISPATCHER_HEADER
() =
default
;
95
};
96
97
}
/* namespace nt */
98
}
/* namespace windows */
99
}
/* namespace introvirt */
introvirt::windows::nt::DISPATCHER_HEADER
Definition
DISPATCHER_HEADER.hh:28
introvirt::windows::nt::DISPATCHER_HEADER::~DISPATCHER_HEADER
virtual ~DISPATCHER_HEADER()=default
introvirt::windows::nt::DISPATCHER_HEADER::Size
virtual uint32_t Size() const =0
Get the size of the dispatcher object.
introvirt::windows::nt::DISPATCHER_HEADER::Type
virtual DISPATCHER_HEADER::ObjectType Type() const =0
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType
ObjectType
Definition
DISPATCHER_HEADER.hh:30
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::SemaphoreObject
@ SemaphoreObject
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::ProcessObject
@ ProcessObject
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::Spare6Object
@ Spare6Object
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::Spare2Object
@ Spare2Object
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::EventSynchronizationObject
@ EventSynchronizationObject
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::EventNotificationObject
@ EventNotificationObject
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::ThreadedDpcObject
@ ThreadedDpcObject
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::DpcObject
@ DpcObject
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::EventPairObject
@ EventPairObject
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::ApcObject
@ ApcObject
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::QueueObject
@ QueueObject
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::TimerNotificationObject
@ TimerNotificationObject
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::InterruptObject
@ InterruptObject
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::Spare4Object
@ Spare4Object
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::Spare3Object
@ Spare3Object
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::DeviceQueueObject
@ DeviceQueueObject
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::ThreadObject
@ ThreadObject
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::Spare7Object
@ Spare7Object
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::GateObject
@ GateObject
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::MutantObject
@ MutantObject
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::ProfileObject
@ ProfileObject
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::TimerSynchronizationObject
@ TimerSynchronizationObject
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::Spare8Object
@ Spare8Object
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::Spare9Object
@ Spare9Object
introvirt::windows::nt::DISPATCHER_HEADER::ObjectType::Spare5Object
@ Spare5Object
introvirt::windows::nt::DISPATCHER_HEADER::Inserted
virtual bool Inserted() const =0
introvirt::windows::nt::DISPATCHER_HEADER::SignalState
virtual int32_t SignalState() const =0
introvirt::windows::nt::DISPATCHER_HEADER::Absolute
virtual bool Absolute() const =0
fwd.hh
introvirt
Core IntroVirt classes.
Definition
Cr0.hh:20
fwd.hh