IMSAdminBase::GetAllData
The IMSAdminBase::GetAllData method retrieves all data associated with a key in the metabase. This includes all values that the key inherits.
HRESULT GetAllData(
METADATA_HANDLE hMDHandle,
LPCWSTR pszMDPath,
DWORD dwMDAttributes,
DWORD dwMDUserType,
DWORD dwMDDataType,
DWORD* pdwMDNumDataEntries,
DWORD* pdwMDDataSetNumber,
DWORD dwMDBufferSize,
Unsigned CHAR* pbMDBuffer,
DWORD* pdwMDRequiredBufferSize
);
Parameters
hMDHandle
Specifies a handle to the metabase. This can be either METADATA_MASTER_ROOT_HANDLE or a handle, with read permission, returned by the IMSAdminBase::OpenKey method.pszMDPath
Specifies the path of the key with which the data to be retrieved is associated, relative to the path of hMDHandle. For example, if the handle references the /LM key, you could specify the Web services subkey using the path /W3SVC.dwMDAttributes
The flags, contained in the METADATA_RECORD structure, used to get the data.dwMDUserType
Specifies the user type of the data. If not set to ALL_METADATA, only data of the specified user type will be returned.The following user types are defined for IIS:
User type
Meaning
ALL_METADATA
Return all data, regardless of user type.
ASP_MD_UT_APP
The entry contains information specific to ASP application configuration.
IIS_MD_UT_FILE
Return only data specific to a file, such as access permissions or logon methods.
IIS_MD_UT_SERVER
Return only data 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 to retrieve. If dwMDDataType is not set to ALL_METADATA, only metadata of the specified type will be returned. This parameter can be one of the following values:Data type
Meaning
ALL_METADATA
Retrieve all 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%.
MULTISZ_METADATA
An array of null-terminated strings, terminated by two null characters.
STRING_METADATA
A null-terminated ASCII string.
pdwMDNumDataEntries
Points to a DWORD that receives the number of entries copied to pbBuffer.pdwMDDataSetNumber
Points to a number associated with this data set.dwMDBufferSize
Specifies the size, in bytes, of pbMDBuffer.pbMDBuffer
Points to a buffer that receives the data. If the method call is successful, the buffer will contain an array of METADATA_GETALL_RECORD structures.pdwMDRequiredBufferSize
Points to a DWORD that contains the buffer length required, in bytes.
Return Values
Returns an HRESULT that contains one of the following values:
Value |
Description |
---|---|
E_ACCESSDENIED |
Access is denied. Either the open handle does not have read or write permission as needed, or the user does not have sufficient permissions to perform the operation. |
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) |
The buffer passed into the method call is too small to receive the data. |
E_INVALIDARG |
The parameter is incorrect. |
HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND) |
The specified path was not found. |
S_OK |
The method succeeded. |
Remarks
On non-Intel platforms the DWORD data is aligned; this may not be true on remote clients.
The handle, METADATA_MASTER_ROOT_HANDLE, provides no guarantee against multiple thread access. If your application requires a constant data state, use a handle returned by IMSAdminBase::OpenKey.
Requirements
Client: Requires Windows XP Professional, Windows 2000 Professional, or Windows NT Workstation 4.0.
Server: Requires Windows Server 2003, Windows 2000 Server, or Windows NT Server 4.0.
Product: IIS
Header: Declared in iadmw.h; include iiscnfg.h.