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>
20
21#include <cstdint>
22#include <memory>
23
24namespace introvirt {
25namespace windows {
26namespace nt {
27
29 public:
30 enum class ObjectType {
33 MutantObject = 2,
34 ProcessObject = 3,
35 QueueObject = 4,
37 ThreadObject = 6,
38 GateObject = 7,
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,
52 EventPairObject = 21,
53 InterruptObject = 22,
54 ProfileObject = 23,
56 };
57
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 */
Definition DISPATCHER_HEADER.hh:28
virtual uint32_t Size() const =0
Get the size of the dispatcher object.
virtual DISPATCHER_HEADER::ObjectType Type() const =0
ObjectType
Definition DISPATCHER_HEADER.hh:30
virtual int32_t SignalState() const =0
Core IntroVirt classes.
Definition Cr0.hh:20