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.
49 lines
1.3 KiB
49 lines
1.3 KiB
#ifndef __PARSER_RSOP_H__
|
|
#define __PARSER_RSOP_H__
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
typedef struct tagRSOPREGITEM {
|
|
BOOL bHKCU;
|
|
LPTSTR lpKeyName;
|
|
LPTSTR lpValueName;
|
|
LPTSTR lpGPOName;
|
|
DWORD dwType;
|
|
DWORD dwSize;
|
|
LPBYTE lpData;
|
|
BOOL bFoundInADM;
|
|
UINT uiPrecedence;
|
|
BOOL bDeleted;
|
|
struct tagRSOPREGITEM * pNext;
|
|
} RSOPREGITEM, *LPRSOPREGITEM;
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
class CRSOPRegData
|
|
{
|
|
public:
|
|
CRSOPRegData();
|
|
~CRSOPRegData();
|
|
|
|
// operations
|
|
public:
|
|
HRESULT Initialize(BSTR bstrNamespace);
|
|
UINT ReadValue(UINT uiPrecedence, BOOL bHKCU, LPTSTR pszKeyName,
|
|
LPTSTR pszValueName, LPBYTE pData,
|
|
DWORD dwMaxSize, DWORD *pdwType,
|
|
LPTSTR *lpGPOName, LPRSOPREGITEM lpItem = NULL);
|
|
|
|
private:
|
|
BOOL AddNode(BOOL bHKCU, LPTSTR lpKeyName, LPTSTR lpValueName,
|
|
DWORD dwType, DWORD dwDataSize,
|
|
LPBYTE lpData, UINT uiPrecedence,
|
|
LPTSTR lpGPOName, BOOL bDeleted);
|
|
HRESULT GetGPOFriendlyName(IWbemServices *pIWbemServices,
|
|
LPTSTR lpGPOID, BSTR pLanguage, LPTSTR *pGPOName);
|
|
void Free();
|
|
|
|
// implementation
|
|
protected:
|
|
LPRSOPREGITEM m_pData;
|
|
};
|
|
|
|
|
|
#endif //__PARSER_RSOP_H__
|