You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.3 KiB
55 lines
1.3 KiB
#ifndef _MDKEY_H_
|
|
#define _MDKEY_H_
|
|
|
|
interface IMSAdminBase;
|
|
|
|
void SetErrMsg(LPTSTR szMsg, HRESULT hRes);
|
|
|
|
class CMDKey : public CObject
|
|
{
|
|
protected:
|
|
IMSAdminBase * m_pcCom;
|
|
METADATA_HANDLE m_hKey;
|
|
BOOL m_fNeedToClose;
|
|
LPTSTR pszFailedAPI;
|
|
|
|
public:
|
|
CMDKey();
|
|
~CMDKey();
|
|
|
|
// allow CMDKey to be used where type METADATA_HANDLE is required
|
|
operator METADATA_HANDLE ()
|
|
{ return m_hKey; }
|
|
METADATA_HANDLE GetMDKeyHandle() {return m_hKey;}
|
|
IMSAdminBase *GetMDKeyICOM() {return m_pcCom;}
|
|
|
|
// open an existing MD key
|
|
void OpenNode(LPCTSTR pchSubKeyPath);
|
|
// to open an existing MD key, or create one if doesn't exist
|
|
void CreateNode(METADATA_HANDLE hKeyBase, LPCTSTR pchSubKeyPath);
|
|
// close node opened/created by OpenNode() or CreateNode()
|
|
void Close();
|
|
|
|
void DeleteNode(LPCTSTR pchSubKeyPath);
|
|
|
|
BOOL IsEmpty();
|
|
int GetNumberOfSubKeys();
|
|
|
|
BOOL SetData(
|
|
DWORD id,
|
|
DWORD attr,
|
|
DWORD uType,
|
|
DWORD dType,
|
|
DWORD cbLen,
|
|
LPBYTE pbData);
|
|
BOOL GetData(DWORD id,
|
|
DWORD *pdwAttr,
|
|
DWORD *pdwUType,
|
|
DWORD *pdwDType,
|
|
DWORD *pcbLen,
|
|
LPBYTE pbData);
|
|
void DeleteData(DWORD id, DWORD dType);
|
|
|
|
};
|
|
|
|
#endif // _MDKEY_H_
|