// wuaueng.idl : IDL source for wuaueng.dll // // This file will be processed by the MIDL tool to // produce the type library (wuaueng.tlb) and marshalling code. import "oaidl.idl"; import "ocidl.idl"; import "unknwn.idl"; import "..\inc\wuaustate.h"; [ object, uuid(11178075-25D2-4C9C-8087-4C36924091E1), helpstring("IUpdates Interface"), pointer_default(unique) , oleautomation ] interface IUpdates : IClassFactory { [propget, id(1), helpstring("property State")] HRESULT State([out, retval] AUSTATE *pAuState); [propget, id(2), helpstring("property Option")] HRESULT Option([out, retval] AUOPTION *pVal); [propput, id(2), helpstring("property Option")] HRESULT Option([in] AUOPTION Val); [id(4), helpstring("method GetUpdatesList")] HRESULT GetUpdatesList([out] VARIANT *pUpdates); [id(5), helpstring("method SaveSelections")] HRESULT SaveSelections([in] VARIANT vUpdates); [id(6), helpstring("method StartDownload")] HRESULT StartDownload(void); [id(7), helpstring("method GetDownloadStatus")] HRESULT GetDownloadStatus([out] UINT *pPercentage, [out] DWORD *pStatus); [id(8), helpstring("method SetDownloadPaused")] HRESULT SetDownloadPaused([in] BOOL bPaused); [id(10), helpstring("method ConfigureAU")] HRESULT ConfigureAU(); [id(11), helpstring("method AvailableSessions")] HRESULT AvailableSessions(UINT *pcSess); [id(13), helpstring("method get_GetEvtHandles")] HRESULT get_EvtHandles([in]DWORD dwCltProcId, [out, retval] AUEVTHANDLES *pauevtHandles); [id(14), helpstring("method ClientMessage")] HRESULT ClientMessage([in] UINT msg); [id(16), helpstring("method GetNotifyData")] HRESULT GetNotifyData([out] CLIENT_NOTIFY_DATA *pNotifyData); [id(17), helpstring("method GetInstallXML")] HRESULT GetInstallXML([out] BSTR *pbstrCatalogXML, [out] BSTR *pbstrDownloadXML); [id(18), helpstring("method LogEvent")] HRESULT LogEvent([in] WORD wType, [in] WORD wCategory, [in] DWORD dwEventID, [in] VARIANT vItems); }; [ uuid(D4D8199E-E376-4d57-8B08-BBF87E1F36B1), version(1.0), helpstring("wuaueng 1.0 Type Library") ] library WUAUENGLib { importlib("stdole2.tlb"); [ uuid(E9376CC6-121A-447e-81CF-D8BCC200007C), helpstring("Updates Class") ] coclass Updates { [default] interface IUpdates; }; };