libintrovirt
v0.57.4
IntroVirt introspection library
Loading...
Searching...
No Matches
FILE_BASIC_INFORMATION.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 "
FILE_INFORMATION.hh
"
19
20
#include <
introvirt/windows/util/WindowsTime.hh
>
21
22
namespace
introvirt
{
23
namespace
windows {
24
namespace
nt {
25
26
class
FILE_BASIC_INFORMATION
:
public
FILE_INFORMATION
{
27
public
:
28
/* Getters */
29
virtual
WindowsTime
CreationTime
()
const
= 0;
30
virtual
WindowsTime
LastAccessTime
()
const
= 0;
31
virtual
WindowsTime
LastWriteTime
()
const
= 0;
32
virtual
WindowsTime
ChangeTime
()
const
= 0;
33
virtual
FILE_ATTRIBUTES
FileAttributes
()
const
= 0;
34
35
/* Setters - These change the values in the guest! */
36
virtual
void
CreationTime
(
WindowsTime
time) = 0;
37
virtual
void
LastAccessTime
(
WindowsTime
time) = 0;
38
virtual
void
LastWriteTime
(
WindowsTime
time) = 0;
39
virtual
void
ChangeTime
(
WindowsTime
time) = 0;
40
virtual
void
FileAttributes
(
FILE_ATTRIBUTES
atts) = 0;
41
42
static
std::unique_ptr<FILE_BASIC_INFORMATION>
make_unique
(
const
guest_ptr<void>
&
ptr
);
43
};
44
45
}
/* namespace nt */
46
}
/* namespace windows */
47
}
/* namespace introvirt */
FILE_INFORMATION.hh
WindowsTime.hh
introvirt::basic_guest_ptr
Definition
guest_ptr.hh:88
introvirt::windows::WindowsTime
Helper class for the Windows time format.
Definition
WindowsTime.hh:33
introvirt::windows::nt::FILE_ATTRIBUTES
Definition
FILE_ATTRIBUTES.hh:46
introvirt::windows::nt::FILE_BASIC_INFORMATION
Definition
FILE_BASIC_INFORMATION.hh:26
introvirt::windows::nt::FILE_BASIC_INFORMATION::ChangeTime
virtual WindowsTime ChangeTime() const =0
introvirt::windows::nt::FILE_BASIC_INFORMATION::LastWriteTime
virtual void LastWriteTime(WindowsTime time)=0
introvirt::windows::nt::FILE_BASIC_INFORMATION::CreationTime
virtual void CreationTime(WindowsTime time)=0
introvirt::windows::nt::FILE_BASIC_INFORMATION::LastAccessTime
virtual WindowsTime LastAccessTime() const =0
introvirt::windows::nt::FILE_BASIC_INFORMATION::LastAccessTime
virtual void LastAccessTime(WindowsTime time)=0
introvirt::windows::nt::FILE_BASIC_INFORMATION::LastWriteTime
virtual WindowsTime LastWriteTime() const =0
introvirt::windows::nt::FILE_BASIC_INFORMATION::make_unique
static std::unique_ptr< FILE_BASIC_INFORMATION > make_unique(const guest_ptr< void > &ptr)
introvirt::windows::nt::FILE_BASIC_INFORMATION::ChangeTime
virtual void ChangeTime(WindowsTime time)=0
introvirt::windows::nt::FILE_BASIC_INFORMATION::FileAttributes
virtual FILE_ATTRIBUTES FileAttributes() const =0
introvirt::windows::nt::FILE_BASIC_INFORMATION::FileAttributes
virtual void FileAttributes(FILE_ATTRIBUTES atts)=0
introvirt::windows::nt::FILE_BASIC_INFORMATION::CreationTime
virtual WindowsTime CreationTime() const =0
introvirt::windows::nt::FILE_INFORMATION
An abstract class reprseneting a more specific file information buffer.
Definition
FILE_INFORMATION.hh:38
introvirt::windows::nt::FILE_INFORMATION::ptr
virtual guest_ptr< void > ptr() const =0
Get the address that the buffer is at.
introvirt
Core IntroVirt classes.
Definition
Cr0.hh:20