libintrovirt v0.57.4
IntroVirt introspection library
Loading...
Searching...
No Matches
DuplicateObjectOptions.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 <cstdint>
19#include <string>
20
21namespace introvirt {
22namespace windows {
23namespace nt {
24
29 public:
30 DuplicateObjectOptions(uint32_t value = 0);
31
32 public:
36 uint32_t get() const;
37
38 operator uint32_t() const;
39
44 bool isFlagEnabled(int flag) const;
45
50 void setFlag(int flag, bool enabled);
51
56 std::string to_string(const std::string& separator = " ") const;
57
58 public:
59 const static int DUPLICATE_CLOSE_SOURCE = 0x1;
60 const static int DUPLICATE_SAME_ACCESS = 0x2;
61 const static int DUPLICATE_SAME_ATTRIBUTES = 0x4;
62
63 private:
64 uint32_t value;
65};
66
67std::string to_string(const DuplicateObjectOptions& options, const std::string& separator = " ");
68
69} /* namespace nt */
70} /* namespace windows */
71} /* namespace introvirt */
Definition DuplicateObjectOptions.hh:28
static const int DUPLICATE_SAME_ATTRIBUTES
Definition DuplicateObjectOptions.hh:61
static const int DUPLICATE_CLOSE_SOURCE
Definition DuplicateObjectOptions.hh:59
static const int DUPLICATE_SAME_ACCESS
Definition DuplicateObjectOptions.hh:60
std::string to_string(const std::string &separator=" ") const
const std::string & to_string(APPHELPCACHESERVICECLASS val)
Core IntroVirt classes.
Definition Cr0.hh:20