Source code of Windows XP (NT5)
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.

44 lines
1.5 KiB

  1. /*
  2. * autoupd.h - AutoUpdate interface to Windows Update site
  3. *
  4. * Copyright (c) 1999, Microsoft Corporation. All rights reserved.
  5. *
  6. */
  7. #ifndef _AUTOUPD_H
  8. //
  9. // IAutoUpdate interface
  10. //
  11. typedef void (*PFN_QueryDownloadFilesCallback)(void* pCallbackParam, long puid, LPCWSTR pszURL, LPCWSTR pszLocalFile);
  12. typedef void (*PFN_InstallCallback)(void* pCallbackParam, long puid, int iStatus/*as defined is cstate.h*/, HRESULT hrError);
  13. #define IAUTOUPDATE_METHODS(IPURE) \
  14. STDMETHOD(BuildCatalog)(BOOL fGoOnline, DWORD dwType, BSTR bstrServerUrl)IPURE; \
  15. STDMETHOD(GetPuidsList)(LONG* pcnPuids, long** ppPuids) IPURE; \
  16. STDMETHOD(QueryDownloadFiles)(long puid, void* pCallbackParam, PFN_QueryDownloadFilesCallback pCallback) IPURE; \
  17. STDMETHOD(GetCatalogArray)(VARIANT *pCatalogArray) IPURE; \
  18. STDMETHOD(SelectAllPuids)() IPURE; \
  19. STDMETHOD(UnselectAllPuids)() IPURE; \
  20. STDMETHOD(SelectPuid)(long puid) IPURE; \
  21. STDMETHOD(UnselectPuid)(long puid) IPURE; \
  22. STDMETHOD(HidePuid)(long puid) IPURE; \
  23. STDMETHOD(InstallSelectedPuids)(void* pCallbackParam, PFN_InstallCallback pCallback) IPURE; \
  24. STDMETHOD(CleanupCabsAndReadThis)(void) IPURE; \
  25. STDMETHOD(UnhideAllPuids)() IPURE; \
  26. STDMETHOD(StatusReport)(long puid, LPCSTR pszStatus) IPURE; \
  27. STDMETHOD(DownloadReadThisPage)(long puid) IPURE; \
  28. class __declspec(novtable) IAutoUpdate : public IUnknown
  29. {
  30. public:
  31. IAUTOUPDATE_METHODS(PURE)
  32. };
  33. class __declspec(uuid("C2DD72DC-A77E-48c4-8E16-EB7E9B2812BD")) IAutoUpdate;
  34. // versa PURE
  35. #define IMPLEMENTED
  36. #define _AUTOUPD_H
  37. #endif