ReactOS
0.4.16-dev-106-g10b08aa
icif.h
Go to the documentation of this file.
1
/*
2
* PROJECT: ReactOS Kernel
3
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4
* PURPOSE: Internal header for information classes info interface
5
* COPYRIGHT: Copyright 2020-2022 George Bișoc <george.bisoc@reactos.org>
6
*/
7
8
#pragma once
9
10
/*
11
* Implement generic information class probing code in a
12
* separate header within the NT kernel header internals.
13
* This makes it accessible to other sources by including
14
* the header.
15
*/
16
17
#define ICIF_NONE 0x0
18
#define ICIF_QUERY 0x1
19
#define ICIF_SET 0x2
20
#define ICIF_QUERY_SIZE_VARIABLE 0x4
21
#define ICIF_SET_SIZE_VARIABLE 0x8
22
#define ICIF_SIZE_VARIABLE (ICIF_QUERY_SIZE_VARIABLE | ICIF_SET_SIZE_VARIABLE)
23
24
#define ICIF_PROBE_READ_WRITE 0x0
25
#define ICIF_PROBE_READ 0x1
26
#define ICIF_FORCE_RETURN_LENGTH_PROBE 0x2
27
28
typedef
struct
_INFORMATION_CLASS_INFO
29
{
30
USHORT
RequiredSizeQUERY
;
31
UCHAR
AlignmentQUERY
;
32
USHORT
RequiredSizeSET
;
33
UCHAR
AlignmentSET
;
34
USHORT
Flags
;
35
}
INFORMATION_CLASS_INFO
, *
PINFORMATION_CLASS_INFO
;
36
37
#define IQS_SAME(Type, Alignment, Flags) \
38
{ sizeof(Type), sizeof(Alignment), sizeof(Type), sizeof(Alignment), Flags }
39
40
#define IQS(TypeQuery, AlignmentQuery, TypeSet, AlignmentSet, Flags) \
41
{ sizeof(TypeQuery), sizeof(AlignmentQuery), sizeof(TypeSet), sizeof(AlignmentSet), Flags }
42
43
#define IQS_NO_TYPE_LENGTH(Alignment, Flags) \
44
{ 0, sizeof(Alignment), 0, sizeof(Alignment), Flags }
45
46
#define IQS_NONE \
47
{ 0, sizeof(CHAR), 0, sizeof(CHAR), ICIF_NONE }
PINFORMATION_CLASS_INFO
struct _INFORMATION_CLASS_INFO * PINFORMATION_CLASS_INFO
INFORMATION_CLASS_INFO
struct _INFORMATION_CLASS_INFO INFORMATION_CLASS_INFO
USHORT
unsigned short USHORT
Definition:
pedump.c:61
_INFORMATION_CLASS_INFO
Definition:
icif.h:29
_INFORMATION_CLASS_INFO::RequiredSizeQUERY
USHORT RequiredSizeQUERY
Definition:
icif.h:30
_INFORMATION_CLASS_INFO::AlignmentQUERY
UCHAR AlignmentQUERY
Definition:
icif.h:31
_INFORMATION_CLASS_INFO::RequiredSizeSET
USHORT RequiredSizeSET
Definition:
icif.h:32
_INFORMATION_CLASS_INFO::Flags
USHORT Flags
Definition:
icif.h:34
_INFORMATION_CLASS_INFO::AlignmentSET
UCHAR AlignmentSET
Definition:
icif.h:33
UCHAR
unsigned char UCHAR
Definition:
xmlstorage.h:181
ntoskrnl
include
internal
icif.h
Generated on Tue Oct 8 2024 06:14:26 for ReactOS by
1.9.6