/* * autoupd.h - AutoUpdate interface to Windows Update site * * Copyright (c) 1999, Microsoft Corporation. All rights reserved. * */ #ifndef _AUTOUPD_H // // IAutoUpdate interface // typedef void (*PFN_QueryDownloadFilesCallback)(void* pCallbackParam, long puid, LPCWSTR pszURL, LPCWSTR pszLocalFile); typedef void (*PFN_InstallCallback)(void* pCallbackParam, long puid, int iStatus/*as defined is cstate.h*/, HRESULT hrError); #define IAUTOUPDATE_METHODS(IPURE) \ STDMETHOD(BuildCatalog)(BOOL fGoOnline, DWORD dwType, BSTR bstrServerUrl)IPURE; \ STDMETHOD(GetPuidsList)(LONG* pcnPuids, long** ppPuids) IPURE; \ STDMETHOD(QueryDownloadFiles)(long puid, void* pCallbackParam, PFN_QueryDownloadFilesCallback pCallback) IPURE; \ STDMETHOD(GetCatalogArray)(VARIANT *pCatalogArray) IPURE; \ STDMETHOD(SelectAllPuids)() IPURE; \ STDMETHOD(UnselectAllPuids)() IPURE; \ STDMETHOD(SelectPuid)(long puid) IPURE; \ STDMETHOD(UnselectPuid)(long puid) IPURE; \ STDMETHOD(HidePuid)(long puid) IPURE; \ STDMETHOD(InstallSelectedPuids)(void* pCallbackParam, PFN_InstallCallback pCallback) IPURE; \ STDMETHOD(CleanupCabsAndReadThis)(void) IPURE; \ STDMETHOD(UnhideAllPuids)() IPURE; \ STDMETHOD(StatusReport)(long puid, LPCSTR pszStatus) IPURE; \ STDMETHOD(DownloadReadThisPage)(long puid) IPURE; \ class __declspec(novtable) IAutoUpdate : public IUnknown { public: IAUTOUPDATE_METHODS(PURE) }; class __declspec(uuid("C2DD72DC-A77E-48c4-8E16-EB7E9B2812BD")) IAutoUpdate; // versa PURE #define IMPLEMENTED #define _AUTOUPD_H #endif