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.

96 lines
2.4 KiB

  1. class CMergedEnumPackage : public IEnumPackage
  2. {
  3. public:
  4. // IUnknown methods
  5. HRESULT _stdcall QueryInterface(REFIID riid, void** ppObject);
  6. ULONG _stdcall AddRef();
  7. ULONG _stdcall Release();
  8. // IEnumPackage methods
  9. HRESULT __stdcall Next(ULONG celt,
  10. PACKAGEDISPINFO *rgelt,
  11. ULONG *pceltFetched
  12. );
  13. HRESULT __stdcall Skip(ULONG celt);
  14. HRESULT __stdcall Reset(void);
  15. CMergedEnumPackage();
  16. ~CMergedEnumPackage();
  17. HRESULT Initialize(IEnumPackage **pcsEnum, ULONG cEnum);
  18. private:
  19. IEnumPackage **m_pcsEnum;
  20. ULONG m_cEnum;
  21. ULONG m_dwRefCount;
  22. ULONG m_csnum;
  23. };
  24. //
  25. // CEnumPackage Class Definition
  26. //
  27. class CEnumPackage: public IEnumPackage
  28. {
  29. private:
  30. ULONG m_dwRefCount;
  31. WCHAR * m_szfilter;
  32. WCHAR m_szPackageName[_MAX_PATH];
  33. DWORD m_dwPosition;
  34. DWORD m_dwAppFlags;
  35. DWORD m_dwQuerySpec;
  36. CSPLATFORM * m_pPlatform;
  37. HANDLE m_hADs;
  38. ADS_SEARCH_HANDLE m_hADsSearchHandle;
  39. BOOL m_fFirst;
  40. GUID m_PolicyId;
  41. WCHAR m_szPolicyName[_MAX_PATH];
  42. WCHAR* m_szGpoPath;
  43. PRSOPTOKEN m_pRsopUserToken;
  44. CServerContext m_ServerContext;
  45. public:
  46. CEnumPackage(CServerContext* m_ServerContext, GUID PolicyId, LPOLESTR pszPolicyName, LPOLESTR pszClassStorePath, PRSOPTOKEN pRsopToken);
  47. ~CEnumPackage();
  48. HRESULT __stdcall QueryInterface(
  49. REFIID riid,
  50. void ** ppvObject);
  51. ULONG __stdcall AddRef();
  52. ULONG __stdcall Release();
  53. HRESULT __stdcall Next(
  54. ULONG celt,
  55. PACKAGEDISPINFO *rgelt,
  56. ULONG *pceltFetched);
  57. HRESULT __stdcall Skip(
  58. ULONG celt);
  59. HRESULT __stdcall Reset();
  60. HRESULT __stdcall Initialize(
  61. LPOLESTR szPackageName,
  62. LPOLESTR szCommandText,
  63. DWORD dwAppFlags,
  64. BOOL bPlanning,
  65. CSPLATFORM *pPlatform
  66. );
  67. void SetRsopToken( PRSOPTOKEN pRsopToken );
  68. };
  69.