METADATA_GETALL_RECORD

The METADATA_GETALL_RECORD structure is analogous to the METADATA_RECORD structure, but is used only to return data from a call to the GetAllData method. Data retrieval specifications are provided in GetAllData method parameters, not in this structure (as is the case with METADATA_RECORD). The GetAllData method returns the data from multiple entries as an array of METADATA_GETALL_RECORD structures.

typedef struct  _METADATA_GETALL_RECORD { 
  DWORD dwMDIdentifier; 
  DWORD dwMDAttributes; 
  DWORD dwMDUserType; 
  DWORD dwMDDataType; 
  DWORD dwMDDataLen; 
  union 
    { 
    DWORD dwMDDataOffset; 
    unsigned char *pbMDData; 
    }; 
  DWORD dwMDDataTag; 
}  METADATA_GETALL_RECORD; 
 
Parameters
dwMDIdentifier
A DWORD that identifies the metabase entry. For example, MD_SERVER_STATE.
dwMDAttributes
A set of flags that receives the attributes of the data entry. This member can receive one or more of the following values:
Flag Description
METADATA_INHERIT Return inherited data.
METADATA_INSERT_PATH Indicates the string contains MD_INSERT_PATH_STRINGW.
METADATA_ISINHERITED Returned data is inherited.
METADATA_NO_ATTRIBUTES No attributes set.
METADATA_PARTIAL_PATH Inherited data returned even if the entire path is not present. This flag is valid only if METADATA_INHERIT is also set.
METADATA_REFERENCE The data was retrieved by reference.
METADATA_SECURE Not valid.
METADATA_VOLATILE Not valid.


dwMDUserType
A DWORD that specifies the type of user of the data. IIS currently defines the following four 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 logon 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.


dwMDDataType
Specifies the type of data in the metabase entry. This member can be one of the following values:
Data type Description
ALL_METADATA All data returns, regardless of type. Not valid when setting values.
BINARY_METADATA Binary data in any form.
DWORD_METADATA An unsigned 32-bit number.
EXPANDSZ_METADATA A null-terminated Unicode string that contains unexpanded environment variables, such as %PATH%.
MULTISZ_METADATA An array of null-terminated strings, terminated by two null characters.
STRING_METADATA A null-terminated Unicode string.


dwMDDataLen
A DWORD that receives the length of the data in bytes. If the data is a string, this value includes the ending null character. For multisz data, this includes an additional null character after the final string. For example, the length of a multisz string containing two strings would be:

 (wcslen(stringA) + 1) * sizeof(WCHAR) + (wcslen(stringB) + 1) * sizeof(WCHAR) + 1 * sizeof(WCHAR)

dwMDDataOffset
If the data was returned by value, contains the byte offset of the data in the buffer specified by the parameter pbMDBuffer of the IMSAdminBase::GetAllData method. All out-of-process executions will return data by value. The array of records, excluding the data, is returned in the first part of the buffer. The data associated with the records is returned in the buffer after the array of records, and dwMDDataOffset is the offset to the beginning of the data associated with each record in the array.
pbMDData
Reserved. Do not use.
dwMDDataTag
Reserved. Do not use.
See Also

METADATA_RECORD