ReactOS 0.4.16-dev-91-g764881a
devpropdef.h
Go to the documentation of this file.
1/*
2 * devpropdef.h
3 *
4 * This file is part of the ReactOS PSDK package.
5 *
6 * Contributors:
7 * Created by Amine Khaldi.
8 *
9 * THIS SOFTWARE IS NOT COPYRIGHTED
10 *
11 * This source code is offered for use in the public domain. You may
12 * use, modify or distribute it freely.
13 *
14 * This code is distributed in the hope that it will be useful but
15 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
16 * DISCLAIMED. This includes but is not limited to warranties of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 *
19 */
20
21#ifndef _DEVPROPDEF_H_
22#define _DEVPROPDEF_H_
23
25
26#define DEVPROP_TYPEMOD_ARRAY 0x00001000
27#define DEVPROP_TYPEMOD_LIST 0x00002000
28
29#define DEVPROP_TYPE_EMPTY 0x00000000
30#define DEVPROP_TYPE_NULL 0x00000001
31#define DEVPROP_TYPE_SBYTE 0x00000002
32#define DEVPROP_TYPE_BYTE 0x00000003
33#define DEVPROP_TYPE_INT16 0x00000004
34#define DEVPROP_TYPE_UINT16 0x00000005
35#define DEVPROP_TYPE_INT32 0x00000006
36#define DEVPROP_TYPE_UINT32 0x00000007
37#define DEVPROP_TYPE_INT64 0x00000008
38#define DEVPROP_TYPE_UINT64 0x00000009
39#define DEVPROP_TYPE_FLOAT 0x0000000A
40#define DEVPROP_TYPE_DOUBLE 0x0000000B
41#define DEVPROP_TYPE_DECIMAL 0x0000000C
42#define DEVPROP_TYPE_GUID 0x0000000D
43#define DEVPROP_TYPE_CURRENCY 0x0000000E
44#define DEVPROP_TYPE_DATE 0x0000000F
45#define DEVPROP_TYPE_FILETIME 0x00000010
46#define DEVPROP_TYPE_BOOLEAN 0x00000011
47#define DEVPROP_TYPE_STRING 0x00000012
48#define DEVPROP_TYPE_STRING_LIST (DEVPROP_TYPE_STRING|DEVPROP_TYPEMOD_LIST)
49#define DEVPROP_TYPE_SECURITY_DESCRIPTOR 0x00000013
50#define DEVPROP_TYPE_SECURITY_DESCRIPTOR_STRING 0x00000014
51#define DEVPROP_TYPE_DEVPROPKEY 0x00000015
52#define DEVPROP_TYPE_DEVPROPTYPE 0x00000016
53#define DEVPROP_TYPE_BINARY (DEVPROP_TYPE_BYTE|DEVPROP_TYPEMOD_ARRAY)
54#define DEVPROP_TYPE_ERROR 0x00000017
55#define DEVPROP_TYPE_NTSTATUS 0x00000018
56#define DEVPROP_TYPE_STRING_INDIRECT 0x00000019
57
58#define MAX_DEVPROP_TYPE 0x00000019
59#define MAX_DEVPROP_TYPEMOD 0x00002000
60
61#define DEVPROP_MASK_TYPE 0x00000FFF
62#define DEVPROP_MASK_TYPEMOD 0x0000F000
63
65
66#define DEVPROP_TRUE ((DEVPROP_BOOLEAN)-1)
67#define DEVPROP_FALSE ((DEVPROP_BOOLEAN) 0)
68
69#ifndef DEVPROPKEY_DEFINED
70#define DEVPROPKEY_DEFINED
71
74
75typedef struct _DEVPROPKEY {
79
80
81#define DEVPROPID_FIRST_USABLE 2
82
83#endif /* DEVPROPKEY_DEFINED */
84
85#endif /* _DEVPROPDEF_H_ */
86
87#ifdef DEFINE_DEVPROPKEY
88#undef DEFINE_DEVPROPKEY
89#endif
90#ifdef INITGUID
91#ifdef __cplusplus
92#define DEFINE_DEVPROPKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) \
93 EXTERN_C const DEVPROPKEY DECLSPEC_SELECTANY name = { { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }, pid }
94#else
95#define DEFINE_DEVPROPKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) \
96 const DEVPROPKEY DECLSPEC_SELECTANY name = { { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }, pid }
97#endif
98#else
99#ifdef __GNUC__
100#define DEFINE_DEVPROPKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) \
101 EXTERN_C const DEVPROPKEY name
102#else
103#define DEFINE_DEVPROPKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) \
104 EXTERN_C const DEVPROPKEY DECLSPEC_SELECTANY name
105#endif
106#endif /* INITGUID */
107
108#ifndef IsEqualDevPropKey
109
110#ifdef __cplusplus
111#define IsEqualDevPropKey(a, b) (((a).pid == (b).pid) && IsEqualIID((a).fmtid, (b).fmtid))
112#else
113#define IsEqualDevPropKey(a, b) (((a).pid == (b).pid) && IsEqualIID(&(a).fmtid, &(b).fmtid))
114#endif
115
116#endif /* !IsEqualDevPropKey */
117
ULONG DEVPROPTYPE
Definition: devpropdef.h:24
CHAR DEVPROP_BOOLEAN
Definition: devpropdef.h:64
ULONG * PDEVPROPTYPE
Definition: devpropdef.h:24
struct _DEVPROPKEY * PDEVPROPKEY
struct _DEVPROPKEY DEVPROPKEY
GUID DEVPROPGUID
Definition: devpropdef.h:72
ULONG * PDEVPROPID
Definition: devpropdef.h:73
GUID * PDEVPROPGUID
Definition: devpropdef.h:72
CHAR * PDEVPROP_BOOLEAN
Definition: devpropdef.h:64
ULONG DEVPROPID
Definition: devpropdef.h:73
DEVPROPID pid
Definition: devpropdef.h:77
DEVPROPGUID fmtid
Definition: devpropdef.h:76
uint32_t ULONG
Definition: typedefs.h:59
char CHAR
Definition: xmlstorage.h:175