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.

48 lines
1.3 KiB

  1. #ifndef __PARSER_RSOP_H__
  2. #define __PARSER_RSOP_H__
  3. /////////////////////////////////////////////////////////////////////
  4. typedef struct tagRSOPREGITEM {
  5. BOOL bHKCU;
  6. LPTSTR lpKeyName;
  7. LPTSTR lpValueName;
  8. LPTSTR lpGPOName;
  9. DWORD dwType;
  10. DWORD dwSize;
  11. LPBYTE lpData;
  12. BOOL bFoundInADM;
  13. UINT uiPrecedence;
  14. BOOL bDeleted;
  15. struct tagRSOPREGITEM * pNext;
  16. } RSOPREGITEM, *LPRSOPREGITEM;
  17. /////////////////////////////////////////////////////////////////////
  18. class CRSOPRegData
  19. {
  20. public:
  21. CRSOPRegData();
  22. ~CRSOPRegData();
  23. // operations
  24. public:
  25. HRESULT Initialize(BSTR bstrNamespace);
  26. UINT ReadValue(UINT uiPrecedence, BOOL bHKCU, LPTSTR pszKeyName,
  27. LPTSTR pszValueName, LPBYTE pData,
  28. DWORD dwMaxSize, DWORD *pdwType,
  29. LPTSTR *lpGPOName, LPRSOPREGITEM lpItem = NULL);
  30. private:
  31. BOOL AddNode(BOOL bHKCU, LPTSTR lpKeyName, LPTSTR lpValueName,
  32. DWORD dwType, DWORD dwDataSize,
  33. LPBYTE lpData, UINT uiPrecedence,
  34. LPTSTR lpGPOName, BOOL bDeleted);
  35. HRESULT GetGPOFriendlyName(IWbemServices *pIWbemServices,
  36. LPTSTR lpGPOID, BSTR pLanguage, LPTSTR *pGPOName);
  37. void Free();
  38. // implementation
  39. protected:
  40. LPRSOPREGITEM m_pData;
  41. };
  42. #endif //__PARSER_RSOP_H__