The METADATA_RECORD structure contains information about a metabase entry. It is used as an input parameter by the SetData method and as an input/output parameter by methods that retrieve data from the metabase, such as GetData, EnumData, or GetAllData.
typedef struct _METADATA_RECORD {
DWORD dwMDIdentifier;
DWORD dwMDAttributes;
DWORD dwMDUserType;
DWORD dwMDDataType;
DWORD dwMDDataLen;
unsigned char *pbMDData;
DWORD dwMDDataTag;
} METADATA_RECORD;
Flag | Description |
---|---|
METADATA_INHERIT | Set: The data can be inherited. Get: Return inheritable data. |
METADATA_INSERT_PATH | For a string data item: Set: Indicates the string contains MD_INSERT_PATH_STRINGW. Get: Replace MD_INSERT_PATH_STRINGW with the path of the data item relative to the handle |
METADATA_ISINHERITED | Set: Not valid. Get: Mark data items that were inherited. |
METADATA_NO_ATTRIBUTES | Set: The data does not have any attributes. Get: Not applicable. Data is returned regardless of this flag setting. |
METADATA_PARTIAL_PATH | Set: Not valid. Get: Return ERROR_SUCCESS and any inherited data even if the entire path is not present. This flag is only valid if METADATA_INHERIT is also set. |
METADATA_REFERENCE | Set: The data was retrieved by reference. Get: Not valid |
METADATA_SECURE | Set: Store and transport the data in a secure fashion. Get: Not valid. |
METADATA_VOLATILE | Set: Do not save the data in long term storage. Get: Not valid. |
IIS currently uses these user types:
User type | Description |
---|---|
ASP_MD_UT_APP | The entry contains information specific to ASP application configuration. |
IIS_MD_UT_FILE | The entry contains information about a file, such as access permissions, or log on methods. |
IIS_MD_UT_SERVER | The entry contains information specific to the server, such as ports in use and IP addresses. |
IIS_MD_UT_WAM | The entry contains information specific to web application management. |
Data type | Description |
---|---|
ALL_METADATA | Set: Not valid Get: Return data regardless of type. |
BINARY_METADATA | Binary data in any form. |
DWORD_METADATA | An unsigned 32-bit number. |
EXPANDSZ_METADATA | A null-terminated string that contains unexpanded environment variables, such as %PATH%. The environment variables are not expanded by the IIS Admin Base Object. |
MULTISZ_METADATA | An array of null-terminated strings, terminated by two null characters. |
STRING_METADATA | A null-terminated string. |
In-process clients need to specify dwMDDataLen only when setting binary and multisz values in the metabase. Remote applications must specify dwMDDataLen for all data types.