Leaked source code of windows server 2003
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

#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_