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.
 
 
 
 
 
 

58 lines
1.1 KiB

class CServiceItem
{
public:
CServiceItem();
void GetClsid(CLSID& clsid) const;
HRESULT Load(const WCHAR* pszClsid);
BOOL ShallStartByFrameWork();
BOOL SupportsSecurityInterface();
protected:
CLSID m_clsid;
DWORD m_fStartByFrameWork;
DWORD m_fSupportsSecurityInterface;
};
class CServiceDirectory
{
public:
CServiceDirectory();
~CServiceDirectory();
void Reset();
BOOL GetNext(CServiceItem& service);
protected:
DWORD m_dwIndex;
HKEY m_hKeyDirectory;
};
inline CServiceItem::CServiceItem()
{
ZeroMemory(&m_clsid, sizeof(m_clsid));
}
inline void CServiceItem::GetClsid(CLSID& clsid) const
{
clsid = m_clsid;
}
inline BOOL CServiceItem::ShallStartByFrameWork()
{
return m_fStartByFrameWork;
}
inline BOOL CServiceItem::SupportsSecurityInterface()
{
return m_fSupportsSecurityInterface;
}
inline CServiceDirectory::CServiceDirectory() : m_dwIndex(0), m_hKeyDirectory(NULL){};
inline CServiceDirectory::~CServiceDirectory()
{
if (m_hKeyDirectory)
{
RegCloseKey(m_hKeyDirectory);
}
}