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.

56 lines
1.3 KiB

  1. // RegDataItem.h: interface for the CRegDataItem class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_REGDATAITEM_H__741AB6DD_2F0A_4B35_9E1C_CF035916ABFC__INCLUDED_)
  5. #define AFX_REGDATAITEM_H__741AB6DD_2F0A_4B35_9E1C_CF035916ABFC__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "counted_ptr.h"
  10. #include "str.h"
  11. class CRegFile;
  12. class CRegDataItem
  13. {
  14. public:
  15. void WriteToFile(CRegFile& file);
  16. void WriteInfCode(CRegFile& file, DWORD InfCode);
  17. void WriteMultiString(CRegFile& file);
  18. LPTSTR GetDwordString();
  19. LPTSTR GetBinaryString();
  20. void WriteDataString(CRegFile& file);
  21. void SplitString(LPCTSTR str, LPTSTR& first, LPTSTR& last, TCHAR separator);
  22. void WriteToInfFile(CRegFile& file, bool bWriteValueData);
  23. int CompareTo(const CRegDataItem& r);
  24. LPTSTR GetQuotedString(LPCTSTR str);
  25. CRegDataItem();
  26. virtual ~CRegDataItem();
  27. CStr m_KeyName;
  28. CStr m_Name;
  29. LPBYTE m_pDataBuf;
  30. DWORD m_DataLen, m_NameLen;
  31. DWORD m_Type;
  32. bool m_bIsEmpty, m_bDontDeleteData;
  33. };
  34. class CRegDataItemPtr : public counted_ptr<CRegDataItem>
  35. {
  36. public:
  37. CRegDataItemPtr(CRegDataItem* X=NULL)
  38. : counted_ptr<CRegDataItem>(X)
  39. {}
  40. };
  41. LPTSTR GetCopy(LPCTSTR str);
  42. #endif // !defined(AFX_REGDATAITEM_H__741AB6DD_2F0A_4B35_9E1C_CF035916ABFC__INCLUDED_)