wuapi.idl 98 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648
  1. //=======================================================================
  2. //
  3. // (C) Copyright 2003-2004 Microsoft Corporation. All Rights Reserved.
  4. //
  5. // File: wuapi.idl
  6. //
  7. // Contents: Windows Update Services Client Interfaces.
  8. //
  9. //=======================================================================
  10. cpp_quote("//=--------------------------------------------------------------------------=")
  11. cpp_quote("// wuapi.h")
  12. cpp_quote("//=--------------------------------------------------------------------------=")
  13. cpp_quote("// (C) Copyright 2003-2004 Microsoft Corporation. All Rights Reserved.")
  14. cpp_quote("//")
  15. cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
  16. cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
  17. cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
  18. cpp_quote("// PARTICULAR PURPOSE.")
  19. cpp_quote("//=--------------------------------------------------------------------------=")
  20. cpp_quote("")
  21. cpp_quote("#pragma comment(lib, \"wuguid.lib\")")
  22. cpp_quote("")
  23. cpp_quote("//--------------------------------------------------------------------------")
  24. cpp_quote("// Windows Update Services Client Interfaces.")
  25. cpp_quote("// --------------------------------------------------------------------------------")
  26. cpp_quote("// GUIDS")
  27. cpp_quote("// --------------------------------------------------------------------------------")
  28. cpp_quote("// {B596CC9F-56E5-419E-A622-E01BB457431E}")
  29. cpp_quote("DEFINE_GUID(LIBID_WUApiLib,0xB596CC9F,0x56E5,0x419E,0xA6,0x22,0xE0,0x1B,0xB4,0x57,0x43,0x1E);")
  30. cpp_quote("")
  31. cpp_quote("// {A976C28D-75A1-42AA-94AE-8AF8B872089A}")
  32. cpp_quote("DEFINE_GUID(IID_IUpdateLockdown,0xa976c28d,0x75a1,0x42aa,0x94,0xae,0x8a,0xf8,0xb8,0x72,0x08,0x9a);")
  33. cpp_quote("")
  34. cpp_quote("// {EFF90582-2DDC-480F-A06D-60F3FBC362C3}")
  35. cpp_quote("DEFINE_GUID(IID_IStringCollection,0xeff90582,0x2ddc,0x480f,0xa0,0x6d,0x60,0xf3,0xfb,0xc3,0x62,0xc3);")
  36. cpp_quote("")
  37. cpp_quote("// {174C81FE-AECD-4DAE-B8A0-2C6318DD86A8}")
  38. cpp_quote("DEFINE_GUID(IID_IWebProxy,0x174c81fe,0xaecd,0x4dae,0xb8,0xa0,0x2c,0x63,0x18,0xdd,0x86,0xa8);")
  39. cpp_quote("")
  40. cpp_quote("// {ADE87BF7-7B56-4275-8FAB-B9B0E591844B}")
  41. cpp_quote("DEFINE_GUID(IID_ISystemInformation,0xade87bf7,0x7b56,0x4275,0x8f,0xab,0xb9,0xb0,0xe5,0x91,0x84,0x4b);")
  42. cpp_quote("")
  43. cpp_quote("// {2EE48F22-AF3C-405F-8970-F71BE12EE9A2}")
  44. cpp_quote("DEFINE_GUID(IID_IAutomaticUpdatesSettings,0x2ee48f22,0xaf3c,0x405f,0x89,0x70,0xf7,0x1b,0xe1,0x2e,0xe9,0xa2);")
  45. cpp_quote("")
  46. cpp_quote("// {673425BF-C082-4C7C-BDFD-569464B8E0CE}")
  47. cpp_quote("DEFINE_GUID(IID_IAutomaticUpdates,0x673425bf,0xc082,0x4c7c,0xbd,0xfd,0x56,0x94,0x64,0xb8,0xe0,0xce);")
  48. cpp_quote("")
  49. cpp_quote("// {46297823-9940-4C09-AED9-CD3EA6D05968}")
  50. cpp_quote("DEFINE_GUID(IID_IUpdateIdentity,0x46297823,0x9940,0x4c09,0xae,0xd9,0xcd,0x3e,0xa6,0xd0,0x59,0x68);")
  51. cpp_quote("")
  52. cpp_quote("// {7C907864-346C-4AEB-8F3F-57DA289F969F}")
  53. cpp_quote("DEFINE_GUID(IID_IImageInformation,0x7c907864,0x346c,0x4aeb,0x8f,0x3f,0x57,0xda,0x28,0x9f,0x96,0x9f);")
  54. cpp_quote("")
  55. cpp_quote("// {81DDC1B8-9D35-47A6-B471-5B80F519223B}")
  56. cpp_quote("DEFINE_GUID(IID_ICategory,0x81ddc1b8,0x9d35,0x47a6,0xb4,0x71,0x5b,0x80,0xf5,0x19,0x22,0x3b);")
  57. cpp_quote("")
  58. cpp_quote("// {3A56BFB8-576C-43F7-9335-FE4838FD7E37}")
  59. cpp_quote("DEFINE_GUID(IID_ICategoryCollection,0x3a56bfb8,0x576c,0x43f7,0x93,0x35,0xfe,0x48,0x38,0xfd,0x7e,0x37);")
  60. cpp_quote("")
  61. cpp_quote("// {D9A59339-E245-4DBD-9686-4D5763E39624}")
  62. cpp_quote("DEFINE_GUID(IID_IInstallationBehavior,0xd9a59339,0xe245,0x4dbd,0x96,0x86,0x4d,0x57,0x63,0xe3,0x96,0x24);")
  63. cpp_quote("")
  64. cpp_quote("// {6A92B07A-D821-4682-B423-5C805022CC4D}")
  65. cpp_quote("DEFINE_GUID(IID_IUpdate,0x6a92b07a,0xd821,0x4682,0xb4,0x23,0x5c,0x80,0x50,0x22,0xcc,0x4d);")
  66. cpp_quote("")
  67. cpp_quote("// {B383CD1A-5CE9-4504-9F63-764B1236F191}")
  68. cpp_quote("DEFINE_GUID(IID_IWindowsDriverUpdate,0xb383cd1a,0x5ce9,0x4504,0x9f,0x63,0x76,0x4b,0x12,0x36,0xf1,0x91);")
  69. cpp_quote("")
  70. cpp_quote("// {07F7438C-7709-4CA5-B518-91279288134E}")
  71. cpp_quote("DEFINE_GUID(IID_IUpdateCollection,0x07f7438c,0x7709,0x4ca5,0xb5,0x18,0x91,0x27,0x92,0x88,0x13,0x4e);")
  72. cpp_quote("")
  73. cpp_quote("// {A376DD5E-09D4-427F-AF7C-FED5B6E1C1D6}")
  74. cpp_quote("DEFINE_GUID(IID_IUpdateException,0xa376dd5e,0x09d4,0x427f,0xaf,0x7c,0xfe,0xd5,0xb6,0xe1,0xc1,0xd6);")
  75. cpp_quote("")
  76. cpp_quote("// {A37D00F5-7BB0-4953-B414-F9E98326F2E8}")
  77. cpp_quote("DEFINE_GUID(IID_IInvalidProductLicenseException,0xa37d00f5,0x7bb0,0x4953,0xb4,0x14,0xf9,0xe9,0x83,0x26,0xf2,0xe8);")
  78. cpp_quote("")
  79. cpp_quote("// {A37D00F5-7BB0-4953-B414-F9E98326F2E8}")
  80. cpp_quote("DEFINE_GUID(IID_IUpdateExceptionCollection,0x503626a3,0x8e14,0x4729,0x93,0x55,0x0f,0xe6,0x64,0xbd,0x23,0x21);")
  81. cpp_quote("")
  82. cpp_quote("// {D40CFF62-E08C-4498-941A-01E25F0FD33C}")
  83. cpp_quote("DEFINE_GUID(IID_ISearchResult,0xd40cff62,0xe08c,0x4498,0x94,0x1a,0x01,0xe2,0x5f,0x0f,0xd3,0x3c);")
  84. cpp_quote("")
  85. cpp_quote("// {7366EA16-7A1A-4EA2-B042-973D3E9CD99B}")
  86. cpp_quote("DEFINE_GUID(IID_ISearchJob,0x7366ea16,0x7a1a,0x4ea2,0xb0,0x42,0x97,0x3d,0x3e,0x9c,0xd9,0x9b);")
  87. cpp_quote("")
  88. cpp_quote("// {A700A634-2850-4C47-938A-9E4B6E5AF9A6}")
  89. cpp_quote("DEFINE_GUID(IID_ISearchCompletedCallbackArgs,0xa700a634,0x2850,0x4c47,0x93,0x8a,0x9e,0x4b,0x6e,0x5a,0xf9,0xa6);")
  90. cpp_quote("")
  91. cpp_quote("// {88AEE058-D4B0-4725-A2F1-814A67AE964C}")
  92. cpp_quote("DEFINE_GUID(IID_ISearchCompletedCallback,0x88aee058,0xd4b0,0x4725,0xa2,0xf1,0x81,0x4a,0x67,0xae,0x96,0x4c);")
  93. cpp_quote("")
  94. cpp_quote("// {BE56A644-AF0E-4E0E-A311-C1D8E695CBFF}")
  95. cpp_quote("DEFINE_GUID(IID_IUpdateHistoryEntry,0xbe56a644,0xaf0e,0x4e0e,0xa3,0x11,0xc1,0xd8,0xe6,0x95,0xcb,0xff);")
  96. cpp_quote("")
  97. cpp_quote("// {A7F04F3C-A290-435B-AADF-A116C3357A5C}")
  98. cpp_quote("DEFINE_GUID(IID_IUpdateHistoryEntryCollection,0xa7f04f3c,0xa290,0x435b,0xaa,0xdf,0xa1,0x16,0xc3,0x35,0x7a,0x5c);")
  99. cpp_quote("")
  100. cpp_quote("// {8F45ABF1-F9AE-4B95-A933-F0F66E5056EA}")
  101. cpp_quote("DEFINE_GUID(IID_IUpdateSearcher,0x8f45abf1,0xf9ae,0x4b95,0xa9,0x33,0xf0,0xf6,0x6e,0x50,0x56,0xea);")
  102. cpp_quote("")
  103. cpp_quote("// {BF99AF76-B575-42AD-8AA4-33CBB5477AF1}")
  104. cpp_quote("DEFINE_GUID(IID_IUpdateDownloadResult,0xbf99af76,0xb575,0x42ad,0x8a,0xa4,0x33,0xcb,0xb5,0x47,0x7a,0xf1);")
  105. cpp_quote("")
  106. cpp_quote("// {DAA4FDD0-4727-4DBE-A1E7-745DCA317144}")
  107. cpp_quote("DEFINE_GUID(IID_IDownloadResult,0xdaa4fdd0,0x4727,0x4dbe,0xa1,0xe7,0x74,0x5d,0xca,0x31,0x71,0x44);")
  108. cpp_quote("")
  109. cpp_quote("// {D31A5BAC-F719-4178-9DBB-5E2CB47FD18A}")
  110. cpp_quote("DEFINE_GUID(IID_IDownloadProgress,0xd31a5bac,0xf719,0x4178,0x9d,0xbb,0x5e,0x2c,0xb4,0x7f,0xd1,0x8a);")
  111. cpp_quote("")
  112. cpp_quote("// {C574DE85-7358-43F6-AAE8-8697E62D8BA7}")
  113. cpp_quote("DEFINE_GUID(IID_IDownloadJob,0xc574de85,0x7358,0x43f6,0xaa,0xe8,0x86,0x97,0xe6,0x2d,0x8b,0xa7);")
  114. cpp_quote("")
  115. cpp_quote("// {FA565B23-498C-47A0-979D-E7D5B1813360}")
  116. cpp_quote("DEFINE_GUID(IID_IDownloadCompletedCallbackArgs,0xfa565b23,0x498c,0x47a0,0x97,0x9d,0xe7,0xd5,0xb1,0x81,0x33,0x60);")
  117. cpp_quote("")
  118. cpp_quote("// {77254866-9F5B-4C8E-B9E2-C77A8530D64B}")
  119. cpp_quote("DEFINE_GUID(IID_IDownloadCompletedCallback,0x77254866,0x9f5b,0x4c8e,0xb9,0xe2,0xc7,0x7a,0x85,0x30,0xd6,0x4b);")
  120. cpp_quote("")
  121. cpp_quote("// {324FF2C6-4981-4B04-9412-57481745AB24}")
  122. cpp_quote("DEFINE_GUID(IID_IDownloadProgressChangedCallbackArgs,0x324ff2c6,0x4981,0x4b04,0x94,0x12,0x57,0x48,0x17,0x45,0xab,0x24);")
  123. cpp_quote("")
  124. cpp_quote("// {8C3F1CDD-6173-4591-AEBD-A56A53CA77C1}")
  125. cpp_quote("DEFINE_GUID(IID_IDownloadProgressChangedCallback,0x8c3f1cdd,0x6173,0x4591,0xae,0xbd,0xa5,0x6a,0x53,0xca,0x77,0xc1);")
  126. cpp_quote("")
  127. cpp_quote("// {68F1C6F9-7ECC-4666-A464-247FE12496C3}")
  128. cpp_quote("DEFINE_GUID(IID_IUpdateDownloader,0x68f1c6f9,0x7ecc,0x4666,0xa4,0x64,0x24,0x7f,0xe1,0x24,0x96,0xc3);")
  129. cpp_quote("")
  130. cpp_quote("// {D940F0F8-3CBB-4FD0-993F-471E7F2328AD}")
  131. cpp_quote("DEFINE_GUID(IID_IUpdateInstallationResult,0xd940f0f8,0x3cbb,0x4fd0,0x99,0x3f,0x47,0x1e,0x7f,0x23,0x28,0xad);")
  132. cpp_quote("")
  133. cpp_quote("// {A43C56D6-7451-48D4-AF96-B6CD2D0D9B7A}")
  134. cpp_quote("DEFINE_GUID(IID_IInstallationResult,0xa43c56d6,0x7451,0x48d4,0xaf,0x96,0xb6,0xcd,0x2d,0x0d,0x9b,0x7a);")
  135. cpp_quote("")
  136. cpp_quote("// {345C8244-43A3-4E32-A368-65F073B76F36}")
  137. cpp_quote("DEFINE_GUID(IID_IInstallationProgress,0x345c8244,0x43a3,0x4e32,0xa3,0x68,0x65,0xf0,0x73,0xb7,0x6f,0x36);")
  138. cpp_quote("")
  139. cpp_quote("// {5C209F0B-BAD5-432A-9556-4699BED2638A}")
  140. cpp_quote("DEFINE_GUID(IID_IInstallationJob,0x5c209f0b,0xbad5,0x432a,0x95,0x56,0x46,0x99,0xbe,0xd2,0x63,0x8a);")
  141. cpp_quote("")
  142. cpp_quote("// {250E2106-8EFB-4705-9653-EF13C581B6A1}")
  143. cpp_quote("DEFINE_GUID(IID_IInstallationCompletedCallbackArgs,0x250e2106,0x8efb,0x4705,0x96,0x53,0xef,0x13,0xc5,0x81,0xb6,0xa1);")
  144. cpp_quote("")
  145. cpp_quote("// {45F4F6F3-D602-4F98-9A8A-3EFA152AD2D3}")
  146. cpp_quote("DEFINE_GUID(IID_IInstallationCompletedCallback,0x45f4f6f3,0xd602,0x4f98,0x9a,0x8a,0x3e,0xfa,0x15,0x2a,0xd2,0xd3);")
  147. cpp_quote("")
  148. cpp_quote("// {E4F14E1E-689D-4218-A0B9-BC189C484A01}")
  149. cpp_quote("DEFINE_GUID(IID_IInstallationProgressChangedCallbackArgs,0xe4f14e1e,0x689d,0x4218,0xa0,0xb9,0xbc,0x18,0x9c,0x48,0x4a,0x01);")
  150. cpp_quote("")
  151. cpp_quote("// {E01402D5-F8DA-43BA-A012-38894BD048F1}")
  152. cpp_quote("DEFINE_GUID(IID_IInstallationProgressChangedCallback,0xe01402d5,0xf8da,0x43ba,0xa0,0x12,0x38,0x89,0x4b,0xd0,0x48,0xf1);")
  153. cpp_quote("")
  154. cpp_quote("// {7B929C68-CCDC-4226-96B1-8724600B54C2}")
  155. cpp_quote("DEFINE_GUID(IID_IUpdateInstaller,0x7b929c68,0xccdc,0x4226,0x96,0xb1,0x87,0x24,0x60,0x0b,0x54,0xc2);")
  156. cpp_quote("")
  157. cpp_quote("// {816858A4-260D-4260-933A-2585F1ABC76B}")
  158. cpp_quote("DEFINE_GUID(IID_IUpdateSession,0x816858a4,0x260d,0x4260,0x93,0x3a,0x25,0x85,0xf1,0xab,0xc7,0x6b);")
  159. cpp_quote("")
  160. cpp_quote("// {9F95119D-2FE8-4A9F-BF1E-D5ACB4699F3C}")
  161. cpp_quote("DEFINE_GUID(IID_IUpdateService,0x9f95119d,0x2fe8,0x4a9f,0xbf,0x1e,0xd5,0xac,0xb4,0x69,0x9f,0x3c);")
  162. cpp_quote("")
  163. cpp_quote("// {9B0353AA-0E52-44FF-B8B0-1F7FA0437F88}")
  164. cpp_quote("DEFINE_GUID(IID_IUpdateServiceCollection,0x9b0353aa,0x0e52,0x44ff,0xb8,0xb0,0x1f,0x7f,0xa0,0x43,0x7f,0x88);")
  165. cpp_quote("")
  166. cpp_quote("// {C165FA56-6F87-43AA-9D92-6CEBCC7BCFE4}")
  167. cpp_quote("DEFINE_GUID(IID_IUpdateServiceManager,0xc165fa56,0x6f87,0x43aa,0x9d,0x92,0x6c,0xeb,0xcc,0x7b,0xcf,0xe4);")
  168. cpp_quote("")
  169. cpp_quote("// {72C97D74-7C3B-40AE-B77D-ABDB22EBA6FB}")
  170. cpp_quote("DEFINE_GUID(CLSID_StringCollection,0x72C97D74,0x7C3B,0x40AE,0xB7,0x7D,0xAB,0xDB,0x22,0xEB,0xA6,0xFB);")
  171. cpp_quote("")
  172. cpp_quote("// {B699E5E8-67FF-4177-88B0-3684A3388BFB}")
  173. cpp_quote("DEFINE_GUID(CLSID_UpdateSearcher,0xB699E5E8,0x67FF,0x4177,0x88,0xB0,0x36,0x84,0xA3,0x38,0x8B,0xFB);")
  174. cpp_quote("")
  175. cpp_quote("// {650503cf-9108-4ddc-a2ce-6c2341e1c582}")
  176. cpp_quote("DEFINE_GUID(CLSID_WebProxy,0x650503cf,0x9108,0x4ddc,0xa2,0xce,0x6c,0x23,0x41,0xe1,0xc5,0x82);")
  177. cpp_quote("")
  178. cpp_quote("// {C01B9BA0-BEA7-41BA-B604-D0A36F469133}")
  179. cpp_quote("DEFINE_GUID(CLSID_SystemInformation,0xC01B9BA0,0xBEA7,0x41BA,0xB6,0x04,0xD0,0xA3,0x6F,0x46,0x91,0x33);")
  180. cpp_quote("")
  181. cpp_quote("// {BFE18E9C-6D87-4450-B37C-E02F0B373803}")
  182. cpp_quote("DEFINE_GUID(CLSID_AutomaticUpdates,0xBFE18E9C,0x6D87,0x4450,0xB3,0x7C,0xE0,0x2F,0x0B,0x37,0x38,0x03);")
  183. cpp_quote("")
  184. cpp_quote("// {13639463-00DB-4646-803D-528026140D88}")
  185. cpp_quote("DEFINE_GUID(CLSID_UpdateCollection,0x13639463,0x00DB,0x4646,0x80,0x3D,0x52,0x80,0x26,0x14,0x0D,0x88);")
  186. cpp_quote("")
  187. cpp_quote("// {5BAF654A-5A07-4264-A255-9FF54C7151E7}")
  188. cpp_quote("DEFINE_GUID(CLSID_UpdateDownloader,0x5BAF654A,0x5A07,0x4264,0xA2,0x55,0x9F,0xF5,0x4C,0x71,0x51,0xE7);")
  189. cpp_quote("")
  190. cpp_quote("// {D2E0FE7F-D23E-48E1-93C0-6FA8CC346474}")
  191. cpp_quote("DEFINE_GUID(CLSID_UpdateInstaller,0xD2E0FE7F,0xD23E,0x48E1,0x93,0xC0,0x6F,0xA8,0xCC,0x34,0x64,0x74);")
  192. cpp_quote("")
  193. cpp_quote("// {4CB43D7F-7EEE-4906-8698-60DA1C38F2FE}")
  194. cpp_quote("DEFINE_GUID(CLSID_UpdateSession,0x4CB43D7F,0x7EEE,0x4906,0x86,0x98,0x60,0xDA,0x1C,0x38,0xF2,0xFE);")
  195. cpp_quote("")
  196. cpp_quote("// {91353063-774C-4F84-B05B-498FEC7FBE25}")
  197. cpp_quote("DEFINE_GUID(CLSID_UpdateServiceManager,0x91353063,0x774C,0x4F84,0xB0,0x5B,0x49,0x8F,0xEC,0x7F,0xBE,0x25);")
  198. cpp_quote("")
  199. #ifndef DO_NO_IMPORTS
  200. import "oaidl.idl";
  201. #endif
  202. [
  203. helpstring(
  204. "Defines possible ways in which elevated users will be notified about "
  205. "Automatic Updates events."),
  206. v1_enum
  207. ]
  208. typedef [public] enum tagAutomaticUpdatesNotificationLevel
  209. {
  210. [helpstring("Not configured")] aunlNotConfigured = 0,
  211. [helpstring("Disabled")] aunlDisabled = 1,
  212. [helpstring("Notify before download")] aunlNotifyBeforeDownload = 2,
  213. [helpstring("Notify before installation")] aunlNotifyBeforeInstallation = 3,
  214. [helpstring("Scheduled installation")] aunlScheduledInstallation = 4,
  215. } AutomaticUpdatesNotificationLevel;
  216. [
  217. helpstring(
  218. "Defines possible day(s) of week when Automatic Updates may "
  219. "(un)install updates."),
  220. v1_enum
  221. ]
  222. typedef [public] enum tagAutomaticUpdatesScheduledInstallationDay
  223. {
  224. [helpstring("Every Day")] ausidEveryDay = 0,
  225. [helpstring("Every Sunday")] ausidEverySunday = 1,
  226. [helpstring("Every Monday")] ausidEveryMonday = 2,
  227. [helpstring("Every Tuesday")] ausidEveryTuesday = 3,
  228. [helpstring("Every Wednesday")] ausidEveryWednesday = 4,
  229. [helpstring("Every Thursday")] ausidEveryThursday = 5,
  230. [helpstring("Every Friday")] ausidEveryFriday = 6,
  231. [helpstring("Every Saturday")] ausidEverySaturday = 7,
  232. } AutomaticUpdatesScheduledInstallationDay;
  233. [
  234. helpstring("Defines the possible phases during a download operation."),
  235. v1_enum
  236. ]
  237. typedef [public] enum tagDownloadPhase
  238. {
  239. [helpstring("Initializing")] dphInitializing = 1,
  240. [helpstring("Downloading")] dphDownloading = 2,
  241. [helpstring("Verifying")] dphVerifying = 3,
  242. } DownloadPhase;
  243. [
  244. helpstring("Defines possible priorities for a download operation."),
  245. v1_enum
  246. ]
  247. typedef [public] enum tagDownloadPriority
  248. {
  249. [helpstring("Low")] dpLow = 1,
  250. [helpstring("Normal")] dpNormal = 2,
  251. [helpstring("High")] dpHigh = 3,
  252. } DownloadPriority;
  253. [
  254. helpstring(
  255. "Defines possible levels of impact that may be caused by (un)installing"
  256. " an Update."),
  257. v1_enum
  258. ]
  259. typedef [public] enum tagInstallationImpact
  260. {
  261. [helpstring("Normal")] iiNormal = 0,
  262. [helpstring("Minor")] iiMinor = 1,
  263. [helpstring("Requires exclusive handling")] iiRequiresExclusiveHandling = 2,
  264. } InstallationImpact;
  265. [
  266. helpstring(
  267. "Defines possible reboot behaviors exhibited by an Update during "
  268. "(un)installation."),
  269. v1_enum
  270. ]
  271. typedef [public] enum tagInstallationRebootBehavior
  272. {
  273. [helpstring("Never reboots")] irbNeverReboots = 0,
  274. [helpstring("Always requires reboot")] irbAlwaysRequiresReboot = 1,
  275. [helpstring("Can request reboot")] irbCanRequestReboot = 2,
  276. } InstallationRebootBehavior;
  277. [
  278. helpstring(
  279. "Defines possible results of a download, (un)install, or verification "
  280. "operation on an update."),
  281. v1_enum
  282. ]
  283. typedef [public] enum tagOperationResultCode
  284. { /* In the order of significance */
  285. [helpstring("Not started")] orcNotStarted = 0,
  286. [helpstring("In progress")] orcInProgress = 1,
  287. [helpstring("Succeeded")] orcSucceeded = 2,
  288. [helpstring("Succeeded with errors")] orcSucceededWithErrors = 3,
  289. [helpstring("Failed")] orcFailed = 4,
  290. [helpstring("Aborted")] orcAborted = 5,
  291. } OperationResultCode;
  292. [
  293. helpstring(
  294. "Defines possible server selections the Searcher can search against."),
  295. v1_enum
  296. ]
  297. typedef [public] enum tagServerSelection
  298. {
  299. [helpstring("Default")] ssDefault = 0,
  300. [helpstring("Managed server")] ssManagedServer = 1,
  301. [helpstring("Windows Update")] ssWindowsUpdate = 2,
  302. [helpstring("Others")] ssOthers = 3,
  303. } ServerSelection;
  304. cpp_quote("#define IsValidServerSelection(x) ((x) >= ssMin && (x)<= ssMax)")
  305. [
  306. helpstring("Defines possible types of an update."),
  307. v1_enum
  308. ]
  309. typedef [public] enum tagUpdateType
  310. {
  311. [helpstring("Software")] utSoftware = 1,
  312. [helpstring("Driver")] utDriver = 2,
  313. } UpdateType;
  314. [
  315. helpstring(
  316. "Defines operations that can be attempted on an Update."),
  317. v1_enum
  318. ]
  319. typedef [public] enum tagUpdateOperation
  320. {
  321. [helpstring("Installation")] uoInstallation = 1,
  322. [helpstring("Uninstallation")] uoUninstallation = 2,
  323. } UpdateOperation;
  324. [
  325. helpstring("Defines actions an Update can be explicitly deployed for."),
  326. v1_enum
  327. ]
  328. typedef [public] enum tagDeploymentAction
  329. {
  330. [helpstring("None")] daNone = 0,
  331. [helpstring("Installation")] daInstallation = 1,
  332. [helpstring("Uninstallation")] daUninstallation = 2,
  333. } DeploymentAction;
  334. [
  335. helpstring("Defines contexts under which an UpdateException can be raised."),
  336. v1_enum
  337. ]
  338. typedef [public] enum tagUpdateExceptionContext
  339. {
  340. [helpstring("General")] uecGeneral = 1,
  341. [helpstring("WindowsDriver")] uecWindowsDriver = 2,
  342. [helpstring("WindowsInstaller")] uecWindowsInstaller = 3,
  343. } UpdateExceptionContext;
  344. const LONG UPDATE_LOCKDOWN_WEBSITE_ACCESS = 0x00000001;
  345. // all other bits are reserved.
  346. //Forward declarations
  347. interface ICategoryCollection;
  348. interface IUpdateCollection;
  349. interface IUpdate;
  350. [
  351. helpstring("IUpdateLockdown Interface"),
  352. object,
  353. oleautomation,
  354. nonextensible,
  355. uuid(a976c28d-75a1-42aa-94ae-8af8b872089a),
  356. pointer_default(unique)
  357. ]
  358. interface IUpdateLockdown : IUnknown
  359. {
  360. //methods:
  361. [
  362. id(0x60010001),
  363. helpstring("Restricts access to functionality the object provides.")
  364. ]
  365. HRESULT LockDown(
  366. [in] LONG flags);
  367. }
  368. [
  369. helpstring("IStringCollection Interface"),
  370. object,
  371. oleautomation,
  372. dual,
  373. nonextensible,
  374. uuid(eff90582-2ddc-480f-a06d-60f3fbc362c3),
  375. pointer_default(unique),
  376. hidden // already exposed by a class
  377. ]
  378. interface IStringCollection : IDispatch
  379. {
  380. //properties:
  381. [
  382. id(DISPID_VALUE),
  383. propget,
  384. helpstring("Gets an element in the collection.")
  385. ]
  386. HRESULT Item(
  387. [in] LONG index,
  388. [out, retval] BSTR* retval);
  389. [
  390. id(DISPID_VALUE),
  391. propput,
  392. helpstring("Sets an element in the collection.")
  393. ]
  394. HRESULT Item(
  395. [in] LONG index,
  396. [in] BSTR value);
  397. [
  398. id(DISPID_NEWENUM),
  399. propget,
  400. helpstring(
  401. "Gets an IEnumVARIANT interface on an object that can be used to "
  402. "enumerate the collection.")
  403. ]
  404. HRESULT _NewEnum(
  405. [out, retval] IUnknown** retval);
  406. [
  407. id(0x60020001),
  408. propget,
  409. helpstring("Gets the number of elements contained in the collection.")
  410. ]
  411. HRESULT Count(
  412. [out, retval] LONG* retval);
  413. [
  414. id(0x60020002),
  415. propget,
  416. helpstring(
  417. "Gets a boolean value indicating whether the collection is "
  418. "read-only.")
  419. ]
  420. HRESULT ReadOnly(
  421. [out, retval] VARIANT_BOOL* retval);
  422. //methods:
  423. [
  424. id(0x60020003),
  425. helpstring("Adds an item to the collection.")
  426. ]
  427. HRESULT Add(
  428. [in] BSTR value,
  429. [out, retval] LONG* retval);
  430. [
  431. id(0x60020004),
  432. helpstring("Removes all elements from the collection.")
  433. ]
  434. HRESULT Clear( );
  435. [
  436. id(0x60020005),
  437. helpstring("Creates a deep read-writable copy of the collection.")
  438. ]
  439. HRESULT Copy(
  440. [out, retval] IStringCollection** retval);
  441. [
  442. id(0x60020006),
  443. helpstring(
  444. "Inserts an item to the collection at the specified position.")
  445. ]
  446. HRESULT Insert(
  447. [in] LONG index,
  448. [in] BSTR value);
  449. [
  450. id(0x60020007),
  451. helpstring(
  452. "Removes the item at the specified index from the collection.")
  453. ]
  454. HRESULT RemoveAt(
  455. [in] LONG index);
  456. }
  457. [
  458. helpstring("IWebProxy Interface"),
  459. object,
  460. oleautomation,
  461. dual,
  462. nonextensible,
  463. uuid(174c81fe-aecd-4dae-b8a0-2c6318dd86a8),
  464. pointer_default(unique),
  465. ]
  466. interface IWebProxy : IDispatch
  467. {
  468. //properties:
  469. [
  470. id(0x60020001),
  471. propget,
  472. helpstring("Gets the address of the proxy server.")
  473. ]
  474. HRESULT Address(
  475. [out, retval] BSTR* retval);
  476. [
  477. id(0x60020001),
  478. propput,
  479. helpstring("Sets the address of the proxy server.")
  480. ]
  481. HRESULT Address(
  482. [in] BSTR value);
  483. [
  484. id(0x60020002),
  485. propget,
  486. helpstring(
  487. "Gets a collection of addresses that do not use the proxy server.")
  488. ]
  489. HRESULT BypassList(
  490. [out, retval] IStringCollection** retval);
  491. [
  492. id(0x60020002),
  493. propput,
  494. helpstring(
  495. "Sets a collection of addresses that do not use the proxy server.")
  496. ]
  497. HRESULT BypassList(
  498. [in] IStringCollection* value);
  499. [
  500. id(0x60020003),
  501. propget,
  502. helpstring(
  503. "Gets a value indicating whether to bypass the proxy server for "
  504. "local addresses.")
  505. ]
  506. HRESULT BypassProxyOnLocal(
  507. [out, retval] VARIANT_BOOL* retval);
  508. [
  509. id(0x60020003),
  510. propput,
  511. helpstring(
  512. "Sets a value indicating whether to bypass the proxy server for "
  513. "local addresses.")
  514. ]
  515. HRESULT BypassProxyOnLocal(
  516. [in] VARIANT_BOOL value);
  517. [
  518. id(0x60020004),
  519. propget,
  520. helpstring(
  521. "Gets a boolean value indicating whether the WebProxy object is "
  522. "read-only.")
  523. ]
  524. HRESULT ReadOnly(
  525. [out, retval] VARIANT_BOOL* retval);
  526. [
  527. id(0x60020005),
  528. propget,
  529. helpstring(
  530. "Gets the user name to submit to the proxy server for "
  531. "authentication.")
  532. ]
  533. HRESULT UserName(
  534. [out, retval] BSTR* retval);
  535. [
  536. id(0x60020005),
  537. propput,
  538. helpstring(
  539. "Sets the user name to submit to the proxy server for authentication.")
  540. ]
  541. HRESULT UserName(
  542. [in] BSTR value);
  543. //methods:
  544. [
  545. id(0x60020006),
  546. helpstring(
  547. "Sets the password to submit to the proxy server for "
  548. "authentication.")
  549. ]
  550. HRESULT SetPassword(
  551. [in] BSTR value);
  552. [
  553. id(0x60020007),
  554. helpstring(
  555. "Launches the Credentials UI to prompt user for password for proxy "
  556. "authentication.")
  557. ]
  558. HRESULT PromptForCredentials(
  559. [in, unique] IUnknown* pParentWindow,
  560. [in] BSTR bstrTitle);
  561. [
  562. id(0x60020008),
  563. restricted,
  564. helpstring(
  565. "Launches the Credentials UI to prompt user for password for proxy "
  566. "authentication.")
  567. ]
  568. HRESULT PromptForCredentialsFromHwnd(
  569. [in, unique] HWND hwndParent,
  570. [in] BSTR bstrTitle);
  571. //properties:
  572. [
  573. id(0x60020009),
  574. propget,
  575. helpstring("Indicates whether to automatically detect proxy settings.")
  576. ]
  577. HRESULT AutoDetect(
  578. [out, retval] VARIANT_BOOL* retval);
  579. [
  580. id(0x60020009),
  581. propput,
  582. helpstring("Specifies whether to automatically detect proxy settings.")
  583. ]
  584. HRESULT AutoDetect(
  585. [in] VARIANT_BOOL value);
  586. }
  587. [
  588. helpstring("ISystemInformation Interface"),
  589. object,
  590. oleautomation,
  591. dual,
  592. nonextensible,
  593. uuid(ade87bf7-7b56-4275-8fab-b9b0e591844b),
  594. pointer_default(unique),
  595. hidden // already exposed by a class
  596. ]
  597. interface ISystemInformation : IDispatch
  598. {
  599. //properties:
  600. [
  601. id(0x60020001),
  602. propget,
  603. helpstring(
  604. "Gets the hyperlink to the support infomation on the OEM hardware.")
  605. ]
  606. HRESULT OemHardwareSupportLink(
  607. [out, retval] BSTR* retval);
  608. [
  609. id(0x60020002),
  610. propget,
  611. helpstring(
  612. "Gets a value indicating whether a system reboot is required to "
  613. "complete (un)installation of one or more Updates.")
  614. ]
  615. HRESULT RebootRequired(
  616. [out, retval] VARIANT_BOOL* retval);
  617. }
  618. [
  619. helpstring("IAutomaticUpdatesSettings Interface"),
  620. object,
  621. oleautomation,
  622. dual,
  623. nonextensible,
  624. uuid(2ee48f22-af3c-405f-8970-f71be12ee9a2),
  625. pointer_default(unique)
  626. ]
  627. interface IAutomaticUpdatesSettings : IDispatch
  628. {
  629. //properties:
  630. [
  631. id(0x60020001),
  632. propget,
  633. helpstring(
  634. "Indicates how elevated users will be notified about Automatic "
  635. "Updates events.")
  636. ]
  637. HRESULT NotificationLevel(
  638. [out, retval] AutomaticUpdatesNotificationLevel* retval);
  639. [
  640. id(0x60020001),
  641. propput,
  642. helpstring(
  643. "Specifies how elevated users will be notified about Automatic "
  644. "Updates events.")
  645. ]
  646. HRESULT NotificationLevel(
  647. [in] AutomaticUpdatesNotificationLevel value);
  648. [
  649. id(0x60020002),
  650. propget,
  651. helpstring("Indicates whether the settings are read-only.")
  652. ]
  653. HRESULT ReadOnly(
  654. [out, retval] VARIANT_BOOL* retval);
  655. [
  656. id(0x60020003),
  657. propget,
  658. helpstring(
  659. "Indicates whether the Automatic Updates service is required by "
  660. "Group Policy.")
  661. ]
  662. HRESULT Required(
  663. [out, retval] VARIANT_BOOL* retval);
  664. [
  665. id(0x60020004),
  666. propget,
  667. helpstring(
  668. "Indicates which day(s) of week Automatic Updates may (un)install "
  669. "updates.")
  670. ]
  671. HRESULT ScheduledInstallationDay(
  672. [out, retval] AutomaticUpdatesScheduledInstallationDay* retval);
  673. [
  674. id(0x60020004),
  675. propput,
  676. helpstring(
  677. "Specifies which day(s) of week Automatic Updates may (un)install "
  678. "updates.")
  679. ]
  680. HRESULT ScheduledInstallationDay(
  681. [in] AutomaticUpdatesScheduledInstallationDay value);
  682. [
  683. id(0x60020005),
  684. propget,
  685. helpstring(
  686. "Indicates the time when Automatic Updates may (un)install "
  687. "updates.")
  688. ]
  689. HRESULT ScheduledInstallationTime(
  690. [out, retval] LONG* retval);
  691. [
  692. id(0x60020005),
  693. propput,
  694. helpstring(
  695. "Specifies the time when Automatic Updates may (un)install "
  696. "updates.")
  697. ]
  698. HRESULT ScheduledInstallationTime(
  699. [in] LONG value);
  700. //methods:
  701. [
  702. id(0x60020006),
  703. helpstring("Gets the up-to-date settings.")
  704. ]
  705. HRESULT Refresh();
  706. [
  707. id(0x60020007),
  708. helpstring("Applies the settings.")
  709. ]
  710. HRESULT Save();
  711. }
  712. [
  713. helpstring("IAutomaticUpdates Interface"),
  714. object,
  715. oleautomation,
  716. dual,
  717. nonextensible,
  718. uuid(673425bf-c082-4c7c-bdfd-569464b8e0ce),
  719. pointer_default(unique),
  720. hidden // already exposed by a class
  721. ]
  722. interface IAutomaticUpdates : IDispatch
  723. {
  724. //methods:
  725. [
  726. id(0x60020001),
  727. helpstring("Triggers automatic updating now if it is not yet started.")
  728. ]
  729. HRESULT DetectNow();
  730. [
  731. id(0x60020002),
  732. helpstring("Pauses automatic updating.")
  733. ]
  734. HRESULT Pause();
  735. [
  736. id(0x60020003),
  737. helpstring("Resumes automatic updating if paused.")
  738. ]
  739. HRESULT Resume();
  740. [
  741. id(0x60020004),
  742. helpstring(
  743. "Display a dialog box showing settings for Automatic Updates.")
  744. ]
  745. HRESULT ShowSettingsDialog();
  746. //properties:
  747. [
  748. id(0x60020005),
  749. propget,
  750. helpstring("Returns the settings to configure Automatic Updates.")
  751. ]
  752. HRESULT Settings(
  753. [out, retval] IAutomaticUpdatesSettings** retval);
  754. [
  755. id(0x60020006),
  756. propget,
  757. helpstring(
  758. "Indicates whether all the components that Automatic Updates "
  759. "requires are up and running.")
  760. ]
  761. HRESULT ServiceEnabled(
  762. [out, retval] VARIANT_BOOL* retval);
  763. //methods:
  764. [
  765. id(0x60020007),
  766. helpstring(
  767. "Enables all the components that Automatic Updates requires.")
  768. ]
  769. HRESULT EnableService();
  770. }
  771. [
  772. helpstring("IUpdateIdentity Interface"),
  773. object,
  774. oleautomation,
  775. dual,
  776. nonextensible,
  777. uuid(46297823-9940-4c09-aed9-cd3ea6d05968),
  778. pointer_default(unique),
  779. hidden // already exposed by a class
  780. ]
  781. interface IUpdateIdentity : IDispatch
  782. {
  783. //properties:
  784. [
  785. id(0x60020002),
  786. propget,
  787. helpstring("Gets the revision number of the Update.")
  788. ]
  789. HRESULT RevisionNumber(
  790. [out, retval] LONG* retval);
  791. [
  792. id(0x60020003),
  793. propget,
  794. helpstring(
  795. "Gets a string identifying the Update in a globally-unique manner.")
  796. ]
  797. HRESULT UpdateID(
  798. [out, retval] BSTR* retval);
  799. }
  800. [
  801. helpstring("IImageInformation Interface"),
  802. object,
  803. oleautomation,
  804. dual,
  805. nonextensible,
  806. uuid(7c907864-346c-4aeb-8f3f-57da289f969f),
  807. pointer_default(unique),
  808. ]
  809. interface IImageInformation : IDispatch
  810. {
  811. //properties:
  812. [
  813. id(0x60020001),
  814. propget,
  815. helpstring("Gets the ATL text of the image.")
  816. ]
  817. HRESULT AltText(
  818. [out, retval] BSTR* retval);
  819. [
  820. id(0x60020002),
  821. propget,
  822. helpstring("Gets the height of the image, in pixels.")
  823. ]
  824. HRESULT Height(
  825. [out, retval] LONG* retval);
  826. [
  827. id(0x60020003),
  828. propget,
  829. helpstring("Gets the source location of the image.")
  830. ]
  831. HRESULT Source(
  832. [out, retval] BSTR* retval);
  833. [
  834. id(0x60020004),
  835. propget,
  836. helpstring("Gets the width of the image, in pixels.")
  837. ]
  838. HRESULT Width(
  839. [out, retval] LONG* retval);
  840. }
  841. [
  842. helpstring("ICategory Interface"),
  843. object,
  844. oleautomation,
  845. dual,
  846. nonextensible,
  847. uuid(81ddc1b8-9d35-47a6-b471-5b80f519223b),
  848. pointer_default(unique),
  849. ]
  850. interface ICategory : IDispatch
  851. {
  852. //properties:
  853. [
  854. id(DISPID_VALUE),
  855. propget,
  856. helpstring("Gets the localized name of the Category.")
  857. ]
  858. HRESULT Name(
  859. [out, retval] BSTR* retval);
  860. [
  861. id(0x60020001),
  862. propget,
  863. helpstring("Gets the category ID of the Category.")
  864. ]
  865. HRESULT CategoryID(
  866. [out, retval] BSTR* retval);
  867. [
  868. id(0x60020002),
  869. propget,
  870. helpstring("Gets the children of the Category.")
  871. ]
  872. HRESULT Children(
  873. [out, retval] ICategoryCollection** retval);
  874. [
  875. id(0x60020003),
  876. propget,
  877. helpstring("Gets the description of the Category.")
  878. ]
  879. HRESULT Description(
  880. [out, retval] BSTR* retval);
  881. [
  882. id(0x60020004),
  883. propget,
  884. helpstring(
  885. "Gets information on the image associated with the Category.")
  886. ]
  887. HRESULT Image(
  888. [out, retval] IImageInformation** retval);
  889. [
  890. id(0x60020005),
  891. propget,
  892. helpstring(
  893. "Gets the recommended display order of the Category among its "
  894. "siblings.")
  895. ]
  896. HRESULT Order(
  897. [out, retval] LONG* retval);
  898. [
  899. id(0x60020006),
  900. propget,
  901. helpstring("Gets the parent of the Category.")
  902. ]
  903. HRESULT Parent(
  904. [out, retval] ICategory** retval);
  905. [
  906. id(0x60020007),
  907. propget,
  908. helpstring("Gets the type of the Category.")
  909. ]
  910. HRESULT Type(
  911. [out, retval] BSTR* retval);
  912. [
  913. id(0x60020008),
  914. propget,
  915. helpstring("Gets the updates which immediately belong to the Category.")
  916. ]
  917. HRESULT Updates(
  918. [out, retval] IUpdateCollection** retval);
  919. }
  920. [
  921. helpstring("ICategoryCollection Interface"),
  922. object,
  923. oleautomation,
  924. dual,
  925. nonextensible,
  926. uuid(3a56bfb8-576c-43f7-9335-fe4838fd7e37),
  927. pointer_default(unique),
  928. ]
  929. interface ICategoryCollection : IDispatch
  930. {
  931. //properties:
  932. [
  933. id(DISPID_VALUE),
  934. propget,
  935. helpstring("Gets an element in the collection.")
  936. ]
  937. HRESULT Item(
  938. [in] LONG index,
  939. [out, retval] ICategory** retval);
  940. [
  941. id(DISPID_NEWENUM),
  942. propget,
  943. helpstring(
  944. "Gets an IEnumVARIANT interface on an object that can be used to "
  945. "enumerate the collection.")
  946. ]
  947. HRESULT _NewEnum(
  948. [out, retval] IUnknown** retval);
  949. [
  950. id(0x60020001),
  951. propget,
  952. helpstring("Gets the number of elements contained in the collection.")
  953. ]
  954. HRESULT Count(
  955. [out, retval] LONG* retval);
  956. }
  957. [
  958. helpstring("IInstallationBehavior Interface"),
  959. object,
  960. oleautomation,
  961. dual,
  962. nonextensible,
  963. uuid(d9a59339-e245-4dbd-9686-4d5763e39624),
  964. pointer_default(unique),
  965. ]
  966. interface IInstallationBehavior : IDispatch
  967. {
  968. //properties:
  969. [
  970. id(0x60020001),
  971. propget,
  972. helpstring("Gets a value indicating whether (un)installation of the Update can request user input.")
  973. ]
  974. HRESULT CanRequestUserInput(
  975. [out, retval] VARIANT_BOOL* retval);
  976. [
  977. id(0x60020002),
  978. propget,
  979. helpstring("Gets a value assessing how (un)installation of the Update will impact the target computer.")
  980. ]
  981. HRESULT Impact(
  982. [out, retval] InstallationImpact* retval);
  983. [
  984. id(0x60020003),
  985. propget,
  986. helpstring("Gets a value specifying the reboot behavior exhibited by (un)installing the Update.")
  987. ]
  988. HRESULT RebootBehavior(
  989. [out, retval] InstallationRebootBehavior* retval);
  990. [
  991. id(0x60020004),
  992. propget,
  993. helpstring("Gets a value indicating whether (un)installation of the Update requires network connectivity.")
  994. ]
  995. HRESULT RequiresNetworkConnectivity(
  996. [out, retval] VARIANT_BOOL* retval);
  997. }
  998. [
  999. helpstring("IUpdateDownloadContent Interface"),
  1000. object,
  1001. oleautomation,
  1002. dual,
  1003. nonextensible,
  1004. uuid(54a2cb2d-9a0c-48b6-8a50-9abb69ee2d02),
  1005. pointer_default(unique),
  1006. ]
  1007. interface IUpdateDownloadContent : IDispatch
  1008. {
  1009. //properties:
  1010. [
  1011. id(0x60020001),
  1012. propget,
  1013. helpstring(
  1014. "Gets the location of the download content on the hosting server.")
  1015. ]
  1016. HRESULT DownloadUrl(
  1017. [out, retval] BSTR* retval);
  1018. }
  1019. [
  1020. helpstring("IUpdateDownloadContentCollection Interface"),
  1021. object,
  1022. oleautomation,
  1023. dual,
  1024. nonextensible,
  1025. uuid(bc5513c8-b3b8-4bf7-a4d4-361c0d8c88ba),
  1026. pointer_default(unique),
  1027. ]
  1028. interface IUpdateDownloadContentCollection : IDispatch
  1029. {
  1030. //properties:
  1031. [
  1032. id(DISPID_VALUE),
  1033. propget,
  1034. helpstring("Gets an element in the collection.")
  1035. ]
  1036. HRESULT Item(
  1037. [in] LONG index,
  1038. [out, retval] IUpdateDownloadContent** retval);
  1039. [
  1040. id(DISPID_NEWENUM),
  1041. propget,
  1042. helpstring(
  1043. "Gets an IEnumVARIANT interface on an object that can be used to "
  1044. "enumerate the collection.")
  1045. ]
  1046. HRESULT _NewEnum(
  1047. [out, retval] IUnknown** retval);
  1048. [
  1049. id(0x60020001),
  1050. propget,
  1051. helpstring("Gets the number of elements contained in the collection.")
  1052. ]
  1053. HRESULT Count(
  1054. [out, retval] LONG* retval);
  1055. }
  1056. [
  1057. helpstring("IUpdate Interface"),
  1058. object,
  1059. oleautomation,
  1060. dual,
  1061. nonextensible,
  1062. uuid(6a92b07a-d821-4682-b423-5c805022cc4d),
  1063. pointer_default(unique),
  1064. ]
  1065. interface IUpdate : IDispatch
  1066. {
  1067. //properties:
  1068. [
  1069. id(DISPID_VALUE),
  1070. propget,
  1071. helpstring("Gets the localized title of the Update.")
  1072. ]
  1073. HRESULT Title(
  1074. [out, retval] BSTR* retval);
  1075. [
  1076. id(0x60020001),
  1077. propget,
  1078. helpstring(
  1079. "Gets a value indicating whether the Update is flagged to be "
  1080. "automatically selected by web sites such as Windows Update or "
  1081. "Microsoft Update.")
  1082. ]
  1083. HRESULT AutoSelectOnWebSites(
  1084. [out, retval] VARIANT_BOOL* retval);
  1085. [
  1086. id(0x60020002),
  1087. propget,
  1088. helpstring(
  1089. "Gets information on the ordered list of bundled updates of the "
  1090. "Update.")
  1091. ]
  1092. HRESULT BundledUpdates(
  1093. [out, retval] IUpdateCollection** retval);
  1094. [
  1095. id(0x60020003),
  1096. propget,
  1097. helpstring(
  1098. "Indicates whether the source media of the Update is potentially "
  1099. "required for (un)installation.")
  1100. ]
  1101. HRESULT CanRequireSource(
  1102. [out, retval] VARIANT_BOOL* retval);
  1103. [
  1104. id(0x60020004),
  1105. propget,
  1106. helpstring("Gets the categories that the update belongs to.")
  1107. ]
  1108. HRESULT Categories(
  1109. [out, retval] ICategoryCollection** retval);
  1110. [
  1111. id(0x60020005),
  1112. propget,
  1113. helpstring("Gets the date by which the Update must be installed.")
  1114. ]
  1115. HRESULT Deadline(
  1116. [out, retval] VARIANT* retval);
  1117. [
  1118. id(0x60020006),
  1119. propget,
  1120. helpstring(
  1121. "Indicates whether delta-compressed content is available on the "
  1122. "server for the Update.")
  1123. ]
  1124. HRESULT DeltaCompressedContentAvailable(
  1125. [out, retval] VARIANT_BOOL* retval);
  1126. [
  1127. id(0x60020007),
  1128. propget,
  1129. helpstring(
  1130. "Indicates whether to prefer delta-compressed content when "
  1131. "downloading and/or (un)installing the Update, if such content is "
  1132. "available.")
  1133. ]
  1134. HRESULT DeltaCompressedContentPreferred(
  1135. [out, retval] VARIANT_BOOL* retval);
  1136. [
  1137. id(0x60020008),
  1138. propget,
  1139. helpstring("Gets the localized description of the Update.")
  1140. ]
  1141. HRESULT Description(
  1142. [out, retval] BSTR* retval);
  1143. [
  1144. id(0x60020009),
  1145. propget,
  1146. helpstring(
  1147. "Indicates whether the end-user license agreement associated with "
  1148. "the Update has been accepted for the target computer.")
  1149. ]
  1150. HRESULT EulaAccepted(
  1151. [out, retval] VARIANT_BOOL* retval);
  1152. [
  1153. id(0x6002000a),
  1154. propget,
  1155. helpstring(
  1156. "Gets the full, localized text of the end-user license agreement "
  1157. "associated with the Update.")
  1158. ]
  1159. HRESULT EulaText(
  1160. [out, retval] BSTR* retval);
  1161. [
  1162. id(0x6002000b),
  1163. propget,
  1164. helpstring("Gets a value specifying the install handler of the Update.")
  1165. ]
  1166. HRESULT HandlerID(
  1167. [out, retval] BSTR* retval);
  1168. [
  1169. id(0x6002000c),
  1170. propget,
  1171. helpstring("Gets the globally-unique identity of the Update.")
  1172. ]
  1173. HRESULT Identity(
  1174. [out, retval] IUpdateIdentity** retval);
  1175. [
  1176. id(0x6002000d),
  1177. propget,
  1178. helpstring(
  1179. "Gets information on the image associated with the Update.")
  1180. ]
  1181. HRESULT Image(
  1182. [out, retval] IImageInformation** retval);
  1183. [
  1184. id(0x6002000e),
  1185. propget,
  1186. helpstring(
  1187. "Gets the installation options of the Update.")
  1188. ]
  1189. HRESULT InstallationBehavior(
  1190. [out, retval] IInstallationBehavior** retval);
  1191. [
  1192. id(0x6002000f),
  1193. propget,
  1194. helpstring(
  1195. "Gets a value indicating whether the Update is a beta release.")
  1196. ]
  1197. HRESULT IsBeta(
  1198. [out, retval] VARIANT_BOOL* retval);
  1199. [
  1200. id(0x60020010),
  1201. propget,
  1202. helpstring(
  1203. "Indicates whether all of the Update's content is cached on the "
  1204. "target computer.")
  1205. ]
  1206. HRESULT IsDownloaded(
  1207. [out, retval] VARIANT_BOOL* retval);
  1208. [
  1209. id(0x60020011),
  1210. propget,
  1211. helpstring(
  1212. "Indicates whether the Update has been hidden by the user for "
  1213. "installation.")
  1214. ]
  1215. HRESULT IsHidden(
  1216. [out, retval] VARIANT_BOOL* retval);
  1217. [
  1218. id(0x60020011),
  1219. propput,
  1220. helpstring(
  1221. "(Un)marks the update as \"hidden\" on the target computer.")
  1222. ]
  1223. HRESULT IsHidden(
  1224. [in] VARIANT_BOOL value);
  1225. [
  1226. id(0x60020012),
  1227. propget,
  1228. helpstring(
  1229. "Indicates whether the Update was installed on the target "
  1230. "computer when the search was performed.")
  1231. ]
  1232. HRESULT IsInstalled(
  1233. [out, retval] VARIANT_BOOL* retval);
  1234. [
  1235. id(0x60020013),
  1236. propget,
  1237. helpstring(
  1238. "Gets a value indicating whether installation of the Update is "
  1239. "mandatory.")
  1240. ]
  1241. HRESULT IsMandatory(
  1242. [out, retval] VARIANT_BOOL* retval);
  1243. [
  1244. id(0x60020014),
  1245. propget,
  1246. helpstring(
  1247. "Indicates whether the caller can uninstall the Update, if "
  1248. "installed, from the target computer.")
  1249. ]
  1250. HRESULT IsUninstallable(
  1251. [out, retval] VARIANT_BOOL* retval);
  1252. [
  1253. id(0x60020015),
  1254. propget,
  1255. helpstring("Gets the languages that the Update supports.")
  1256. ]
  1257. HRESULT Languages(
  1258. [out, retval] IStringCollection** retval);
  1259. [
  1260. id(0x60020016),
  1261. propget,
  1262. helpstring("Gets the published date of the Update.")
  1263. ]
  1264. HRESULT LastDeploymentChangeTime(
  1265. [out, retval] DATE* retval);
  1266. [
  1267. id(0x60020017),
  1268. propget,
  1269. helpstring("Gets the maximum download size of the Update.")
  1270. ]
  1271. HRESULT MaxDownloadSize(
  1272. [out, retval] DECIMAL* retval);
  1273. [
  1274. id(0x60020018),
  1275. propget,
  1276. helpstring("Gets the minimum download size of the Update.")
  1277. ]
  1278. HRESULT MinDownloadSize(
  1279. [out, retval] DECIMAL* retval);
  1280. [
  1281. id(0x60020019),
  1282. propget,
  1283. helpstring(
  1284. "Gets language-specific strings specifying the hyperlinks to more "
  1285. "info on the Update.")
  1286. ]
  1287. HRESULT MoreInfoUrls(
  1288. [out, retval] IStringCollection** retval);
  1289. [
  1290. id(0x6002001a),
  1291. propget,
  1292. helpstring(
  1293. "Gets the Microsoft Security Response Center severity rating of the"
  1294. " Update.")
  1295. ]
  1296. HRESULT MsrcSeverity(
  1297. [out, retval] BSTR* retval);
  1298. [
  1299. id(0x6002001b),
  1300. propget,
  1301. helpstring(
  1302. "Gets the recommended CPU speed, in megahertz, for installing the "
  1303. "Update.")
  1304. ]
  1305. HRESULT RecommendedCpuSpeed(
  1306. [out, retval] LONG* retval);
  1307. [
  1308. id(0x6002001c),
  1309. propget,
  1310. helpstring(
  1311. "Gets the recommended hard disk free space, in megabytes, for "
  1312. "installing the Update.")
  1313. ]
  1314. HRESULT RecommendedHardDiskSpace(
  1315. [out, retval] LONG* retval);
  1316. [
  1317. id(0x6002001d),
  1318. propget,
  1319. helpstring(
  1320. "Gets the recommended physical memory size, in megabytes, for "
  1321. "installing the Update.")
  1322. ]
  1323. HRESULT RecommendedMemory(
  1324. [out, retval] LONG* retval);
  1325. [
  1326. id(0x6002001e),
  1327. propget,
  1328. helpstring("Gets the localized release notes of the Update.")
  1329. ]
  1330. HRESULT ReleaseNotes(
  1331. [out, retval] BSTR* retval);
  1332. [
  1333. id(0x6002001f),
  1334. propget,
  1335. helpstring(
  1336. "Gets the security bulletin IDs associated with the Update.")
  1337. ]
  1338. HRESULT SecurityBulletinIDs(
  1339. [out, retval] IStringCollection** retval);
  1340. [
  1341. id(0x60020021),
  1342. propget,
  1343. helpstring(
  1344. "Gets a collection of update IDs specifying the Updates that the "
  1345. "Update supersedes.")
  1346. ]
  1347. HRESULT SupersededUpdateIDs(
  1348. [out, retval] IStringCollection** retval);
  1349. [
  1350. id(0x60020022),
  1351. propget,
  1352. helpstring(
  1353. "Gets the language-specific hyperlink to the support information on"
  1354. " the Update.")
  1355. ]
  1356. HRESULT SupportUrl(
  1357. [out, retval] BSTR* retval);
  1358. [
  1359. id(0x60020023),
  1360. propget,
  1361. helpstring("Gets the type of the Update.")
  1362. ]
  1363. HRESULT Type(
  1364. [out, retval] UpdateType* retval);
  1365. [
  1366. id(0x60020024),
  1367. propget,
  1368. helpstring("Gets the uninstallation notes of the Update.")
  1369. ]
  1370. HRESULT UninstallationNotes(
  1371. [out, retval] BSTR* retval);
  1372. [
  1373. id(0x60020025),
  1374. propget,
  1375. helpstring("Gets the uninstallation options of the Update.")
  1376. ]
  1377. HRESULT UninstallationBehavior(
  1378. [out, retval] IInstallationBehavior** retval);
  1379. [
  1380. id(0x60020026),
  1381. propget,
  1382. helpstring("Gets the uninstallation steps of the Update.")
  1383. ]
  1384. HRESULT UninstallationSteps(
  1385. [out, retval] IStringCollection** retval);
  1386. [
  1387. id(0x60020028),
  1388. propget,
  1389. helpstring(
  1390. "Gets the knowledge base article IDs associated with the Update.")
  1391. ]
  1392. HRESULT KBArticleIDs(
  1393. [out, retval] IStringCollection** retval);
  1394. //methods:
  1395. [
  1396. id(0x60020027),
  1397. helpstring(
  1398. "Accepts the end-user license agreement associated with the "
  1399. "Update.")
  1400. ]
  1401. HRESULT AcceptEula();
  1402. //properties:
  1403. [
  1404. id(0x60020029),
  1405. propget,
  1406. helpstring("Indicates the action an Update is deployed for.")
  1407. ]
  1408. HRESULT DeploymentAction(
  1409. [out, retval] DeploymentAction* retval);
  1410. //methods:
  1411. [
  1412. id(0x6002002a),
  1413. helpstring("Copies the contents of the Update into a specified path.")
  1414. ]
  1415. HRESULT CopyFromCache(
  1416. [in, ref] BSTR path,
  1417. [in] VARIANT_BOOL toExtractCabFiles);
  1418. //properties:
  1419. [
  1420. id(0x6002002b),
  1421. propget,
  1422. helpstring("Indicates the suggested download priority of the Update.")
  1423. ]
  1424. HRESULT DownloadPriority(
  1425. [out, retval] DownloadPriority* retval);
  1426. [
  1427. id(0x6002002c),
  1428. propget,
  1429. helpstring(
  1430. "Gets file information on the immediate download contents of the "
  1431. "Update.")
  1432. ]
  1433. HRESULT DownloadContents(
  1434. [out, retval] IUpdateDownloadContentCollection** retval);
  1435. }
  1436. [
  1437. helpstring("IWindowsDriverUpdate Interface"),
  1438. object,
  1439. oleautomation,
  1440. dual,
  1441. nonextensible,
  1442. uuid(b383cd1a-5ce9-4504-9f63-764b1236f191),
  1443. pointer_default(unique),
  1444. ]
  1445. interface IWindowsDriverUpdate : IUpdate
  1446. {
  1447. //properties:
  1448. [
  1449. id(0x60030001),
  1450. propget,
  1451. helpstring(
  1452. "Specifes the class of the WindowsDriverUpdate.")
  1453. ]
  1454. HRESULT DriverClass(
  1455. [out, retval] BSTR* retval);
  1456. [
  1457. id(0x60030002),
  1458. propget,
  1459. helpstring(
  1460. "Specifies the hardware ID or compatible ID that the "
  1461. "WindowsDriverUpdate must match to be installable.")
  1462. ]
  1463. HRESULT DriverHardwareID(
  1464. [out, retval] BSTR* retval);
  1465. [
  1466. id(0x60030003),
  1467. propget,
  1468. helpstring(
  1469. "Specifies the language-invariant name of the manufacturer "
  1470. "of the WindowsDriverUpdate.")
  1471. ]
  1472. HRESULT DriverManufacturer(
  1473. [out, retval] BSTR* retval);
  1474. [
  1475. id(0x60030004),
  1476. propget,
  1477. helpstring(
  1478. "Specifies the language-invariant model name of the device for "
  1479. "which the WindowsDriverUpdate is intended.")
  1480. ]
  1481. HRESULT DriverModel(
  1482. [out, retval] BSTR* retval);
  1483. [
  1484. id(0x60030005),
  1485. propget,
  1486. helpstring(
  1487. "Specifies the language-invariant name of the provider of the"
  1488. "WindowsDriverUpdate.")
  1489. ]
  1490. HRESULT DriverProvider(
  1491. [out, retval] BSTR* retval);
  1492. [
  1493. id(0x60030006),
  1494. propget,
  1495. helpstring(
  1496. "Specifies the driver version date of the WindowsDriverUpdate.")
  1497. ]
  1498. HRESULT DriverVerDate(
  1499. [out, retval] DATE* retval);
  1500. [
  1501. id(0x60030007),
  1502. propget,
  1503. helpstring(
  1504. "Returns the problem number of the matching device for the "
  1505. "WindowsDriverUpdate.")
  1506. ]
  1507. HRESULT DeviceProblemNumber(
  1508. [out, retval] LONG* retval);
  1509. [
  1510. id(0x60030008),
  1511. propget,
  1512. helpstring(
  1513. "Returns the status of the matching device for the "
  1514. "WindowsDriverUpdate.")
  1515. ]
  1516. HRESULT DeviceStatus(
  1517. [out, retval] LONG* retval);
  1518. }
  1519. [
  1520. helpstring("IUpdateCollection Interface"),
  1521. object,
  1522. oleautomation,
  1523. dual,
  1524. nonextensible,
  1525. uuid(07f7438c-7709-4ca5-b518-91279288134e),
  1526. pointer_default(unique),
  1527. hidden // already exposed by a class
  1528. ]
  1529. interface IUpdateCollection : IDispatch
  1530. {
  1531. //properties:
  1532. [
  1533. id(DISPID_VALUE),
  1534. propget,
  1535. helpstring("Gets an element in the collection.")
  1536. ]
  1537. HRESULT Item(
  1538. [in] LONG index,
  1539. [out, retval] IUpdate** retval);
  1540. [
  1541. id(DISPID_VALUE),
  1542. propput,
  1543. helpstring("Sets an element in the collection.")
  1544. ]
  1545. HRESULT Item(
  1546. [in] LONG index,
  1547. [in] IUpdate* value);
  1548. [
  1549. id(DISPID_NEWENUM),
  1550. propget,
  1551. helpstring(
  1552. "Gets an IEnumVARIANT interface on an object that can be used to "
  1553. "enumerate the collection.")
  1554. ]
  1555. HRESULT _NewEnum(
  1556. [out, retval] IUnknown** retval);
  1557. [
  1558. id(0x60020001),
  1559. propget,
  1560. helpstring("Gets the number of elements contained in the collection.")
  1561. ]
  1562. HRESULT Count(
  1563. [out, retval] LONG* retval);
  1564. [
  1565. id(0x60020002),
  1566. propget,
  1567. helpstring(
  1568. "Gets a boolean value indicating whether the collection is "
  1569. "read-only.")
  1570. ]
  1571. HRESULT ReadOnly(
  1572. [out, retval] VARIANT_BOOL* retval);
  1573. //methods:
  1574. [
  1575. id(0x60020003),
  1576. helpstring("Adds an item to the collection.")
  1577. ]
  1578. HRESULT Add(
  1579. [in] IUpdate* value,
  1580. [out, retval] LONG* retval);
  1581. [
  1582. id(0x60020004),
  1583. helpstring("Removes all elements from the collection.")
  1584. ]
  1585. HRESULT Clear( );
  1586. [
  1587. id(0x60020005),
  1588. helpstring("Creates a shallow read-writable copy of the collection.")
  1589. ]
  1590. HRESULT Copy(
  1591. [out, retval] IUpdateCollection** retval);
  1592. [
  1593. id(0x60020006),
  1594. helpstring(
  1595. "Inserts an item to the collection at the specified position.")
  1596. ]
  1597. HRESULT Insert(
  1598. [in] LONG index,
  1599. [in] IUpdate* value);
  1600. [
  1601. id(0x60020007),
  1602. helpstring(
  1603. "Removes the item at the specified index from the collection.")
  1604. ]
  1605. HRESULT RemoveAt(
  1606. [in] LONG index);
  1607. }
  1608. [
  1609. helpstring("IUpdateException Interface"),
  1610. object,
  1611. oleautomation,
  1612. dual,
  1613. nonextensible,
  1614. uuid(a376dd5e-09d4-427f-af7c-fed5b6e1c1d6),
  1615. pointer_default(unique),
  1616. ]
  1617. interface IUpdateException : IDispatch
  1618. {
  1619. //properties:
  1620. [
  1621. id(DISPID_VALUE),
  1622. propget,
  1623. helpstring("Gets a message that describes the current exception.")
  1624. ]
  1625. HRESULT Message(
  1626. [out, retval] BSTR* retval);
  1627. [
  1628. id(0x60020001),
  1629. propget,
  1630. helpstring(
  1631. "Gets HRESULT, a coded numerical value that is assigned to a "
  1632. "specific exception.")
  1633. ]
  1634. HRESULT HResult(
  1635. [out, retval] LONG* retval);
  1636. [
  1637. id(0x60020002),
  1638. propget,
  1639. helpstring(
  1640. "Gets a numerical value that indicates the context of the current "
  1641. "exception.")
  1642. ]
  1643. HRESULT Context(
  1644. [out, retval] UpdateExceptionContext* retval);
  1645. }
  1646. [
  1647. helpstring("IInvalidProductLicenseException Interface"),
  1648. object,
  1649. oleautomation,
  1650. dual,
  1651. nonextensible,
  1652. uuid(a37d00f5-7bb0-4953-b414-f9e98326f2e8),
  1653. pointer_default(unique),
  1654. ]
  1655. interface IInvalidProductLicenseException : IUpdateException
  1656. {
  1657. //properties:
  1658. [
  1659. id(0x60030001),
  1660. propget,
  1661. helpstring("Gets the language-invariant name of the product")
  1662. ]
  1663. HRESULT Product(
  1664. [out, retval] BSTR* retval);
  1665. }
  1666. [
  1667. helpstring("IUpdateExceptionCollection Interface"),
  1668. object,
  1669. oleautomation,
  1670. dual,
  1671. nonextensible,
  1672. uuid(503626a3-8e14-4729-9355-0fe664bd2321),
  1673. pointer_default(unique),
  1674. ]
  1675. interface IUpdateExceptionCollection : IDispatch
  1676. {
  1677. //properties:
  1678. [
  1679. id(DISPID_VALUE),
  1680. propget,
  1681. helpstring("Gets an element in the collection.")
  1682. ]
  1683. HRESULT Item(
  1684. [in] LONG index,
  1685. [out, retval] IUpdateException** retval);
  1686. [
  1687. id(DISPID_NEWENUM),
  1688. propget,
  1689. helpstring(
  1690. "Gets an IEnumVARIANT interface on an object that can be used to "
  1691. "enumerate the collection.")
  1692. ]
  1693. HRESULT _NewEnum(
  1694. [out, retval] IUnknown** retval);
  1695. [
  1696. id(0x60020001),
  1697. propget,
  1698. helpstring("Gets the number of elements contained in the collection.")
  1699. ]
  1700. HRESULT Count(
  1701. [out, retval] LONG* retval);
  1702. }
  1703. [
  1704. helpstring("ISearchResult Interface"),
  1705. object,
  1706. oleautomation,
  1707. dual,
  1708. nonextensible,
  1709. uuid(d40cff62-e08c-4498-941a-01e25f0fd33c),
  1710. pointer_default(unique),
  1711. ]
  1712. interface ISearchResult : IDispatch
  1713. {
  1714. //properties:
  1715. [
  1716. id(0x60020001),
  1717. propget,
  1718. helpstring(
  1719. "Gets an OperationResultCode enumeration value specifying the "
  1720. "overall result of the search.")
  1721. ]
  1722. HRESULT ResultCode(
  1723. [out, retval] OperationResultCode* retval);
  1724. [
  1725. id(0x60020002),
  1726. propget,
  1727. helpstring(
  1728. "Gets the root categories currently available on the target "
  1729. " computer.")
  1730. ]
  1731. HRESULT RootCategories(
  1732. [out, retval] ICategoryCollection** retval);
  1733. [
  1734. id(0x60020003),
  1735. propget,
  1736. helpstring("Gets a collection of Updates resulted from the search.")
  1737. ]
  1738. HRESULT Updates(
  1739. [out, retval] IUpdateCollection** retval);
  1740. [
  1741. id(0x60020004),
  1742. propget,
  1743. helpstring("Gets a collection of warnings resulted from the search.")
  1744. ]
  1745. HRESULT Warnings(
  1746. [out, retval] IUpdateExceptionCollection** retval);
  1747. }
  1748. [
  1749. helpstring("ISearchJob Interface"),
  1750. object,
  1751. oleautomation,
  1752. dual,
  1753. nonextensible,
  1754. uuid(7366ea16-7a1a-4ea2-b042-973d3e9cd99b),
  1755. pointer_default(unique),
  1756. ]
  1757. interface ISearchJob : IDispatch
  1758. {
  1759. //properties:
  1760. [
  1761. id(0x60020001),
  1762. propget,
  1763. helpstring(
  1764. "Gets the caller-specified state object passed to the "
  1765. "UpdateSearcher.BeginSearch method.")
  1766. ]
  1767. HRESULT AsyncState(
  1768. [out, retval] VARIANT* retval);
  1769. [
  1770. id(0x60020002),
  1771. propget,
  1772. helpstring(
  1773. "Gets a value indicating whether the call has been completely "
  1774. "processed.")
  1775. ]
  1776. HRESULT IsCompleted(
  1777. [out, retval] VARIANT_BOOL* retval);
  1778. //methods:
  1779. [
  1780. id(0x60020003),
  1781. helpstring(
  1782. "Waits for asynchronous operation to complete and releases all "
  1783. "callbacks, if any.")
  1784. ]
  1785. HRESULT CleanUp();
  1786. [
  1787. id(0x60020004),
  1788. helpstring("Requests to abort the asynchronous search.")
  1789. ]
  1790. HRESULT RequestAbort();
  1791. }
  1792. [
  1793. helpstring("ISearchCompletedCallbackArgs Interface"),
  1794. object,
  1795. oleautomation,
  1796. dual,
  1797. nonextensible,
  1798. uuid(a700a634-2850-4c47-938a-9e4b6e5af9a6),
  1799. pointer_default(unique),
  1800. ]
  1801. interface ISearchCompletedCallbackArgs : IDispatch
  1802. {
  1803. }
  1804. [
  1805. helpstring("ISearchCompletedCallback Interface"),
  1806. object,
  1807. oleautomation,
  1808. nonextensible,
  1809. uuid(88aee058-d4b0-4725-a2f1-814a67ae964c),
  1810. pointer_default(unique)
  1811. ]
  1812. interface ISearchCompletedCallback : IUnknown
  1813. {
  1814. //methods:
  1815. [
  1816. id(0x60010001),
  1817. helpstring(
  1818. "Handles the notification about the completion of an asynchronous "
  1819. "search initiated by calling UpdateSearcher.BeginSearch.")
  1820. ]
  1821. HRESULT Invoke(
  1822. [in] ISearchJob* searchJob,
  1823. [in] ISearchCompletedCallbackArgs* callbackArgs);
  1824. }
  1825. [
  1826. helpstring("IUpdateHistoryEntry Interface"),
  1827. object,
  1828. oleautomation,
  1829. dual,
  1830. nonextensible,
  1831. uuid(be56a644-af0e-4e0e-a311-c1d8e695cbff),
  1832. pointer_default(unique),
  1833. ]
  1834. interface IUpdateHistoryEntry : IDispatch
  1835. {
  1836. //properties:
  1837. [
  1838. id(0x60020001),
  1839. propget,
  1840. helpstring(
  1841. "Gets an Operation enumeration value specifying the "
  1842. "the operation on the update.")
  1843. ]
  1844. HRESULT Operation(
  1845. [out, retval] UpdateOperation* retval );
  1846. [
  1847. id(0x60020002),
  1848. propget,
  1849. helpstring(
  1850. "Gets an OperationResultCode enumeration value specifying the "
  1851. "result of the operation on the update.")
  1852. ]
  1853. HRESULT ResultCode(
  1854. [out, retval] OperationResultCode* retval );
  1855. [
  1856. id(0x60020003),
  1857. propget,
  1858. helpstring(
  1859. "Gets the HRESULT value returned from the operation on the update.")
  1860. ]
  1861. HRESULT HResult(
  1862. [out, retval] LONG* retval );
  1863. [
  1864. id(0x60020004),
  1865. propget,
  1866. helpstring("Gets the date and time when the update was applied.")
  1867. ]
  1868. HRESULT Date(
  1869. [out, retval] DATE* retval);
  1870. [
  1871. id(0x60020005),
  1872. propget,
  1873. helpstring(
  1874. "Gets the globally-unique identity of the update.")
  1875. ]
  1876. HRESULT UpdateIdentity(
  1877. [out, retval] IUpdateIdentity** retval);
  1878. [
  1879. id(0x60020006),
  1880. propget,
  1881. helpstring("Gets the title of the update.")
  1882. ]
  1883. HRESULT Title(
  1884. [out, retval] BSTR* retval);
  1885. [
  1886. id(0x60020007),
  1887. propget,
  1888. helpstring("Gets the description of the update.")
  1889. ]
  1890. HRESULT Description(
  1891. [out, retval] BSTR* retval);
  1892. [
  1893. id(0x60020008),
  1894. propget,
  1895. helpstring(
  1896. "Gets the unmapped result code returned from the operation on the "
  1897. "update.")
  1898. ]
  1899. HRESULT UnmappedResultCode(
  1900. [out, retval] LONG* retval);
  1901. [
  1902. id(0x60020009),
  1903. propget,
  1904. helpstring(
  1905. "Gets the identifier of the client application that processed the "
  1906. "update.")
  1907. ]
  1908. HRESULT ClientApplicationID(
  1909. [out, retval] BSTR* retval);
  1910. [
  1911. id(0x6002000a),
  1912. propget,
  1913. helpstring("Gets where the update came from.")
  1914. ]
  1915. HRESULT ServerSelection(
  1916. [out, retval] ServerSelection* retval );
  1917. [
  1918. id(0x6002000b),
  1919. propget,
  1920. helpstring("Gets Non-Windows Updates Service ID.")
  1921. ]
  1922. HRESULT ServiceID(
  1923. [out, retval] BSTR* retval );
  1924. [
  1925. id(0x6002000c),
  1926. propget,
  1927. helpstring("Gets steps to uninstall update.")
  1928. ]
  1929. HRESULT UninstallationSteps(
  1930. [out, retval] IStringCollection** retval);
  1931. [
  1932. id(0x6002000d),
  1933. propget,
  1934. helpstring("Gets uninstallation notes.")
  1935. ]
  1936. HRESULT UninstallationNotes(
  1937. [out, retval] BSTR* retval);
  1938. [
  1939. id(0x6002000e),
  1940. propget,
  1941. helpstring("Gets support URL.")
  1942. ]
  1943. HRESULT SupportUrl(
  1944. [out, retval] BSTR* retval);
  1945. }
  1946. [
  1947. helpstring("IUpdateHistoryEntryCollection Interface"),
  1948. object,
  1949. oleautomation,
  1950. dual,
  1951. nonextensible,
  1952. uuid(a7f04f3c-a290-435b-aadf-a116c3357a5c),
  1953. pointer_default(unique),
  1954. ]
  1955. interface IUpdateHistoryEntryCollection : IDispatch
  1956. {
  1957. [
  1958. id(DISPID_VALUE),
  1959. propget,
  1960. helpstring("Gets an element in the collection.")
  1961. ]
  1962. HRESULT Item(
  1963. [in] LONG index,
  1964. [out, retval] IUpdateHistoryEntry** retval);
  1965. [
  1966. id(DISPID_NEWENUM),
  1967. propget,
  1968. helpstring(
  1969. "Gets an IEnumVARIANT interface on an object that can be used to "
  1970. "enumerate the collection.")
  1971. ]
  1972. HRESULT _NewEnum(
  1973. [out, retval] IUnknown** retval);
  1974. [
  1975. id(0x60020001),
  1976. propget,
  1977. helpstring("Gets the number of elements contained in the collection.")
  1978. ]
  1979. HRESULT Count(
  1980. [out, retval] LONG* retval);
  1981. }
  1982. [
  1983. helpstring("IUpdateSearcher Interface"),
  1984. object,
  1985. oleautomation,
  1986. dual,
  1987. nonextensible,
  1988. uuid(8f45abf1-f9ae-4b95-a933-f0f66e5056ea),
  1989. pointer_default(unique),
  1990. hidden // already exposed by a class
  1991. ]
  1992. interface IUpdateSearcher : IDispatch
  1993. {
  1994. //properties:
  1995. [
  1996. id(0x60020001),
  1997. propget,
  1998. helpstring(
  1999. "Indicates whether future calls to BeginSearch and Search can "
  2000. "automatically upgrade the MSUS client as a side-effect.")
  2001. ]
  2002. HRESULT CanAutomaticallyUpgradeService(
  2003. [out, retval] VARIANT_BOOL* retval);
  2004. [
  2005. id(0x60020001),
  2006. propput,
  2007. helpstring(
  2008. "Specifies whether future calls to BeginSearch and Search can "
  2009. "automatically upgrade the MSUS client as a side-effect.")
  2010. ]
  2011. HRESULT CanAutomaticallyUpgradeService(
  2012. [in] VARIANT_BOOL value);
  2013. [
  2014. id(0x60020003),
  2015. propget,
  2016. helpstring("Gets the identifier of the current client application.")
  2017. ]
  2018. HRESULT ClientApplicationID(
  2019. [out, retval] BSTR* retval);
  2020. [
  2021. id(0x60020003),
  2022. propput,
  2023. helpstring("Sets the identifier of the current client application.")
  2024. ]
  2025. HRESULT ClientApplicationID(
  2026. [in] BSTR value);
  2027. [
  2028. id(0x60020004),
  2029. propget,
  2030. helpstring(
  2031. "Indicates whether to include, in the search results, updates that "
  2032. "are superseded by any other updates in the results.")
  2033. ]
  2034. HRESULT IncludePotentiallySupersededUpdates(
  2035. [out, retval] VARIANT_BOOL* retval);
  2036. [
  2037. id(0x60020004),
  2038. propput,
  2039. helpstring(
  2040. "Specifies whether to include, in the search results, updates that "
  2041. "are superseded by any other updates in the results.")
  2042. ]
  2043. HRESULT IncludePotentiallySupersededUpdates(
  2044. [in] VARIANT_BOOL value);
  2045. [
  2046. id(0x60020007),
  2047. propget,
  2048. helpstring("Specifies which server to search")
  2049. ]
  2050. HRESULT ServerSelection(
  2051. [out, retval] ServerSelection* retval);
  2052. [
  2053. id(0x60020007),
  2054. propput,
  2055. helpstring("Specifies which server to search")
  2056. ]
  2057. HRESULT ServerSelection(
  2058. [in] ServerSelection value);
  2059. //methods:
  2060. [
  2061. id(0x60020008),
  2062. helpstring(
  2063. "Starts an asynchronous search using the currently configured "
  2064. "search options.")
  2065. ]
  2066. HRESULT BeginSearch(
  2067. [in] BSTR criteria,
  2068. [in] IUnknown* onCompleted,
  2069. [in] VARIANT state,
  2070. [out, retval] ISearchJob** retval);
  2071. [
  2072. id(0x60020009),
  2073. helpstring("Completes an asynchronous search.")
  2074. ]
  2075. HRESULT EndSearch(
  2076. [in] ISearchJob* searchJob,
  2077. [out, retval] ISearchResult** retval);
  2078. [
  2079. id(0x6002000a),
  2080. helpstring(
  2081. "Convert string into one that can be used as a literal value in a "
  2082. "search criteria string.")
  2083. ]
  2084. HRESULT EscapeString(
  2085. [in] BSTR unescaped,
  2086. [out, retval] BSTR* retval);
  2087. [
  2088. id(0x6002000b),
  2089. helpstring(
  2090. "Synchronously queries the target computer for the history of "
  2091. "update events.")
  2092. ]
  2093. HRESULT QueryHistory(
  2094. [in] LONG startIndex,
  2095. [in] LONG count,
  2096. [out, retval] IUpdateHistoryEntryCollection** retval);
  2097. [
  2098. id(0x6002000c),
  2099. helpstring(
  2100. "Perform a synchronous search using the currently configured "
  2101. "search options.")
  2102. ]
  2103. HRESULT Search(
  2104. [in] BSTR criteria,
  2105. [out, retval] ISearchResult** retval);
  2106. //properties:
  2107. [
  2108. id(0x6002000d),
  2109. propget,
  2110. helpstring(
  2111. "Indicates whether the UpdateSearcher goes online when searching "
  2112. "for updates.")
  2113. ]
  2114. HRESULT Online(
  2115. [out, retval] VARIANT_BOOL* retval);
  2116. [
  2117. id(0x6002000d),
  2118. propput,
  2119. helpstring(
  2120. "Specifies whether the UpdateSearcher goes online when searching "
  2121. "for updates.")
  2122. ]
  2123. HRESULT Online(
  2124. [in] VARIANT_BOOL value);
  2125. [
  2126. id(0x6002000e),
  2127. helpstring(
  2128. "Get number of update events on the target computer.")
  2129. ]
  2130. HRESULT GetTotalHistoryCount(
  2131. [out, retval] LONG* retval);
  2132. [
  2133. id(0x6002000f),
  2134. propget,
  2135. helpstring("Specifies Non-Windows Updates Service to search.")
  2136. ]
  2137. HRESULT ServiceID(
  2138. [out, retval] BSTR* retval);
  2139. [
  2140. id(0x6002000f),
  2141. propput,
  2142. helpstring("Specifies Non-Windows Updates Service to search.")
  2143. ]
  2144. HRESULT ServiceID(
  2145. [in] BSTR value);
  2146. }
  2147. [
  2148. helpstring("IUpdateDownloadResult Interface"),
  2149. object,
  2150. oleautomation,
  2151. dual,
  2152. nonextensible,
  2153. uuid(bf99af76-b575-42ad-8aa4-33cbb5477af1),
  2154. pointer_default(unique),
  2155. ]
  2156. interface IUpdateDownloadResult : IDispatch
  2157. {
  2158. //properties:
  2159. [
  2160. id(0x60020001),
  2161. propget,
  2162. helpstring(
  2163. "Gets the HRESULT value returned from the operation on the update.")
  2164. ]
  2165. HRESULT HResult(
  2166. [out, retval] LONG* retval);
  2167. [
  2168. id(0x60020002),
  2169. propget,
  2170. helpstring(
  2171. "Gets an OperationResultCode enumeration value specifying the "
  2172. "result of the operation on the update.")
  2173. ]
  2174. HRESULT ResultCode(
  2175. [out, retval] OperationResultCode* retval);
  2176. }
  2177. [
  2178. helpstring("IDownloadResult Interface"),
  2179. object,
  2180. oleautomation,
  2181. dual,
  2182. nonextensible,
  2183. uuid(daa4fdd0-4727-4dbe-a1e7-745dca317144),
  2184. pointer_default(unique),
  2185. ]
  2186. interface IDownloadResult : IDispatch
  2187. {
  2188. //properties:
  2189. [
  2190. id(0x60020001),
  2191. propget,
  2192. helpstring(
  2193. "Gets the HRESULT value returned from the download.")
  2194. ]
  2195. HRESULT HResult(
  2196. [out, retval] LONG* retval);
  2197. [
  2198. id(0x60020002),
  2199. propget,
  2200. helpstring(
  2201. "Gets an OperationResultCode enumeration value specifying the "
  2202. "overall result of the download.")
  2203. ]
  2204. HRESULT ResultCode(
  2205. [out, retval] OperationResultCode* retval);
  2206. //methods:
  2207. [
  2208. id(0x60020003),
  2209. helpstring(
  2210. "Gets the result of the download on a specified update.")
  2211. ]
  2212. HRESULT GetUpdateResult(
  2213. [in] LONG updateIndex,
  2214. [out, retval] IUpdateDownloadResult** retval);
  2215. }
  2216. [
  2217. helpstring("IDownloadProgress Interface"),
  2218. object,
  2219. oleautomation,
  2220. dual,
  2221. nonextensible,
  2222. uuid(d31a5bac-f719-4178-9dbb-5e2cb47fd18a),
  2223. pointer_default(unique),
  2224. ]
  2225. interface IDownloadProgress : IDispatch
  2226. {
  2227. //properties:
  2228. [
  2229. id(0x60020001),
  2230. propget,
  2231. helpstring(
  2232. "Gets a value specifying how much data has been transferred for "
  2233. "the content file(s) of the update being downloaded, in bytes.")
  2234. ]
  2235. HRESULT CurrentUpdateBytesDownloaded(
  2236. [out, retval] DECIMAL* retval);
  2237. [
  2238. id(0x60020002),
  2239. propget,
  2240. helpstring(
  2241. "Gets a value approximating how much data should be transferred "
  2242. "for the content file(s) of the update being downloaded, in bytes.")
  2243. ]
  2244. HRESULT CurrentUpdateBytesToDownload(
  2245. [out, retval] DECIMAL* retval);
  2246. [
  2247. id(0x60020003),
  2248. propget,
  2249. helpstring(
  2250. "Gets a zero-based index value into the updates specified in the "
  2251. "download for the one which content file(s) are being downloaded.")
  2252. ]
  2253. HRESULT CurrentUpdateIndex(
  2254. [out, retval] LONG* retval);
  2255. [
  2256. id(0x60020004),
  2257. propget,
  2258. helpstring(
  2259. "Gets a value estimating how far the download has progressed, in "
  2260. "percents.")
  2261. ]
  2262. HRESULT PercentComplete(
  2263. [out, retval] LONG* retval);
  2264. [
  2265. id(0x60020005),
  2266. propget,
  2267. helpstring(
  2268. "Gets a value specifying how much overall data has been "
  2269. "transferred by the download, in bytes.")
  2270. ]
  2271. HRESULT TotalBytesDownloaded(
  2272. [out, retval] DECIMAL* retval);
  2273. [
  2274. id(0x60020006),
  2275. propget,
  2276. helpstring(
  2277. "Gets a value approximating how much data should be transferred "
  2278. "over all updates by the download, in bytes.")
  2279. ]
  2280. HRESULT TotalBytesToDownload(
  2281. [out, retval] DECIMAL* retval);
  2282. //methods:
  2283. [
  2284. id(0x60020007),
  2285. helpstring(
  2286. "Gets the result of the download on a specified update.")
  2287. ]
  2288. HRESULT GetUpdateResult(
  2289. [in] LONG updateIndex,
  2290. [out, retval] IUpdateDownloadResult** retval);
  2291. //additional properties:
  2292. [
  2293. id(0x60020008),
  2294. propget,
  2295. helpstring(
  2296. "Gets a DownloadPhase enumeration value specifying the "
  2297. "current phase of the download in progress.")
  2298. ]
  2299. HRESULT CurrentUpdateDownloadPhase(
  2300. [out, retval] DownloadPhase* retval);
  2301. [
  2302. id(0x60020009),
  2303. propget,
  2304. helpstring(
  2305. "Gets a value estimating how far the download of the current"
  2306. " update has progressed, in percents.")
  2307. ]
  2308. HRESULT CurrentUpdatePercentComplete(
  2309. [out, retval] LONG* retval);
  2310. }
  2311. [
  2312. helpstring("IDownloadJob Interface"),
  2313. object,
  2314. oleautomation,
  2315. dual,
  2316. nonextensible,
  2317. uuid(c574de85-7358-43f6-aae8-8697e62d8ba7),
  2318. pointer_default(unique),
  2319. ]
  2320. interface IDownloadJob : IDispatch
  2321. {
  2322. //properties:
  2323. [
  2324. id(0x60020001),
  2325. propget,
  2326. helpstring(
  2327. "Gets the caller-specified state object passed to the "
  2328. "UpdateDownloader.BeginDownload method.")
  2329. ]
  2330. HRESULT AsyncState(
  2331. [out, retval] VARIANT* retval);
  2332. [
  2333. id(0x60020002),
  2334. propget,
  2335. helpstring(
  2336. "Gets a value indicating whether the call has been completely "
  2337. "processed.")
  2338. ]
  2339. HRESULT IsCompleted(
  2340. [out, retval] VARIANT_BOOL* retval);
  2341. [
  2342. id(0x60020003),
  2343. propget,
  2344. helpstring(
  2345. "Gets a read-only collection of the updates specified in the "
  2346. "download.")
  2347. ]
  2348. HRESULT Updates(
  2349. [out, retval] IUpdateCollection** retval);
  2350. //methods:
  2351. [
  2352. id(0x60020004),
  2353. helpstring(
  2354. "Waits for asynchronous operation to complete and releases all "
  2355. "callbacks, if any.")
  2356. ]
  2357. HRESULT CleanUp();
  2358. [
  2359. id(0x60020005),
  2360. helpstring("Gets the current progress of the download.")
  2361. ]
  2362. HRESULT GetProgress(
  2363. [out, retval] IDownloadProgress** retval);
  2364. [
  2365. id(0x60020006),
  2366. helpstring("Requests to abort the asynchronous download.")
  2367. ]
  2368. HRESULT RequestAbort();
  2369. }
  2370. [
  2371. helpstring("IDownloadCompletedCallbackArgs Interface"),
  2372. object,
  2373. oleautomation,
  2374. dual,
  2375. nonextensible,
  2376. uuid(fa565b23-498c-47a0-979d-e7d5b1813360),
  2377. pointer_default(unique),
  2378. ]
  2379. interface IDownloadCompletedCallbackArgs : IDispatch
  2380. {
  2381. }
  2382. [
  2383. helpstring("IDownloadCompletedCallback Interface"),
  2384. object,
  2385. oleautomation,
  2386. nonextensible,
  2387. uuid(77254866-9f5b-4c8e-b9e2-c77a8530d64b),
  2388. pointer_default(unique)
  2389. ]
  2390. interface IDownloadCompletedCallback : IUnknown
  2391. {
  2392. //methods:
  2393. [
  2394. id(0x60010001),
  2395. helpstring(
  2396. "Handles the notification about the completion of an asynchronous "
  2397. "download initiated by calling UpdateDownloader.BeginDownload.")
  2398. ]
  2399. HRESULT Invoke(
  2400. [in] IDownloadJob* downloadJob,
  2401. [in] IDownloadCompletedCallbackArgs* callbackArgs);
  2402. }
  2403. [
  2404. helpstring("IDownloadProgressChangedCallbackArgs Interface"),
  2405. object,
  2406. oleautomation,
  2407. dual,
  2408. nonextensible,
  2409. uuid(324ff2c6-4981-4b04-9412-57481745ab24),
  2410. pointer_default(unique),
  2411. ]
  2412. interface IDownloadProgressChangedCallbackArgs : IDispatch
  2413. {
  2414. //properties:
  2415. [
  2416. id(0x60020001),
  2417. propget,
  2418. helpstring(
  2419. "Gets the progress of the asynchronous download at the time the "
  2420. "callback was made.")
  2421. ]
  2422. HRESULT Progress(
  2423. [out, retval] IDownloadProgress** retval);
  2424. }
  2425. [
  2426. helpstring("IDownloadProgressChangedCallback Interface"),
  2427. object,
  2428. oleautomation,
  2429. nonextensible,
  2430. uuid(8c3f1cdd-6173-4591-aebd-a56a53ca77c1),
  2431. pointer_default(unique)
  2432. ]
  2433. interface IDownloadProgressChangedCallback : IUnknown
  2434. {
  2435. //methods:
  2436. [
  2437. id(0x60010001),
  2438. helpstring(
  2439. "Handles the notification about the change of progress of an "
  2440. "asynchronous download initiated by calling "
  2441. "UpdateDownloader.BeginDownload.")
  2442. ]
  2443. HRESULT Invoke(
  2444. [in] IDownloadJob* downloadJob,
  2445. [in] IDownloadProgressChangedCallbackArgs* callbackArgs);
  2446. }
  2447. [
  2448. helpstring("IUpdateDownloader Interface"),
  2449. object,
  2450. oleautomation,
  2451. dual,
  2452. nonextensible,
  2453. uuid(68f1c6f9-7ecc-4666-a464-247fe12496c3),
  2454. pointer_default(unique),
  2455. hidden // already exposed by a class
  2456. ]
  2457. interface IUpdateDownloader : IDispatch
  2458. {
  2459. //properties:
  2460. [
  2461. id(0x60020001),
  2462. propget,
  2463. helpstring("Gets the identifier of the current client application.")
  2464. ]
  2465. HRESULT ClientApplicationID(
  2466. [out, retval] BSTR* retval);
  2467. [
  2468. id(0x60020001),
  2469. propput,
  2470. helpstring("Sets the identifier of the current client application.")
  2471. ]
  2472. HRESULT ClientApplicationID(
  2473. [in] BSTR value);
  2474. [
  2475. id(0x60020002),
  2476. propget,
  2477. helpstring(
  2478. "Indicates whether to forcefully download the specified updates.")
  2479. ]
  2480. HRESULT IsForced(
  2481. [out, retval] VARIANT_BOOL* retval);
  2482. [
  2483. id(0x60020002),
  2484. propput,
  2485. helpstring(
  2486. "Specifies whether to forcefully download the specified updates.")
  2487. ]
  2488. HRESULT IsForced(
  2489. [in] VARIANT_BOOL value);
  2490. [
  2491. id(0x60020003),
  2492. propget,
  2493. helpstring("Gets the desired priority level of the download.")
  2494. ]
  2495. HRESULT Priority(
  2496. [out, retval] DownloadPriority* retval);
  2497. [
  2498. id(0x60020003),
  2499. propput,
  2500. helpstring("Specifies the desired priority level of the download.")
  2501. ]
  2502. HRESULT Priority(
  2503. [in] DownloadPriority value);
  2504. [
  2505. id(0x60020004),
  2506. propget,
  2507. helpstring(
  2508. "Gets the updates to download.")
  2509. ]
  2510. HRESULT Updates(
  2511. [out, retval] IUpdateCollection** retval);
  2512. [
  2513. id(0x60020004),
  2514. propput,
  2515. helpstring("Specifies the updates to download.")
  2516. ]
  2517. HRESULT Updates(
  2518. [in] IUpdateCollection* value);
  2519. //methods
  2520. [
  2521. id(0x60020005),
  2522. helpstring(
  2523. "Begins an asynchronous operation to download the content file(s) "
  2524. "associated with the updates.")
  2525. ]
  2526. HRESULT BeginDownload(
  2527. [in] IUnknown* onProgressChanged,
  2528. [in] IUnknown* onCompleted,
  2529. [in] VARIANT state,
  2530. [out, retval] IDownloadJob** retval);
  2531. [
  2532. id(0x60020006),
  2533. helpstring(
  2534. "Synchronously downloads the content file(s) of the update(s) "
  2535. "to the local cache on the target computer.")
  2536. ]
  2537. HRESULT Download(
  2538. [out, retval] IDownloadResult** retval);
  2539. [
  2540. id(0x60020007),
  2541. helpstring("Completes an asynchronous download.")
  2542. ]
  2543. HRESULT EndDownload(
  2544. [in] IDownloadJob* value,
  2545. [out, retval] IDownloadResult** retval);
  2546. }
  2547. [
  2548. helpstring("IUpdateInstallationResult Interface"),
  2549. object,
  2550. oleautomation,
  2551. dual,
  2552. nonextensible,
  2553. uuid(d940f0f8-3cbb-4fd0-993f-471e7f2328ad),
  2554. pointer_default(unique),
  2555. ]
  2556. interface IUpdateInstallationResult : IDispatch
  2557. {
  2558. //properties:
  2559. [
  2560. id(0x60020001),
  2561. propget,
  2562. helpstring("Gets the HRESULT value from the operation on the update.")
  2563. ]
  2564. HRESULT HResult(
  2565. [out, retval] LONG* retval);
  2566. [
  2567. id(0x60020002),
  2568. propget,
  2569. helpstring(
  2570. "Indicates whether system reboot is required on the target "
  2571. "computer to complete the installation on the Update.")
  2572. ]
  2573. HRESULT RebootRequired(
  2574. [out, retval] VARIANT_BOOL* retval);
  2575. [
  2576. id(0x60020003),
  2577. propget,
  2578. helpstring(
  2579. "Gets an OperationResultCode enumeration value specifying the "
  2580. "result of the operation on the update.")
  2581. ]
  2582. HRESULT ResultCode(
  2583. [out, retval] OperationResultCode* retval);
  2584. }
  2585. [
  2586. helpstring("IInstallationResult Interface"),
  2587. object,
  2588. oleautomation,
  2589. dual,
  2590. nonextensible,
  2591. uuid(a43c56d6-7451-48d4-af96-b6cd2d0d9b7a),
  2592. pointer_default(unique),
  2593. ]
  2594. interface IInstallationResult : IDispatch
  2595. {
  2596. //properties:
  2597. [
  2598. id(0x60020001),
  2599. propget,
  2600. helpstring("Gets the HRESULT returned from the (un)installation.")
  2601. ]
  2602. HRESULT HResult(
  2603. [out, retval] LONG* retval);
  2604. [
  2605. id(0x60020002),
  2606. propget,
  2607. helpstring(
  2608. "Indicates whether a system reboot is required on the target "
  2609. "computer to complete the (un)installation.")
  2610. ]
  2611. HRESULT RebootRequired(
  2612. [out, retval] VARIANT_BOOL* retval);
  2613. [
  2614. id(0x60020003),
  2615. propget,
  2616. helpstring(
  2617. "Gets an OperationResultCode enumeration value specifying the "
  2618. "overall result of the (un)installation.")
  2619. ]
  2620. HRESULT ResultCode(
  2621. [out, retval] OperationResultCode* retval);
  2622. //methods:
  2623. [
  2624. id(0x60020004),
  2625. helpstring(
  2626. "Gets the result of the (un)installation on a specified update.")
  2627. ]
  2628. HRESULT GetUpdateResult(
  2629. [in] LONG updateIndex,
  2630. [out, retval] IUpdateInstallationResult** retval);
  2631. }
  2632. [
  2633. helpstring("IInstallationProgress Interface"),
  2634. object,
  2635. oleautomation,
  2636. dual,
  2637. nonextensible,
  2638. uuid(345c8244-43a3-4e32-a368-65f073b76f36),
  2639. pointer_default(unique),
  2640. ]
  2641. interface IInstallationProgress : IDispatch
  2642. {
  2643. //properties:
  2644. [
  2645. id(0x60020001),
  2646. propget,
  2647. helpstring(
  2648. "Gets a zero-based index value into the updates specified in the "
  2649. "(un)installation for the one which content file(s) are being "
  2650. "(un)installed.")
  2651. ]
  2652. HRESULT CurrentUpdateIndex(
  2653. [out, retval] LONG* retval);
  2654. [
  2655. id(0x60020002),
  2656. propget,
  2657. helpstring(
  2658. "Gets a value specifying how much the (un)installation has "
  2659. "completed upon the update being (un)installed, in percents.")
  2660. ]
  2661. HRESULT CurrentUpdatePercentComplete(
  2662. [out, retval] LONG* retval);
  2663. [
  2664. id(0x60020003),
  2665. propget,
  2666. helpstring(
  2667. "Gets a value specifying how much overall the (un)installation has "
  2668. "completed, in percents.")
  2669. ]
  2670. HRESULT PercentComplete(
  2671. [out, retval] LONG* retval);
  2672. //methods:
  2673. [
  2674. id(0x60020004),
  2675. helpstring(
  2676. "Gets the result of the (un)installation on a specified update.")
  2677. ]
  2678. HRESULT GetUpdateResult(
  2679. [in] LONG updateIndex,
  2680. [out, retval] IUpdateInstallationResult** retval);
  2681. }
  2682. [
  2683. helpstring("IInstallationJob Interface"),
  2684. object,
  2685. oleautomation,
  2686. dual,
  2687. nonextensible,
  2688. uuid(5c209f0b-bad5-432a-9556-4699bed2638a),
  2689. pointer_default(unique),
  2690. ]
  2691. interface IInstallationJob : IDispatch
  2692. {
  2693. //properties:
  2694. [
  2695. id(0x60020001),
  2696. propget,
  2697. helpstring(
  2698. "Gets the caller-specified state object passed to the "
  2699. "corresponding UpdateInstaller.BeginInstall or "
  2700. "UpdateInstaller.BeginUninstall methods.")
  2701. ]
  2702. HRESULT AsyncState(
  2703. [out, retval] VARIANT* retval);
  2704. [
  2705. id(0x60020002),
  2706. propget,
  2707. helpstring(
  2708. "Gets a value indicating whether the call has been completely "
  2709. "processed.")
  2710. ]
  2711. HRESULT IsCompleted(
  2712. [out, retval] VARIANT_BOOL* retval);
  2713. [
  2714. id(0x60020003),
  2715. propget,
  2716. helpstring(
  2717. "Gets a read-only collection of the updates specified in the "
  2718. "(un)installation.")
  2719. ]
  2720. HRESULT Updates(
  2721. [out, retval] IUpdateCollection** retval);
  2722. //methods:
  2723. [
  2724. id(0x60020004),
  2725. helpstring(
  2726. "Waits for asynchronous operation to complete and releases all "
  2727. "callbacks, if any.")
  2728. ]
  2729. HRESULT CleanUp();
  2730. [
  2731. id(0x60020005),
  2732. helpstring("Gets the current progress of the (un)installation.")
  2733. ]
  2734. HRESULT GetProgress(
  2735. [out, retval] IInstallationProgress** retval);
  2736. [
  2737. id(0x60020006),
  2738. helpstring("Requests to abort the asynchronous (un)installation.")
  2739. ]
  2740. HRESULT RequestAbort();
  2741. }
  2742. [
  2743. helpstring("IInstallationCompletedCallbackArgs Interface"),
  2744. object,
  2745. oleautomation,
  2746. dual,
  2747. nonextensible,
  2748. uuid(250e2106-8efb-4705-9653-ef13c581b6a1),
  2749. pointer_default(unique),
  2750. ]
  2751. interface IInstallationCompletedCallbackArgs : IDispatch
  2752. {
  2753. }
  2754. [
  2755. helpstring("IInstallationCompletedCallback Interface"),
  2756. object,
  2757. oleautomation,
  2758. nonextensible,
  2759. uuid(45f4f6f3-d602-4f98-9a8a-3efa152ad2d3),
  2760. pointer_default(unique)
  2761. ]
  2762. interface IInstallationCompletedCallback : IUnknown
  2763. {
  2764. //methods:
  2765. [
  2766. id(0x60010001),
  2767. helpstring(
  2768. "Handles the notification about the completion of an asynchronous "
  2769. "(un)installation initiated by the corresponding "
  2770. "UpdateInstaller.BeginInstall or UpdateInstaller.BeginUninstall "
  2771. "call.")
  2772. ]
  2773. HRESULT Invoke(
  2774. [in] IInstallationJob* installationJob,
  2775. [in] IInstallationCompletedCallbackArgs* callbackArgs);
  2776. }
  2777. [
  2778. helpstring("IInstallationProgressChangedCallbackArgs Interface"),
  2779. object,
  2780. oleautomation,
  2781. dual,
  2782. nonextensible,
  2783. uuid(e4f14e1e-689d-4218-a0b9-bc189c484a01),
  2784. pointer_default(unique),
  2785. ]
  2786. interface IInstallationProgressChangedCallbackArgs : IDispatch
  2787. {
  2788. //properties:
  2789. [
  2790. id(0x60020001),
  2791. propget,
  2792. helpstring(
  2793. "Gets the progress of the asynchronous (un)installation at the "
  2794. "time the callback was made.")
  2795. ]
  2796. HRESULT Progress(
  2797. [out, retval] IInstallationProgress** retval);
  2798. //methods:
  2799. }
  2800. [
  2801. helpstring("IInstallationProgressChangedCallback Interface"),
  2802. object,
  2803. oleautomation,
  2804. nonextensible,
  2805. uuid(e01402d5-f8da-43ba-a012-38894bd048f1),
  2806. pointer_default(unique)
  2807. ]
  2808. interface IInstallationProgressChangedCallback : IUnknown
  2809. {
  2810. //methods:
  2811. [
  2812. id(0x60010001),
  2813. helpstring(
  2814. "Handles the notification about the change of progress of an "
  2815. "asynchronous (un)installation initiated by the corresponding "
  2816. "UpdateInstaller.BeginInstall or Update.BeginUninstall call.")
  2817. ]
  2818. HRESULT Invoke(
  2819. [in] IInstallationJob* installationJob,
  2820. [in] IInstallationProgressChangedCallbackArgs* callbackArgs);
  2821. }
  2822. [
  2823. helpstring("IUpdateInstaller Interface"),
  2824. object,
  2825. oleautomation,
  2826. dual,
  2827. nonextensible,
  2828. uuid(7b929c68-ccdc-4226-96b1-8724600b54c2),
  2829. pointer_default(unique),
  2830. hidden // already exposed by a class
  2831. ]
  2832. interface IUpdateInstaller : IDispatch
  2833. {
  2834. //properties:
  2835. [
  2836. id(0x60020001),
  2837. propget,
  2838. helpstring("Gets the identifier of the current client application.")
  2839. ]
  2840. HRESULT ClientApplicationID(
  2841. [out, retval] BSTR* retval);
  2842. [
  2843. id(0x60020001),
  2844. propput,
  2845. helpstring("Sets the identifier of the current client application.")
  2846. ]
  2847. HRESULT ClientApplicationID(
  2848. [in] BSTR value);
  2849. [
  2850. id(0x60020002),
  2851. propget,
  2852. helpstring(
  2853. "Indicates whether to forcefully (un)install the specified updates.")
  2854. ]
  2855. HRESULT IsForced(
  2856. [out, retval] VARIANT_BOOL* retval);
  2857. [
  2858. id(0x60020002),
  2859. propput,
  2860. helpstring(
  2861. "Specifies whether to forcefully (un)install the specified updates.")
  2862. ]
  2863. HRESULT IsForced(
  2864. [in] VARIANT_BOOL value);
  2865. [
  2866. id(0x60020003),
  2867. propget,
  2868. restricted, // Script caller can't read the type anyways
  2869. helpstring(
  2870. "Gets the window on top of which the wizard dialog box should "
  2871. "be shown.")
  2872. ]
  2873. HRESULT ParentHwnd(
  2874. [out, retval] HWND* retval);
  2875. [
  2876. id(0x60020003),
  2877. propput,
  2878. restricted, // Script caller can't read the type anyways
  2879. helpstring(
  2880. "Sets the window on top of which the wizard dialog box should "
  2881. "be shown.")
  2882. ]
  2883. HRESULT ParentHwnd(
  2884. [in, unique] HWND value);
  2885. [
  2886. id(0x60020004),
  2887. propput,
  2888. helpstring(
  2889. "Sets the web browser window on top of which the wizard dialog box "
  2890. "should be shown.")
  2891. ]
  2892. HRESULT ParentWindow(
  2893. [in, unique] IUnknown* value);
  2894. [
  2895. id(0x60020004),
  2896. propget,
  2897. helpstring(
  2898. "Gets the web browser window on top of which the wizard dialog box "
  2899. "should be shown.")
  2900. ]
  2901. HRESULT ParentWindow(
  2902. [out, retval] IUnknown** retval);
  2903. [
  2904. id(0x60020005),
  2905. propget,
  2906. helpstring(
  2907. "Gets the updates to (un)install.")
  2908. ]
  2909. HRESULT Updates(
  2910. [out, retval] IUpdateCollection** retval);
  2911. [
  2912. id(0x60020005),
  2913. propput,
  2914. helpstring("Specifies the updates to (un)install.")
  2915. ]
  2916. HRESULT Updates(
  2917. [in] IUpdateCollection* value);
  2918. //methods
  2919. [
  2920. id(0x60020006),
  2921. helpstring(
  2922. "Begins an asynchronous operation to install the updates.")
  2923. ]
  2924. HRESULT BeginInstall(
  2925. [in] IUnknown* onProgressChanged,
  2926. [in] IUnknown* onCompleted,
  2927. [in] VARIANT state,
  2928. [out, retval] IInstallationJob** retval);
  2929. [
  2930. id(0x60020007),
  2931. helpstring(
  2932. "Begins an asynchronous operation to uninstall the updates.")
  2933. ]
  2934. HRESULT BeginUninstall(
  2935. [in] IUnknown* onProgressChanged,
  2936. [in] IUnknown* onCompleted,
  2937. [in] VARIANT state,
  2938. [out, retval] IInstallationJob** retval);
  2939. [
  2940. id(0x60020008),
  2941. helpstring("Completes an asynchronous installation.")
  2942. ]
  2943. HRESULT EndInstall(
  2944. [in] IInstallationJob* value,
  2945. [out, retval] IInstallationResult** retval);
  2946. [
  2947. id(0x60020009),
  2948. helpstring("Completes an asynchronous uninstallation.")
  2949. ]
  2950. HRESULT EndUninstall(
  2951. [in] IInstallationJob* value,
  2952. [out, retval] IInstallationResult** retval);
  2953. [
  2954. id(0x6002000a),
  2955. helpstring("Synchronously installs updates onto the target computer.")
  2956. ]
  2957. HRESULT Install(
  2958. [out, retval] IInstallationResult** retval);
  2959. [
  2960. id(0x6002000b),
  2961. helpstring(
  2962. "Interactively guides the local user to go through the steps to "
  2963. "install updates.")
  2964. ]
  2965. HRESULT RunWizard(
  2966. [in, defaultvalue("")] BSTR dialogTitle,
  2967. [out, retval] IInstallationResult** retval);
  2968. [
  2969. id(0x6002000c),
  2970. propget,
  2971. helpstring(
  2972. "Indicates whether (un)installation can be performed on the target "
  2973. "computer at this moment.")
  2974. ]
  2975. HRESULT IsBusy(
  2976. [out, retval] VARIANT_BOOL* retval);
  2977. [
  2978. id(0x6002000d),
  2979. helpstring(
  2980. "Synchronously uninstalls the updates from the target computer.")
  2981. ]
  2982. HRESULT Uninstall(
  2983. [out, retval] IInstallationResult** retval);
  2984. //properties:
  2985. [
  2986. id(0x6002000e),
  2987. propget,
  2988. helpstring(
  2989. "Indicates whether to show source prompts to the user, when "
  2990. "needed, while installing updates.")
  2991. ]
  2992. HRESULT AllowSourcePrompts(
  2993. [out, retval] VARIANT_BOOL* retval);
  2994. [
  2995. id(0x6002000e),
  2996. propput,
  2997. helpstring(
  2998. "Specifies whether to show source prompts to the user, when "
  2999. "needed, while installing updates.")
  3000. ]
  3001. HRESULT AllowSourcePrompts(
  3002. [in] VARIANT_BOOL value);
  3003. [
  3004. id(0x6002000f),
  3005. propget,
  3006. helpstring(
  3007. "Gets a value indicating whether a system reboot is required "
  3008. "before (un)installing updates.")
  3009. ]
  3010. HRESULT RebootRequiredBeforeInstallation(
  3011. [out, retval] VARIANT_BOOL* retval);
  3012. }
  3013. [
  3014. helpstring("IUpdateSession Interface"),
  3015. object,
  3016. oleautomation,
  3017. dual,
  3018. nonextensible,
  3019. uuid(816858a4-260d-4260-933a-2585f1abc76b),
  3020. pointer_default(unique),
  3021. hidden // already exposed by a class
  3022. ]
  3023. interface IUpdateSession : IDispatch
  3024. {
  3025. //properties:
  3026. [
  3027. id(0x60020001),
  3028. propget,
  3029. helpstring("Gets the identifier of the current client application.")
  3030. ]
  3031. HRESULT ClientApplicationID(
  3032. [out, retval] BSTR* retval);
  3033. [
  3034. id(0x60020001),
  3035. propput,
  3036. helpstring("Sets the identifier of the current client application.")
  3037. ]
  3038. HRESULT ClientApplicationID(
  3039. [in] BSTR value);
  3040. [
  3041. id(0x60020002),
  3042. propget,
  3043. helpstring(
  3044. "Gets a boolean value indicating whether the UpdateSession object "
  3045. "is read-only.")
  3046. ]
  3047. HRESULT ReadOnly(
  3048. [out, retval] VARIANT_BOOL* retval);
  3049. [
  3050. id(0x60020003),
  3051. propget,
  3052. helpstring(
  3053. "Gets the proxy settings required to reaching the server for "
  3054. "future operations in the UpdateSession.")
  3055. ]
  3056. HRESULT WebProxy(
  3057. [out, retval] IWebProxy** retval);
  3058. [
  3059. id(0x60020003),
  3060. propput,
  3061. helpstring(
  3062. "Sets the proxy settings required to reach the server for "
  3063. "future operations in the UpdateSession.")
  3064. ]
  3065. HRESULT WebProxy(
  3066. [in, unique] IWebProxy* value);
  3067. //methods:
  3068. [
  3069. id(0x60020004),
  3070. helpstring("Creates an UpdateSearcher within the UpdateSession.")
  3071. ]
  3072. HRESULT CreateUpdateSearcher(
  3073. [out, retval] IUpdateSearcher** retval);
  3074. [
  3075. id(0x60020005),
  3076. helpstring("Creates an UpdateDownloader within the UpdateSession.")
  3077. ]
  3078. HRESULT CreateUpdateDownloader(
  3079. [out, retval] IUpdateDownloader** retval);
  3080. [
  3081. id(0x60020006),
  3082. helpstring("Creates an UpdateInstaller within the UpdateSession.")
  3083. ]
  3084. HRESULT CreateUpdateInstaller(
  3085. [out, retval] IUpdateInstaller** retval);
  3086. }
  3087. [
  3088. helpstring("IUpdateService Interface"),
  3089. object,
  3090. oleautomation,
  3091. dual,
  3092. nonextensible,
  3093. uuid(9f95119d-2fe8-4a9f-bf1e-d5acb4699f3c),
  3094. pointer_default(unique)
  3095. ]
  3096. interface IUpdateService : IDispatch
  3097. {
  3098. //properties:
  3099. [
  3100. id(DISPID_VALUE),
  3101. propget,
  3102. helpstring("Name of the Service.")
  3103. ]
  3104. HRESULT Name(
  3105. [out, retval] BSTR* retval);
  3106. [
  3107. id(0x60020001),
  3108. propget,
  3109. helpstring("SHA1 hash of the certificate used to sign contents.")
  3110. ]
  3111. HRESULT ContentValidationCert(
  3112. [out, retval] VARIANT* retval);
  3113. [
  3114. id(0x60020002),
  3115. propget,
  3116. helpstring("Gets the date on which the Authorization Cab expires.")
  3117. ]
  3118. HRESULT ExpirationDate(
  3119. [out, retval] DATE* retval);
  3120. [
  3121. id(0x60020003),
  3122. propget,
  3123. helpstring("Indicates whether the Service is a managed service.")
  3124. ]
  3125. HRESULT IsManaged(
  3126. [out, retval] VARIANT_BOOL* retval);
  3127. [
  3128. id(0x60020004),
  3129. propget,
  3130. helpstring("Indicates whether the Service is registered with Automatic Updates.")
  3131. ]
  3132. HRESULT IsRegisteredWithAU(
  3133. [out, retval] VARIANT_BOOL* retval);
  3134. [
  3135. id(0x60020005),
  3136. propget,
  3137. helpstring("Gets the date on which the Authorization Cab was issued.")
  3138. ]
  3139. HRESULT IssueDate(
  3140. [out, retval] DATE* retval);
  3141. [
  3142. id(0x60020006),
  3143. propget,
  3144. helpstring(
  3145. "Indicates whether the Service offers Windows updates.")
  3146. ]
  3147. HRESULT OffersWindowsUpdates(
  3148. [out, retval] VARIANT_BOOL* retval);
  3149. [
  3150. id(0x60020007),
  3151. propget,
  3152. helpstring("URL for the redirector cab.")
  3153. ]
  3154. HRESULT RedirectUrl(
  3155. [out, retval] BSTR* retval);
  3156. [
  3157. id(0x60020008),
  3158. propget,
  3159. helpstring("Gets the identifier of the Service.")
  3160. ]
  3161. HRESULT ServiceID(
  3162. [out, retval] BSTR* retval);
  3163. [
  3164. id(0x60020009),
  3165. propget,
  3166. helpstring(
  3167. "Returns the CLSID registered by the Service to provide the user "
  3168. "interface.")
  3169. ]
  3170. HRESULT UIPluginClsid(
  3171. [out, retval] BSTR* retval);
  3172. }
  3173. [
  3174. helpstring("IUpdateServiceCollection Interface"),
  3175. object,
  3176. oleautomation,
  3177. dual,
  3178. nonextensible,
  3179. uuid(9b0353aa-0e52-44ff-b8b0-1f7fa0437f88),
  3180. pointer_default(unique)
  3181. ]
  3182. interface IUpdateServiceCollection : IDispatch
  3183. {
  3184. //properties:
  3185. [
  3186. id(DISPID_VALUE),
  3187. propget,
  3188. helpstring("Gets an element in the collection.")
  3189. ]
  3190. HRESULT Item(
  3191. [in] LONG index,
  3192. [out, retval] IUpdateService** retval);
  3193. [
  3194. id(DISPID_NEWENUM),
  3195. propget,
  3196. helpstring(
  3197. "Gets an IEnumVARIANT interface on an object that can be used to "
  3198. "enumerate the collection.")
  3199. ]
  3200. HRESULT _NewEnum(
  3201. [out, retval] IUnknown** retval);
  3202. [
  3203. id(0x60020001),
  3204. propget,
  3205. helpstring("Gets the number of elements contained in the collection.")
  3206. ]
  3207. HRESULT Count(
  3208. [out, retval] LONG* retval);
  3209. }
  3210. [
  3211. helpstring("IUpdateServiceManager Interface"),
  3212. object,
  3213. oleautomation,
  3214. dual,
  3215. nonextensible,
  3216. uuid(c165fa56-6f87-43aa-9d92-6cebcc7bcfe4),
  3217. pointer_default(unique),
  3218. hidden // already exposed by a class
  3219. ]
  3220. interface IUpdateServiceManager : IDispatch
  3221. {
  3222. //properties:
  3223. [
  3224. id(0x60020001),
  3225. propget,
  3226. helpstring("Gets the services registered with the SUS Client.")
  3227. ]
  3228. HRESULT Services(
  3229. [out, retval] IUpdateServiceCollection** retval);
  3230. //methods:
  3231. [
  3232. id(0x60020002),
  3233. helpstring("Registers a service with SUS Client.")
  3234. ]
  3235. HRESULT AddService(
  3236. [in] BSTR serviceID,
  3237. [in] BSTR authorizationCabPath,
  3238. [out, retval] IUpdateService** retval);
  3239. [
  3240. id(0x60020003),
  3241. helpstring("Registers the service with AU.")
  3242. ]
  3243. HRESULT RegisterServiceWithAU(
  3244. [in] BSTR serviceID);
  3245. [
  3246. id(0x60020004),
  3247. helpstring("Removes a service registration from SUS Client.")
  3248. ]
  3249. HRESULT RemoveService(
  3250. [in] BSTR serviceID);
  3251. [
  3252. id(0x60020005),
  3253. helpstring("Unregisters the service with AU.")
  3254. ]
  3255. HRESULT UnregisterServiceWithAU(
  3256. [in] BSTR serviceID);
  3257. }
  3258. [
  3259. uuid(B596CC9F-56E5-419E-A622-E01BB457431E),
  3260. version(2.0),
  3261. helpstring("WUAPI 2.0 Type Library")
  3262. ]
  3263. library WUApiLib
  3264. {
  3265. importlib("stdole2.tlb");
  3266. interface IInvalidProductLicenseException;
  3267. interface IWindowsDriverUpdate;
  3268. interface ISearchCompletedCallback;
  3269. interface ISearchProgressChangedCallback;
  3270. interface IDownloadCompletedCallback;
  3271. interface IDownloadProgressChangedCallback;
  3272. interface IInstallationCompletedCallback;
  3273. interface IInstallationProgressChangedCallback;
  3274. [
  3275. helpstring("StringCollection Class"),
  3276. uuid(72C97D74-7C3B-40AE-B77D-ABDB22EBA6FB)
  3277. ]
  3278. coclass StringCollection
  3279. {
  3280. [default] interface IStringCollection;
  3281. };
  3282. [
  3283. helpstring("UpdateSearcher Class"),
  3284. uuid(B699E5E8-67FF-4177-88B0-3684A3388BFB)
  3285. ]
  3286. coclass UpdateSearcher
  3287. {
  3288. [default] interface IUpdateSearcher;
  3289. };
  3290. [
  3291. helpstring("WebProxy Class"),
  3292. uuid(650503cf-9108-4ddc-a2ce-6c2341e1c582)
  3293. ]
  3294. coclass WebProxy
  3295. {
  3296. [default] interface IWebProxy;
  3297. };
  3298. [
  3299. helpstring("SystemInformation Class"),
  3300. uuid(C01B9BA0-BEA7-41BA-B604-D0A36F469133)
  3301. ]
  3302. coclass SystemInformation
  3303. {
  3304. [default] interface ISystemInformation;
  3305. };
  3306. [
  3307. helpstring("AutomaticUpdates Class"),
  3308. uuid(BFE18E9C-6D87-4450-B37C-E02F0B373803)
  3309. ]
  3310. coclass AutomaticUpdates
  3311. {
  3312. [default] interface IAutomaticUpdates;
  3313. };
  3314. [
  3315. helpstring("UpdateCollection Class"),
  3316. uuid(13639463-00DB-4646-803D-528026140D88)
  3317. ]
  3318. coclass UpdateCollection
  3319. {
  3320. [default] interface IUpdateCollection;
  3321. };
  3322. [
  3323. helpstring("UpdateDownloader Class"),
  3324. uuid(5BAF654A-5A07-4264-A255-9FF54C7151E7)
  3325. ]
  3326. coclass UpdateDownloader
  3327. {
  3328. [default] interface IUpdateDownloader;
  3329. };
  3330. [
  3331. helpstring("UpdateInstaller Class"),
  3332. uuid(D2E0FE7F-D23E-48E1-93C0-6FA8CC346474)
  3333. ]
  3334. coclass UpdateInstaller
  3335. {
  3336. [default] interface IUpdateInstaller;
  3337. };
  3338. [
  3339. helpstring("UpdateSession Class"),
  3340. uuid(4CB43D7F-7EEE-4906-8698-60DA1C38F2FE)
  3341. ]
  3342. coclass UpdateSession
  3343. {
  3344. [default] interface IUpdateSession;
  3345. };
  3346. [
  3347. helpstring("UpdateServiceManager Class"),
  3348. uuid(91353063-774C-4F84-B05B-498FEC7FBE25)
  3349. ]
  3350. coclass UpdateServiceManager
  3351. {
  3352. [default] interface IUpdateServiceManager;
  3353. };
  3354. };