|  | /** | 
|  | * This file has no copyright assigned and is placed in the Public Domain. | 
|  | * This file is part of the w64 mingw-runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER within this package. | 
|  | */ | 
|  | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 
|  | #define __REQUIRED_RPCNDR_H_VERSION__ 475 | 
|  | #endif | 
|  |  | 
|  | #include "rpc.h" | 
|  | #include "rpcndr.h" | 
|  |  | 
|  | #ifndef __RPCNDR_H_VERSION__ | 
|  | #error This stub requires an updated version of <rpcndr.h> | 
|  | #endif | 
|  |  | 
|  | #ifndef __mddefw_h__ | 
|  | #define __mddefw_h__ | 
|  |  | 
|  | #include "unknwn.h" | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | void *__RPC_API MIDL_user_allocate(size_t); | 
|  | void __RPC_API MIDL_user_free(void *); | 
|  |  | 
|  | #ifndef _MD_DEFW_ | 
|  | #define _MD_DEFW_ | 
|  | #include <mdmsg.h> | 
|  | #include <mdcommsg.h> | 
|  |  | 
|  | #define METADATA_MAX_NAME_LEN 256 | 
|  |  | 
|  | #define METADATA_PERMISSION_READ 0x00000001 | 
|  | #define METADATA_PERMISSION_WRITE 0x00000002 | 
|  |  | 
|  | enum METADATATYPES { | 
|  | ALL_METADATA = 0,DWORD_METADATA = ALL_METADATA + 1,STRING_METADATA = DWORD_METADATA + 1,BINARY_METADATA = STRING_METADATA + 1, | 
|  | EXPANDSZ_METADATA = BINARY_METADATA + 1,MULTISZ_METADATA = EXPANDSZ_METADATA + 1,INVALID_END_METADATA = MULTISZ_METADATA + 1 | 
|  | }; | 
|  |  | 
|  | #define METADATA_NO_ATTRIBUTES 0 | 
|  | #define METADATA_INHERIT 0x00000001 | 
|  | #define METADATA_PARTIAL_PATH 0x00000002 | 
|  | #define METADATA_SECURE 0x00000004 | 
|  | #define METADATA_REFERENCE 0x00000008 | 
|  | #define METADATA_VOLATILE 0x00000010 | 
|  | #define METADATA_ISINHERITED 0x00000020 | 
|  | #define METADATA_INSERT_PATH 0x00000040 | 
|  | #define METADATA_LOCAL_MACHINE_ONLY 0x00000080 | 
|  | #define METADATA_NON_SECURE_ONLY 0x00000100 | 
|  |  | 
|  | #define MD_BACKUP_OVERWRITE 0x00000001 | 
|  | #define MD_BACKUP_SAVE_FIRST 0x00000002 | 
|  | #define MD_BACKUP_FORCE_BACKUP 0x00000004 | 
|  |  | 
|  | #define MD_BACKUP_NEXT_VERSION 0xffffffff | 
|  | #define MD_BACKUP_HIGHEST_VERSION 0xfffffffe | 
|  | #define MD_BACKUP_MAX_VERSION 9999 | 
|  | #define MD_BACKUP_MAX_LEN (100) | 
|  |  | 
|  | #define MD_DEFAULT_BACKUP_LOCATION TEXT("MDBackUp") | 
|  |  | 
|  | #define MD_HISTORY_LATEST 0x00000001 | 
|  |  | 
|  | #define MD_EXPORT_INHERITED 0x00000001 | 
|  | #define MD_EXPORT_NODE_ONLY 0x00000002 | 
|  |  | 
|  | #define MD_IMPORT_INHERITED 0x00000001 | 
|  | #define MD_IMPORT_NODE_ONLY 0x00000002 | 
|  | #define MD_IMPORT_MERGE 0x00000004 | 
|  |  | 
|  | #define MD_INSERT_PATH_STRINGA "<%INSERT_PATH%>" | 
|  | #define MD_INSERT_PATH_STRINGW L##"<%INSERT_PATH%>" | 
|  | #define MD_INSERT_PATH_STRING TEXT("<%INSERT_PATH%>") | 
|  |  | 
|  | #define METADATA_MASTER_ROOT_HANDLE 0 | 
|  |  | 
|  | typedef struct _METADATA_RECORD { | 
|  | DWORD dwMDIdentifier; | 
|  | DWORD dwMDAttributes; | 
|  | DWORD dwMDUserType; | 
|  | DWORD dwMDDataType; | 
|  | DWORD dwMDDataLen; | 
|  | unsigned char *pbMDData; | 
|  | DWORD dwMDDataTag; | 
|  | } METADATA_RECORD; | 
|  |  | 
|  | typedef struct _METADATA_RECORD *PMETADATA_RECORD; | 
|  |  | 
|  | typedef struct _METADATA_GETALL_RECORD { | 
|  | DWORD dwMDIdentifier; | 
|  | DWORD dwMDAttributes; | 
|  | DWORD dwMDUserType; | 
|  | DWORD dwMDDataType; | 
|  | DWORD dwMDDataLen; | 
|  | DWORD dwMDDataOffset; | 
|  | DWORD dwMDDataTag; | 
|  | } METADATA_GETALL_RECORD; | 
|  |  | 
|  | typedef struct _METADATA_GETALL_RECORD *PMETADATA_GETALL_RECORD; | 
|  |  | 
|  | typedef struct _METADATA_GETALL_INTERNAL_RECORD { | 
|  | DWORD dwMDIdentifier; | 
|  | DWORD dwMDAttributes; | 
|  | DWORD dwMDUserType; | 
|  | DWORD dwMDDataType; | 
|  | DWORD dwMDDataLen; | 
|  | union { | 
|  | DWORD_PTR dwMDDataOffset; | 
|  | unsigned char *pbMDData; | 
|  | }; | 
|  | DWORD dwMDDataTag; | 
|  | } METADATA_GETALL_INTERNAL_RECORD; | 
|  |  | 
|  | typedef struct _METADATA_GETALL_INTERNAL_RECORD *PMETADATA_GETALL_INTERNAL_RECORD; | 
|  | typedef DWORD METADATA_HANDLE; | 
|  | typedef DWORD *PMETADATA_HANDLE; | 
|  |  | 
|  | typedef struct _METADATA_HANDLE_INFO { | 
|  | DWORD dwMDPermissions; | 
|  | DWORD dwMDSystemChangeNumber; | 
|  | } METADATA_HANDLE_INFO; | 
|  |  | 
|  | typedef struct _METADATA_HANDLE_INFO *PMETADATA_HANDLE_INFO; | 
|  |  | 
|  | #define MD_CHANGE_OBJECT MD_CHANGE_OBJECT_W | 
|  | #define PMD_CHANGE_OBJECT PMD_CHANGE_OBJECT_W | 
|  | typedef struct _MD_CHANGE_OBJECT_W { | 
|  | LPWSTR pszMDPath; | 
|  | DWORD dwMDChangeType; | 
|  | DWORD dwMDNumDataIDs; | 
|  | DWORD *pdwMDDataIDs; | 
|  | } MD_CHANGE_OBJECT_W; | 
|  |  | 
|  | typedef struct _MD_CHANGE_OBJECT_W *PMD_CHANGE_OBJECT_W; | 
|  |  | 
|  | #define MD_CHANGE_TYPE_DELETE_OBJECT 0x00000001 | 
|  | #define MD_CHANGE_TYPE_ADD_OBJECT 0x00000002 | 
|  | #define MD_CHANGE_TYPE_SET_DATA 0x00000004 | 
|  | #define MD_CHANGE_TYPE_DELETE_DATA 0x00000008 | 
|  | #define MD_CHANGE_TYPE_RENAME_OBJECT 0x00000010 | 
|  |  | 
|  | #define MD_MAX_CHANGE_ENTRIES 100 | 
|  | #endif | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_mddefw_0000_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_mddefw_0000_v0_0_s_ifspec; | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  | #endif |