📄 mddefw.h
字号:
MD_DEFAULT_BACKUP_LOCATION - The default location to backup from or
restore to if no location is specified.
*/
#define MD_DEFAULT_BACKUP_LOCATION TEXT("MDBackUp")
/*
Insert Path Defines.
*/
#define MD_INSERT_PATH_STRINGA "<%INSERT_PATH%>"
#define MD_INSERT_PATH_STRINGW L##"<%INSERT_PATH%>"
#define MD_INSERT_PATH_STRING TEXT("<%INSERT_PATH%>")
/*
Handle Defines.
*/
#define METADATA_MASTER_ROOT_HANDLE 0
/*
METADATA_RECORD is the basic input/output parameter for the set and get
metadata api's. The Set api (ComMDSetMetaData) takes all fields as
input, except DataTag. The Get/Enum api's (ComMDGetMetadata and
ComMDEnumMetaData) take some of the fields as input, and fill in all
fields as output.
Identifier - The identifier of the data.
Attributes - The flags for the data.
UserType - The User Type for the data. This is a user defined field to allow
users to group data. If set to anything other than ALL_METADATA on input
to Get/Set apis, only metadata of the specified User Type will be
returned.
ALL_METADATA
User Defined Values
DataType - The Type of the data. Must be set to a valid value other than
ALL_METADATA for each data item. If set to anything other than
ALL_METADATA on input to Get/Set api's, only metadata of the
specified Data Type will be returned.
ALL_METADATA
DWORD_METADATA
STRING_METADATA
BINARY_METADATA
EXPANDSZ_METADATA
DataLen - On input to the Set api, specifies the length of Data, in
bytes. Inprocess clients only need to specify this for binary data.
Remote clients need to specify this for all data types. For strings,
this must include the trailing '\0', eg. strlen(string) + 1.
On input to Get/Enum apis, specifies the size of the buffer pointed to
by Data. On successful output from Get/Enum API's, specifies the size of
Data in bytes.
Data - On input to the Set api, points to the data. On input to the
Get/Enum api's, points to a buffer to return the data in. On output
from the Get/Enum api's, points to the data. If the data is not
gotten by reference, the pointer will be unchanged.
DataTag - A tag for reference data. Not used in the Set api. Not used on
input to the Get/Enum api's. On successful return from the Get/Enum
api's, this is set to a nonzero tag if the data was gotten by reference,
and set to 0 if the data was not gotten by reference.
*/
typedef struct _METADATA_RECORD
{
DWORD dwMDIdentifier;
DWORD dwMDAttributes;
DWORD dwMDUserType;
DWORD dwMDDataType;
DWORD dwMDDataLen;
/* [size_is][unique] */ unsigned char __RPC_FAR *pbMDData;
DWORD dwMDDataTag;
} METADATA_RECORD;
typedef struct _METADATA_RECORD __RPC_FAR *PMETADATA_RECORD;
/*
METADATA_GETALL_RECORD, is essentially the same as METADATA_RECORD, but is
used by MDGetAllMetaData. It is used the same as the corresponding
METADATA_RECORD values for the MDGetMetaData, with the following
exceptions:
MDGetAllMetadata does not take the structure as input, but takes parameters
equivalent to Attributes, UserType, and DataType.
On output, MDGetAllMetadata returns an array of METADATA_GETALL_RECORD.
DataOffset/Data - If the data is not returned by reference, DataOffset
contains the byte offset into the buffer provided. If the data is
returned by reference, Data contains a pointer to the data.
*/
typedef struct _METADATA_GETALL_RECORD
{
DWORD dwMDIdentifier;
DWORD dwMDAttributes;
DWORD dwMDUserType;
DWORD dwMDDataType;
DWORD dwMDDataLen;
union
{
DWORD dwMDDataOffset;
unsigned char __RPC_FAR *pbMDData;
} ;
DWORD dwMDDataTag;
} METADATA_GETALL_RECORD;
typedef struct _METADATA_GETALL_RECORD __RPC_FAR *PMETADATA_GETALL_RECORD;
typedef DWORD METADATA_HANDLE;
typedef DWORD __RPC_FAR *PMETADATA_HANDLE;
/*
Handle Information
Permissions - The permissions associated with the handle.
METADATA_PERMISSION_READ
METADATA_PERMISSION_WRITE
SystemChangeNumber - The system change number at the time the handle was
allocated.
*/
typedef struct _METADATA_HANDLE_INFO
{
DWORD dwMDPermissions;
DWORD dwMDSystemChangeNumber;
} METADATA_HANDLE_INFO;
typedef struct _METADATA_HANDLE_INFO __RPC_FAR *PMETADATA_HANDLE_INFO;
/*
Change Object - The structure passed to ComMDSinkNotify.
Path - The path of the MetaObject modified.
ChangeType - The types of changes made, from the flags below.
NumDataIDs - The number of data id's changed.
DataIDs - An array of the data id's changed.
*/
#define MD_CHANGE_OBJECT MD_CHANGE_OBJECT_W
#define PMD_CHANGE_OBJECT PMD_CHANGE_OBJECT_W
typedef struct _MD_CHANGE_OBJECT_W
{
/* [string] */ LPWSTR pszMDPath;
DWORD dwMDChangeType;
DWORD dwMDNumDataIDs;
/* [size_is][unique] */ DWORD __RPC_FAR *pdwMDDataIDs;
} MD_CHANGE_OBJECT_W;
typedef struct _MD_CHANGE_OBJECT_W __RPC_FAR *PMD_CHANGE_OBJECT_W;
/*
Change Types
MD_CHANGE_TYPE_DELETE_OBJECT - The Meta Object was deleted.
MD_CHANGE_TYPE_ADD_OBJECT - The Meta Object was added.
MD_CHANGE_TYPE_SET_DATA - A data item was set.
MD_CHANGE_TYPE_DELETE_DATA - A data item was deleted.
MD_CHANGE_TYPE_RENAME_OBJECT - The Meta Object was renamed.
*/
#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
/*
Max Change Entries - The maximum number of change entries that will be sent on
a single call to IMDCOMSINK::ComMDSinkNotify. If more notifications are
required, IMDCOMSINK::ComMDSinkNotify will be called multiple times.
*/
#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;
/* Additional Prototypes for ALL interfaces */
/* end of Additional Prototypes */
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -