Home | History | Annotate | Download | only in include
      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
     23 extern "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
    159