The IMSAdminBase::GetData method retrieves an entry from the metabase.
HRESULT GetData(
METADATA_HANDLE hMDHandle, //metabase handle
LPCWSTR pszMDPath, //path to the key, relative to
// hMDHandle
PMETADATA_RECORD pmdrMDData, //pointer to a structure that
// receives the data
DWORD *pdwMDRequiredDataLen //pointer to a DWORD that receives
// the required data length in the case
// of an overflow
);
Returns an HRESULT that contains one of the following values:
ERROR_ACCESS_DENIED | 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. |
ERROR_INSUFFICIENT_BUFFER | The buffer passed to the method call is too small to receive the data. |
ERROR_INVALID_PARAMETER | The parameter is incorrect. |
ERROR_PATH_NOT_FOUND | The specified path is not found in the metabase. |
ERROR_SUCCESS | The method succeeded. |
MD_ERROR_DATA_NOT_FOUND | The specified data is not found in the metabase. |
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.