source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/mddefw.h@ 1167

Last change on this file since 1167 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 4.1 KB
Line 
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef __REQUIRED_RPCNDR_H_VERSION__
7#define __REQUIRED_RPCNDR_H_VERSION__ 475
8#endif
9
10#include "rpc.h"
11#include "rpcndr.h"
12
13#ifndef __RPCNDR_H_VERSION__
14#error This stub requires an updated version of <rpcndr.h>
15#endif
16
17#ifndef __mddefw_h__
18#define __mddefw_h__
19
20#include "unknwn.h"
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26#ifndef __MIDL_user_allocate_free_DEFINED__
27#define __MIDL_user_allocate_free_DEFINED__
28 void *__RPC_API MIDL_user_allocate(size_t);
29 void __RPC_API MIDL_user_free(void *);
30#endif
31
32#ifndef _MD_DEFW_
33#define _MD_DEFW_
34#include <mdmsg.h>
35#include <mdcommsg.h>
36
37#define METADATA_MAX_NAME_LEN 256
38
39#define METADATA_PERMISSION_READ 0x00000001
40#define METADATA_PERMISSION_WRITE 0x00000002
41
42 enum METADATATYPES {
43 ALL_METADATA = 0,DWORD_METADATA,STRING_METADATA,BINARY_METADATA,
44 EXPANDSZ_METADATA,MULTISZ_METADATA,INVALID_END_METADATA
45 };
46
47#define METADATA_NO_ATTRIBUTES 0
48#define METADATA_INHERIT 0x00000001
49#define METADATA_PARTIAL_PATH 0x00000002
50#define METADATA_SECURE 0x00000004
51#define METADATA_REFERENCE 0x00000008
52#define METADATA_VOLATILE 0x00000010
53#define METADATA_ISINHERITED 0x00000020
54#define METADATA_INSERT_PATH 0x00000040
55#define METADATA_LOCAL_MACHINE_ONLY 0x00000080
56#define METADATA_NON_SECURE_ONLY 0x00000100
57
58#define MD_BACKUP_OVERWRITE 0x00000001
59#define MD_BACKUP_SAVE_FIRST 0x00000002
60#define MD_BACKUP_FORCE_BACKUP 0x00000004
61
62#define MD_BACKUP_NEXT_VERSION 0xffffffff
63#define MD_BACKUP_HIGHEST_VERSION 0xfffffffe
64#define MD_BACKUP_MAX_VERSION 9999
65#define MD_BACKUP_MAX_LEN (100)
66
67#define MD_DEFAULT_BACKUP_LOCATION TEXT("MDBackUp")
68
69#define MD_HISTORY_LATEST 0x00000001
70
71#define MD_EXPORT_INHERITED 0x00000001
72#define MD_EXPORT_NODE_ONLY 0x00000002
73
74#define MD_IMPORT_INHERITED 0x00000001
75#define MD_IMPORT_NODE_ONLY 0x00000002
76#define MD_IMPORT_MERGE 0x00000004
77
78#define MD_INSERT_PATH_STRINGA "<%INSERT_PATH%>"
79#define MD_INSERT_PATH_STRINGW L##"<%INSERT_PATH%>"
80#define MD_INSERT_PATH_STRING TEXT("<%INSERT_PATH%>")
81
82#define METADATA_MASTER_ROOT_HANDLE 0
83
84 typedef struct _METADATA_RECORD {
85 DWORD dwMDIdentifier;
86 DWORD dwMDAttributes;
87 DWORD dwMDUserType;
88 DWORD dwMDDataType;
89 DWORD dwMDDataLen;
90 unsigned char *pbMDData;
91 DWORD dwMDDataTag;
92 } METADATA_RECORD;
93
94 typedef struct _METADATA_RECORD *PMETADATA_RECORD;
95
96 typedef struct _METADATA_GETALL_RECORD {
97 DWORD dwMDIdentifier;
98 DWORD dwMDAttributes;
99 DWORD dwMDUserType;
100 DWORD dwMDDataType;
101 DWORD dwMDDataLen;
102 DWORD dwMDDataOffset;
103 DWORD dwMDDataTag;
104 } METADATA_GETALL_RECORD;
105
106 typedef struct _METADATA_GETALL_RECORD *PMETADATA_GETALL_RECORD;
107
108 typedef struct _METADATA_GETALL_INTERNAL_RECORD {
109 DWORD dwMDIdentifier;
110 DWORD dwMDAttributes;
111 DWORD dwMDUserType;
112 DWORD dwMDDataType;
113 DWORD dwMDDataLen;
114 union {
115 DWORD_PTR dwMDDataOffset;
116 unsigned char *pbMDData;
117 };
118 DWORD dwMDDataTag;
119 } METADATA_GETALL_INTERNAL_RECORD;
120
121 typedef struct _METADATA_GETALL_INTERNAL_RECORD *PMETADATA_GETALL_INTERNAL_RECORD;
122 typedef DWORD METADATA_HANDLE;
123 typedef DWORD *PMETADATA_HANDLE;
124
125 typedef struct _METADATA_HANDLE_INFO {
126 DWORD dwMDPermissions;
127 DWORD dwMDSystemChangeNumber;
128 } METADATA_HANDLE_INFO;
129
130 typedef struct _METADATA_HANDLE_INFO *PMETADATA_HANDLE_INFO;
131
132#define MD_CHANGE_OBJECT MD_CHANGE_OBJECT_W
133#define PMD_CHANGE_OBJECT PMD_CHANGE_OBJECT_W
134 typedef struct _MD_CHANGE_OBJECT_W {
135 LPWSTR pszMDPath;
136 DWORD dwMDChangeType;
137 DWORD dwMDNumDataIDs;
138 DWORD *pdwMDDataIDs;
139 } MD_CHANGE_OBJECT_W;
140
141 typedef struct _MD_CHANGE_OBJECT_W *PMD_CHANGE_OBJECT_W;
142
143#define MD_CHANGE_TYPE_DELETE_OBJECT 0x00000001
144#define MD_CHANGE_TYPE_ADD_OBJECT 0x00000002
145#define MD_CHANGE_TYPE_SET_DATA 0x00000004
146#define MD_CHANGE_TYPE_DELETE_DATA 0x00000008
147#define MD_CHANGE_TYPE_RENAME_OBJECT 0x00000010
148
149#define MD_MAX_CHANGE_ENTRIES 100
150#endif
151
152 extern RPC_IF_HANDLE __MIDL_itf_mddefw_0000_v0_0_c_ifspec;
153 extern RPC_IF_HANDLE __MIDL_itf_mddefw_0000_v0_0_s_ifspec;
154
155#ifdef __cplusplus
156}
157#endif
158#endif
Note: See TracBrowser for help on using the repository browser.