xpmgr/BuildTools/Include/wuapi.idl

4828 lines
131 KiB
Plaintext

//=======================================================================
//
// (C) Copyright 2003-2004 Microsoft Corporation. All Rights Reserved.
//
// File: wuapi.idl
//
// Contents: Windows Update Services Client Interfaces.
//
//=======================================================================
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// wuapi.h")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// (C) Copyright 2003-2004 Microsoft Corporation. All Rights Reserved.")
cpp_quote("//")
cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
cpp_quote("// PARTICULAR PURPOSE.")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("")
cpp_quote("#pragma comment(lib, \"wuguid.lib\")")
cpp_quote("")
cpp_quote("//--------------------------------------------------------------------------")
cpp_quote("// Windows Update Services Client Interfaces.")
cpp_quote("// --------------------------------------------------------------------------------")
cpp_quote("// GUIDS")
cpp_quote("// --------------------------------------------------------------------------------")
cpp_quote("// {B596CC9F-56E5-419E-A622-E01BB457431E}")
cpp_quote("DEFINE_GUID(LIBID_WUApiLib,0xB596CC9F,0x56E5,0x419E,0xA6,0x22,0xE0,0x1B,0xB4,0x57,0x43,0x1E);")
cpp_quote("")
cpp_quote("// {A976C28D-75A1-42AA-94AE-8AF8B872089A}")
cpp_quote("DEFINE_GUID(IID_IUpdateLockdown,0xa976c28d,0x75a1,0x42aa,0x94,0xae,0x8a,0xf8,0xb8,0x72,0x08,0x9a);")
cpp_quote("")
cpp_quote("// {EFF90582-2DDC-480F-A06D-60F3FBC362C3}")
cpp_quote("DEFINE_GUID(IID_IStringCollection,0xeff90582,0x2ddc,0x480f,0xa0,0x6d,0x60,0xf3,0xfb,0xc3,0x62,0xc3);")
cpp_quote("")
cpp_quote("// {174C81FE-AECD-4DAE-B8A0-2C6318DD86A8}")
cpp_quote("DEFINE_GUID(IID_IWebProxy,0x174c81fe,0xaecd,0x4dae,0xb8,0xa0,0x2c,0x63,0x18,0xdd,0x86,0xa8);")
cpp_quote("")
cpp_quote("// {ADE87BF7-7B56-4275-8FAB-B9B0E591844B}")
cpp_quote("DEFINE_GUID(IID_ISystemInformation,0xade87bf7,0x7b56,0x4275,0x8f,0xab,0xb9,0xb0,0xe5,0x91,0x84,0x4b);")
cpp_quote("")
cpp_quote("// {85713FA1-7796-4FA2-BE3B-E2D6124DD373}")
cpp_quote("DEFINE_GUID(IID_IWindowsUpdateAgentInfo,0x85713FA1,0x7796,0x4FA2,0xBE,0x3B,0xE2,0xD6,0x12,0x4D,0xD3,0x73);")
cpp_quote("")
cpp_quote("// {E7A4D634-7942-4DD9-A111-82228BA33901}")
cpp_quote("DEFINE_GUID(IID_IAutomaticUpdatesResults,0xe7a4d634,0x7942,0x4DD9,0xA1,0x11,0x82,0x22,0x8b,0xa3,0x39,0x1);")
cpp_quote("")
cpp_quote("// {2EE48F22-AF3C-405F-8970-F71BE12EE9A2}")
cpp_quote("DEFINE_GUID(IID_IAutomaticUpdatesSettings,0x2ee48f22,0xaf3c,0x405f,0x89,0x70,0xf7,0x1b,0xe1,0x2e,0xe9,0xa2);")
cpp_quote("")
cpp_quote("// {6ABC136A-C3CA-4384-8171-CB2B1E59B8DC}")
cpp_quote("DEFINE_GUID(IID_IAutomaticUpdatesSettings2,0x6abc136a,0xc3ca,0x4384,0x81,0x71,0xcb,0x2b,0x1e,0x59,0xb8,0xdc);")
cpp_quote("")
cpp_quote("// {B587F5C3-F57E-485F-BBF5-0D181C5CD0DC}")
cpp_quote("DEFINE_GUID(IID_IAutomaticUpdatesSettings3,0xb587f5c3,0xf57e,0x485f,0xbb,0xf5,0x0d,0x18,0x1c,0x5c,0xd0,0xdc);")
cpp_quote("")
cpp_quote("// {673425BF-C082-4C7C-BDFD-569464B8E0CE}")
cpp_quote("DEFINE_GUID(IID_IAutomaticUpdates,0x673425bf,0xc082,0x4c7c,0xbd,0xfd,0x56,0x94,0x64,0xb8,0xe0,0xce);")
cpp_quote("")
cpp_quote("// {4A2F5C31-CFD9-410E-B7FB-29A653973A0F}")
cpp_quote("DEFINE_GUID(IID_IAutomaticUpdates2,0x4A2f5C31,0xCFD9,0x410E,0xB7,0xFB,0x29,0xA6,0x53,0x97,0x3A,0xF);")
cpp_quote("")
cpp_quote("// {46297823-9940-4C09-AED9-CD3EA6D05968}")
cpp_quote("DEFINE_GUID(IID_IUpdateIdentity,0x46297823,0x9940,0x4c09,0xae,0xd9,0xcd,0x3e,0xa6,0xd0,0x59,0x68);")
cpp_quote("")
cpp_quote("// {7C907864-346C-4AEB-8F3F-57DA289F969F}")
cpp_quote("DEFINE_GUID(IID_IImageInformation,0x7c907864,0x346c,0x4aeb,0x8f,0x3f,0x57,0xda,0x28,0x9f,0x96,0x9f);")
cpp_quote("")
cpp_quote("// {81DDC1B8-9D35-47A6-B471-5B80F519223B}")
cpp_quote("DEFINE_GUID(IID_ICategory,0x81ddc1b8,0x9d35,0x47a6,0xb4,0x71,0x5b,0x80,0xf5,0x19,0x22,0x3b);")
cpp_quote("")
cpp_quote("// {3A56BFB8-576C-43F7-9335-FE4838FD7E37}")
cpp_quote("DEFINE_GUID(IID_ICategoryCollection,0x3a56bfb8,0x576c,0x43f7,0x93,0x35,0xfe,0x48,0x38,0xfd,0x7e,0x37);")
cpp_quote("")
cpp_quote("// {D9A59339-E245-4DBD-9686-4D5763E39624}")
cpp_quote("DEFINE_GUID(IID_IInstallationBehavior,0xd9a59339,0xe245,0x4dbd,0x96,0x86,0x4d,0x57,0x63,0xe3,0x96,0x24);")
cpp_quote("")
cpp_quote("// {54A2CB2D-9A0C-48B6-8A50-9ABB69EE2D02}")
cpp_quote("DEFINE_GUID(IID_IUpdateDownloadContent,0x54a2cb2d,0x9a0c,0x48b6,0x8a,0x50,0x9a,0xbb,0x69,0xee,0x2d,0x02);")
cpp_quote("")
cpp_quote("// {C97AD11B-F257-420B-9D9F-377F733F6F68}")
cpp_quote("DEFINE_GUID(IID_IUpdateDownloadContent2,0xc97ad11b,0xf257,0x420b,0x9d,0x9f,0x37,0x7f,0x73,0x3f,0x6f,0x68);")
cpp_quote("")
cpp_quote("// {BC5513C8-B3B8-4BF7-A4D4-361C0D8C88BA}")
cpp_quote("DEFINE_GUID(IID_IUpdateDownloadContentCollection,0xbc5513c8,0xb3b8,0x4bf7,0xa4,0xd4,0x36,0x1c,0x0d,0x8c,0x88,0xba);")
cpp_quote("")
cpp_quote("// {6A92B07A-D821-4682-B423-5C805022CC4D}")
cpp_quote("DEFINE_GUID(IID_IUpdate,0x6a92b07a,0xd821,0x4682,0xb4,0x23,0x5c,0x80,0x50,0x22,0xcc,0x4d);")
cpp_quote("")
cpp_quote("// {144fe9b0-d23d-4a8b-8634-fb4457533b7a}")
cpp_quote("DEFINE_GUID(IID_IUpdate2,0x144fe9b0,0xd23d,0x4a8b,0x86,0x34,0xfb,0x44,0x57,0x53,0x3b,0x7a);")
cpp_quote("")
cpp_quote("// {112EDA6B-95B3-476F-9D90-AEE82C6B8181}")
cpp_quote("DEFINE_GUID(IID_IUpdate3,0x112EDA6B,0x95B3,0x476F,0x9D,0x90,0xAE,0xE8,0x2C,0x6B,0x81,0x81);")
cpp_quote("")
cpp_quote("// {27E94B0D-5139-49A2-9A61-93522DC54652}")
cpp_quote("DEFINE_GUID(IID_IUpdate4,0x27e94b0d,0x5139,0x49a2,0x9a, 0x61, 0x93, 0x52, 0x2d, 0xc5, 0x46, 0x52);")
cpp_quote("")
cpp_quote("// {C1C2F21A-D2F4-4902-B5C6-8A081C19A890}")
cpp_quote("DEFINE_GUID(IID_IUpdate5,0xc1c2f21a,0xd2f4,0x4902,0xb5, 0xc6, 0x8a, 0x08, 0x1c, 0x19, 0xa8, 0x90);")
cpp_quote("")
cpp_quote("// {B383CD1A-5CE9-4504-9F63-764B1236F191}")
cpp_quote("DEFINE_GUID(IID_IWindowsDriverUpdate,0xb383cd1a,0x5ce9,0x4504,0x9f,0x63,0x76,0x4b,0x12,0x36,0xf1,0x91);")
cpp_quote("")
cpp_quote("// {615c4269-7a48-43bd-96b7-bf6ca27d6c3e}")
cpp_quote("DEFINE_GUID(IID_IWindowsDriverUpdate2,0x615c4269,0x7a48,0x43bd,0x96,0xb7,0xbf,0x6c,0xa2,0x7d,0x6c,0x3e);")
cpp_quote("")
cpp_quote("// {49EBD502-4A96-41BD-9E3E-4C5057F4250C}")
cpp_quote("DEFINE_GUID(IID_IWindowsDriverUpdate3,0x49EBD502,0x4A96,0x41BD,0x9E,0x3E,0x4C,0x50,0x57,0xF4,0x25,0x0C);")
cpp_quote("")
cpp_quote("// {004C6A2B-0C19-4c69-9F5C-A269B2560DB9}")
cpp_quote("DEFINE_GUID(IID_IWindowsDriverUpdate4,0x004C6A2B,0x0C19,0x4c69,0x9F,0x5C,0xA2,0x69,0xB2,0x56,0x0D,0xB9);")
cpp_quote("")
cpp_quote("// {70CF5C82-8642-42bb-9DBC-0CFD263C6C4F}")
cpp_quote("DEFINE_GUID(IID_IWindowsDriverUpdate5,0x70CF5C82,0x8642,0x42bb,0x9d,0xbc,0x0c,0xfd,0x26,0x3c,0x6c,0x4f);")
cpp_quote("")
cpp_quote("// {0D521700-A372-4bef-828B-3D00C10ADEBD}")
cpp_quote("DEFINE_GUID(IID_IWindowsDriverUpdateEntryCollection,0x0D521700,0xA372,0x4bef,0x82,0x8B,0x3D,0x00,0xC1,0x0A,0xDE,0xBD);")
cpp_quote("")
cpp_quote("// {ED8BFE40-A60B-42ea-9652-817DFCFA23EC}")
cpp_quote("DEFINE_GUID(IID_IWindowsDriverUpdateEntry,0xED8BFE40,0xA60B,0x42ea,0x96,0x52,0x81,0x7D,0xFC,0xFA,0x23,0xEC);")
cpp_quote("")
cpp_quote("// {07F7438C-7709-4CA5-B518-91279288134E}")
cpp_quote("DEFINE_GUID(IID_IUpdateCollection,0x07f7438c,0x7709,0x4ca5,0xb5,0x18,0x91,0x27,0x92,0x88,0x13,0x4e);")
cpp_quote("")
cpp_quote("// {A376DD5E-09D4-427F-AF7C-FED5B6E1C1D6}")
cpp_quote("DEFINE_GUID(IID_IUpdateException,0xa376dd5e,0x09d4,0x427f,0xaf,0x7c,0xfe,0xd5,0xb6,0xe1,0xc1,0xd6);")
cpp_quote("")
cpp_quote("// {A37D00F5-7BB0-4953-B414-F9E98326F2E8}")
cpp_quote("DEFINE_GUID(IID_IInvalidProductLicenseException,0xa37d00f5,0x7bb0,0x4953,0xb4,0x14,0xf9,0xe9,0x83,0x26,0xf2,0xe8);")
cpp_quote("")
cpp_quote("// {A37D00F5-7BB0-4953-B414-F9E98326F2E8}")
cpp_quote("DEFINE_GUID(IID_IUpdateExceptionCollection,0x503626a3,0x8e14,0x4729,0x93,0x55,0x0f,0xe6,0x64,0xbd,0x23,0x21);")
cpp_quote("")
cpp_quote("// {D40CFF62-E08C-4498-941A-01E25F0FD33C}")
cpp_quote("DEFINE_GUID(IID_ISearchResult,0xd40cff62,0xe08c,0x4498,0x94,0x1a,0x01,0xe2,0x5f,0x0f,0xd3,0x3c);")
cpp_quote("")
cpp_quote("// {7366EA16-7A1A-4EA2-B042-973D3E9CD99B}")
cpp_quote("DEFINE_GUID(IID_ISearchJob,0x7366ea16,0x7a1a,0x4ea2,0xb0,0x42,0x97,0x3d,0x3e,0x9c,0xd9,0x9b);")
cpp_quote("")
cpp_quote("// {A700A634-2850-4C47-938A-9E4B6E5AF9A6}")
cpp_quote("DEFINE_GUID(IID_ISearchCompletedCallbackArgs,0xa700a634,0x2850,0x4c47,0x93,0x8a,0x9e,0x4b,0x6e,0x5a,0xf9,0xa6);")
cpp_quote("")
cpp_quote("// {88AEE058-D4B0-4725-A2F1-814A67AE964C}")
cpp_quote("DEFINE_GUID(IID_ISearchCompletedCallback,0x88aee058,0xd4b0,0x4725,0xa2,0xf1,0x81,0x4a,0x67,0xae,0x96,0x4c);")
cpp_quote("")
cpp_quote("// {BE56A644-AF0E-4E0E-A311-C1D8E695CBFF}")
cpp_quote("DEFINE_GUID(IID_IUpdateHistoryEntry,0xbe56a644,0xaf0e,0x4e0e,0xa3,0x11,0xc1,0xd8,0xe6,0x95,0xcb,0xff);")
cpp_quote("")
cpp_quote("// {C2BFB780-4539-4132-AB8C-0A8772013AB6}")
cpp_quote("DEFINE_GUID(IID_IUpdateHistoryEntry2,0xc2bfb780,0x4539,0x4132,0xab,0x8c,0x0a,0x87,0x72,0x01,0x3a,0xb6);")
cpp_quote("")
cpp_quote("// {A7F04F3C-A290-435B-AADF-A116C3357A5C}")
cpp_quote("DEFINE_GUID(IID_IUpdateHistoryEntryCollection,0xa7f04f3c,0xa290,0x435b,0xaa,0xdf,0xa1,0x16,0xc3,0x35,0x7a,0x5c);")
cpp_quote("")
cpp_quote("// {8F45ABF1-F9AE-4B95-A933-F0F66E5056EA}")
cpp_quote("DEFINE_GUID(IID_IUpdateSearcher,0x8f45abf1,0xf9ae,0x4b95,0xa9,0x33,0xf0,0xf6,0x6e,0x50,0x56,0xea);")
cpp_quote("")
cpp_quote("// {4CBDCB2D-1589-4BEB-BD1C-3E582FF0ADD0}")
cpp_quote("DEFINE_GUID(IID_IUpdateSearcher2,0x4cbdcb2d,0x1589,0x4beb,0xbd,0x1c,0x3e,0x58,0x2f,0xf0,0xad,0xd0);")
cpp_quote("")
cpp_quote("// {04C6895D-EAF2-4034-97F3-311DE9BE413A}")
cpp_quote("DEFINE_GUID(IID_IUpdateSearcher3,0x4c6895d,0xeaf2,0x4034,0x97,0xf3,0x31,0x1d,0xe9,0xbe,0x41,0x3a);")
cpp_quote("")
cpp_quote("// {BF99AF76-B575-42AD-8AA4-33CBB5477AF1}")
cpp_quote("DEFINE_GUID(IID_IUpdateDownloadResult,0xbf99af76,0xb575,0x42ad,0x8a,0xa4,0x33,0xcb,0xb5,0x47,0x7a,0xf1);")
cpp_quote("")
cpp_quote("// {DAA4FDD0-4727-4DBE-A1E7-745DCA317144}")
cpp_quote("DEFINE_GUID(IID_IDownloadResult,0xdaa4fdd0,0x4727,0x4dbe,0xa1,0xe7,0x74,0x5d,0xca,0x31,0x71,0x44);")
cpp_quote("")
cpp_quote("// {D31A5BAC-F719-4178-9DBB-5E2CB47FD18A}")
cpp_quote("DEFINE_GUID(IID_IDownloadProgress,0xd31a5bac,0xf719,0x4178,0x9d,0xbb,0x5e,0x2c,0xb4,0x7f,0xd1,0x8a);")
cpp_quote("")
cpp_quote("// {C574DE85-7358-43F6-AAE8-8697E62D8BA7}")
cpp_quote("DEFINE_GUID(IID_IDownloadJob,0xc574de85,0x7358,0x43f6,0xaa,0xe8,0x86,0x97,0xe6,0x2d,0x8b,0xa7);")
cpp_quote("")
cpp_quote("// {FA565B23-498C-47A0-979D-E7D5B1813360}")
cpp_quote("DEFINE_GUID(IID_IDownloadCompletedCallbackArgs,0xfa565b23,0x498c,0x47a0,0x97,0x9d,0xe7,0xd5,0xb1,0x81,0x33,0x60);")
cpp_quote("")
cpp_quote("// {77254866-9F5B-4C8E-B9E2-C77A8530D64B}")
cpp_quote("DEFINE_GUID(IID_IDownloadCompletedCallback,0x77254866,0x9f5b,0x4c8e,0xb9,0xe2,0xc7,0x7a,0x85,0x30,0xd6,0x4b);")
cpp_quote("")
cpp_quote("// {324FF2C6-4981-4B04-9412-57481745AB24}")
cpp_quote("DEFINE_GUID(IID_IDownloadProgressChangedCallbackArgs,0x324ff2c6,0x4981,0x4b04,0x94,0x12,0x57,0x48,0x17,0x45,0xab,0x24);")
cpp_quote("")
cpp_quote("// {8C3F1CDD-6173-4591-AEBD-A56A53CA77C1}")
cpp_quote("DEFINE_GUID(IID_IDownloadProgressChangedCallback,0x8c3f1cdd,0x6173,0x4591,0xae,0xbd,0xa5,0x6a,0x53,0xca,0x77,0xc1);")
cpp_quote("")
cpp_quote("// {68F1C6F9-7ECC-4666-A464-247FE12496C3}")
cpp_quote("DEFINE_GUID(IID_IUpdateDownloader,0x68f1c6f9,0x7ecc,0x4666,0xa4,0x64,0x24,0x7f,0xe1,0x24,0x96,0xc3);")
cpp_quote("")
cpp_quote("// {D940F0F8-3CBB-4FD0-993F-471E7F2328AD}")
cpp_quote("DEFINE_GUID(IID_IUpdateInstallationResult,0xd940f0f8,0x3cbb,0x4fd0,0x99,0x3f,0x47,0x1e,0x7f,0x23,0x28,0xad);")
cpp_quote("")
cpp_quote("// {A43C56D6-7451-48D4-AF96-B6CD2D0D9B7A}")
cpp_quote("DEFINE_GUID(IID_IInstallationResult,0xa43c56d6,0x7451,0x48d4,0xaf,0x96,0xb6,0xcd,0x2d,0x0d,0x9b,0x7a);")
cpp_quote("")
cpp_quote("// {345C8244-43A3-4E32-A368-65F073B76F36}")
cpp_quote("DEFINE_GUID(IID_IInstallationProgress,0x345c8244,0x43a3,0x4e32,0xa3,0x68,0x65,0xf0,0x73,0xb7,0x6f,0x36);")
cpp_quote("")
cpp_quote("// {5C209F0B-BAD5-432A-9556-4699BED2638A}")
cpp_quote("DEFINE_GUID(IID_IInstallationJob,0x5c209f0b,0xbad5,0x432a,0x95,0x56,0x46,0x99,0xbe,0xd2,0x63,0x8a);")
cpp_quote("")
cpp_quote("// {250E2106-8EFB-4705-9653-EF13C581B6A1}")
cpp_quote("DEFINE_GUID(IID_IInstallationCompletedCallbackArgs,0x250e2106,0x8efb,0x4705,0x96,0x53,0xef,0x13,0xc5,0x81,0xb6,0xa1);")
cpp_quote("")
cpp_quote("// {45F4F6F3-D602-4F98-9A8A-3EFA152AD2D3}")
cpp_quote("DEFINE_GUID(IID_IInstallationCompletedCallback,0x45f4f6f3,0xd602,0x4f98,0x9a,0x8a,0x3e,0xfa,0x15,0x2a,0xd2,0xd3);")
cpp_quote("")
cpp_quote("// {E4F14E1E-689D-4218-A0B9-BC189C484A01}")
cpp_quote("DEFINE_GUID(IID_IInstallationProgressChangedCallbackArgs,0xe4f14e1e,0x689d,0x4218,0xa0,0xb9,0xbc,0x18,0x9c,0x48,0x4a,0x01);")
cpp_quote("")
cpp_quote("// {E01402D5-F8DA-43BA-A012-38894BD048F1}")
cpp_quote("DEFINE_GUID(IID_IInstallationProgressChangedCallback,0xe01402d5,0xf8da,0x43ba,0xa0,0x12,0x38,0x89,0x4b,0xd0,0x48,0xf1);")
cpp_quote("")
cpp_quote("// {7B929C68-CCDC-4226-96B1-8724600B54C2}")
cpp_quote("DEFINE_GUID(IID_IUpdateInstaller,0x7b929c68,0xccdc,0x4226,0x96,0xb1,0x87,0x24,0x60,0x0b,0x54,0xc2);")
cpp_quote("")
cpp_quote("// {3442d4fe-224d-4cee-98cf-30e0c4d229e6}")
cpp_quote("DEFINE_GUID(IID_IUpdateInstaller2,0x3442d4fe,0x224d,0x4cee,0x98,0xcf,0x30,0xe0,0xc4,0xd2,0x29,0xe6);")
cpp_quote("")
cpp_quote("// {816858A4-260D-4260-933A-2585F1ABC76B}")
cpp_quote("DEFINE_GUID(IID_IUpdateSession,0x816858a4,0x260d,0x4260,0x93,0x3a,0x25,0x85,0xf1,0xab,0xc7,0x6b);")
cpp_quote("")
cpp_quote("// {91CAF7B0-EB23-49ED-9937-C52D817F46F7}")
cpp_quote("DEFINE_GUID(IID_IUpdateSession2,0x91caf7b0,0xeb23,0x49ed,0x99,0x37,0xc5,0x2d,0x81,0x7f,0x46,0xf7);")
cpp_quote("")
cpp_quote("// {918EFD1E-B5D8-4c90-8540-AEB9BDC56F9D}")
cpp_quote("DEFINE_GUID(IID_IUpdateSession3,0x918efd1e,0xb5d8,0x4c90,0x85,0x40,0xae,0xb9,0xbd,0xc5,0x6f,0x9d);")
cpp_quote("")
cpp_quote("// {76B3B17E-AED6-4DA5-85F0-83587F81ABE3}")
cpp_quote("DEFINE_GUID(IID_IUpdateService,0x76b3b17e,0xaed6,0x4da5,0x85,0xf0,0x83,0x58,0x7f,0x81,0xab,0xe3);")
cpp_quote("")
cpp_quote("// {1518B460-6518-4172-940F-C75883B24CEB}")
cpp_quote("DEFINE_GUID(IID_IUpdateService2,0x1518b460,0x6518,0x4172,0x94,0x0f,0xc7,0x58,0x83,0xb2,0x4c,0xeb);")
cpp_quote("")
cpp_quote("// {9B0353AA-0E52-44FF-B8B0-1F7FA0437F88}")
cpp_quote("DEFINE_GUID(IID_IUpdateServiceCollection,0x9b0353aa,0x0e52,0x44ff,0xb8,0xb0,0x1f,0x7f,0xa0,0x43,0x7f,0x88);")
cpp_quote("")
cpp_quote("// {DDE02280-12B3-4E0B-937B-6747F6ACB286}")
cpp_quote("DEFINE_GUID(IID_IUpdateServiceRegistration,0xdde02280,0x12b3,0x4e0b,0x93,0x7b,0x67,0x47,0xf6,0xac,0xb2,0x86);")
cpp_quote("")
cpp_quote("// {23857E3C-02BA-44A3-9423-B1C900805F37}")
cpp_quote("DEFINE_GUID(IID_IUpdateServiceManager,0x23857E3C,0x02BA,0x44A3,0x94,0x23,0xB1,0xC9,0x00,0x80,0x5F,0x37);")
cpp_quote("")
cpp_quote("// {0BB8531D-7E8D-424F-986C-A0B8F60A3E7B}")
cpp_quote("DEFINE_GUID(IID_IUpdateServiceManager2,0x0BB8531D,0x7E8D,0x424F,0x98,0x6C,0xA0,0xB8,0xF6,0x0A,0x3E,0x7B);")
cpp_quote("")
cpp_quote("// {925CBC18-A2EA-4648-BF1C-EC8BADCFE20A}")
cpp_quote("DEFINE_GUID(IID_IInstallationAgent,0x925CBC18,0xA2EA,0x4648,0xBF,0x1C,0xEC,0x8B,0xAD,0xCF,0xE2,0x0A);")
cpp_quote("")
cpp_quote("// {72C97D74-7C3B-40AE-B77D-ABDB22EBA6FB}")
cpp_quote("DEFINE_GUID(CLSID_StringCollection,0x72C97D74,0x7C3B,0x40AE,0xB7,0x7D,0xAB,0xDB,0x22,0xEB,0xA6,0xFB);")
cpp_quote("")
cpp_quote("// {B699E5E8-67FF-4177-88B0-3684A3388BFB}")
cpp_quote("DEFINE_GUID(CLSID_UpdateSearcher,0xB699E5E8,0x67FF,0x4177,0x88,0xB0,0x36,0x84,0xA3,0x38,0x8B,0xFB);")
cpp_quote("")
cpp_quote("// {650503cf-9108-4ddc-a2ce-6c2341e1c582}")
cpp_quote("DEFINE_GUID(CLSID_WebProxy,0x650503cf,0x9108,0x4ddc,0xa2,0xce,0x6c,0x23,0x41,0xe1,0xc5,0x82);")
cpp_quote("")
cpp_quote("// {C01B9BA0-BEA7-41BA-B604-D0A36F469133}")
cpp_quote("DEFINE_GUID(CLSID_SystemInformation,0xC01B9BA0,0xBEA7,0x41BA,0xB6,0x04,0xD0,0xA3,0x6F,0x46,0x91,0x33);")
cpp_quote("")
cpp_quote("// {C2E88C2F-6F5B-4AAA-894B-55C847AD3A2D}")
cpp_quote("DEFINE_GUID(CLSID_WindowsUpdateAgentInfo,0xC2E88C2F,0x6F5B,0x4AAA,0x89,0x4B,0x55,0xC8,0x47,0xAD,0x3A,0x2D);")
cpp_quote("")
cpp_quote("// {BFE18E9C-6D87-4450-B37C-E02F0B373803}")
cpp_quote("DEFINE_GUID(CLSID_AutomaticUpdates,0xBFE18E9C,0x6D87,0x4450,0xB3,0x7C,0xE0,0x2F,0x0B,0x37,0x38,0x03);")
cpp_quote("")
cpp_quote("// {13639463-00DB-4646-803D-528026140D88}")
cpp_quote("DEFINE_GUID(CLSID_UpdateCollection,0x13639463,0x00DB,0x4646,0x80,0x3D,0x52,0x80,0x26,0x14,0x0D,0x88);")
cpp_quote("")
cpp_quote("// {5BAF654A-5A07-4264-A255-9FF54C7151E7}")
cpp_quote("DEFINE_GUID(CLSID_UpdateDownloader,0x5BAF654A,0x5A07,0x4264,0xA2,0x55,0x9F,0xF5,0x4C,0x71,0x51,0xE7);")
cpp_quote("")
cpp_quote("// {D2E0FE7F-D23E-48E1-93C0-6FA8CC346474}")
cpp_quote("DEFINE_GUID(CLSID_UpdateInstaller,0xD2E0FE7F,0xD23E,0x48E1,0x93,0xC0,0x6F,0xA8,0xCC,0x34,0x64,0x74);")
cpp_quote("")
cpp_quote("// {4CB43D7F-7EEE-4906-8698-60DA1C38F2FE}")
cpp_quote("DEFINE_GUID(CLSID_UpdateSession,0x4CB43D7F,0x7EEE,0x4906,0x86,0x98,0x60,0xDA,0x1C,0x38,0xF2,0xFE);")
cpp_quote("")
cpp_quote("// {F8D253D9-89A4-4DAA-87B6-1168369F0B21}")
cpp_quote("DEFINE_GUID(CLSID_UpdateServiceManager,0xF8D253D9,0x89A4,0x4DAA,0x87,0xB6,0x11,0x68,0x36,0x9F,0x0B,0x21);")
cpp_quote("")
cpp_quote("// {317E92FC-1679-46FD-A0B5-F08914DD8623}")
cpp_quote("DEFINE_GUID(CLSID_InstallationAgent,0x317E92FC,0x1679,0x46FD,0xA0,0xB5,0xF0,0x89,0x14,0xDD,0x86,0x23);")
cpp_quote("")
#ifndef DO_NO_IMPORTS
import "oaidl.idl";
#endif
[
helpstring(
"Defines possible ways in which elevated users will be notified about "
"Automatic Updates events."),
v1_enum
]
typedef [public] enum tagAutomaticUpdatesNotificationLevel
{
[helpstring("Not configured")] aunlNotConfigured = 0,
[helpstring("Disabled")] aunlDisabled = 1,
[helpstring("Notify before download")] aunlNotifyBeforeDownload = 2,
[helpstring("Notify before installation")] aunlNotifyBeforeInstallation = 3,
[helpstring("Scheduled installation")] aunlScheduledInstallation = 4,
} AutomaticUpdatesNotificationLevel;
[
helpstring(
"Defines possible day(s) of week when Automatic Updates may "
"(un)install updates."),
v1_enum
]
typedef [public] enum tagAutomaticUpdatesScheduledInstallationDay
{
[helpstring("Every Day")] ausidEveryDay = 0,
[helpstring("Every Sunday")] ausidEverySunday = 1,
[helpstring("Every Monday")] ausidEveryMonday = 2,
[helpstring("Every Tuesday")] ausidEveryTuesday = 3,
[helpstring("Every Wednesday")] ausidEveryWednesday = 4,
[helpstring("Every Thursday")] ausidEveryThursday = 5,
[helpstring("Every Friday")] ausidEveryFriday = 6,
[helpstring("Every Saturday")] ausidEverySaturday = 7,
} AutomaticUpdatesScheduledInstallationDay;
[
helpstring("Defines the possible phases during a download operation."),
v1_enum
]
typedef [public] enum tagDownloadPhase
{
[helpstring("Initializing")] dphInitializing = 1,
[helpstring("Downloading")] dphDownloading = 2,
[helpstring("Verifying")] dphVerifying = 3,
} DownloadPhase;
[
helpstring("Defines possible priorities for a download operation."),
v1_enum
]
typedef [public] enum tagDownloadPriority
{
[helpstring("Low")] dpLow = 1,
[helpstring("Normal")] dpNormal = 2,
[helpstring("High")] dpHigh = 3,
} DownloadPriority;
[
helpstring("Defines possible auto selection modes of update."),
v1_enum
]
typedef [public] enum tagAutoSelectionMode
{
[helpstring("Let windows update decide")] asLetWindowsUpdateDecide = 0,
[helpstring("Auto select if downloaded")] asAutoSelectIfDownloaded = 1,
[helpstring("Never auto select")] asNeverAutoSelect = 2,
[helpstring("Always auto select")] asAlwaysAutoSelect = 3,
} AutoSelectionMode;
[
helpstring("Defines possible auto download modes of update."),
v1_enum
]
typedef [public] enum tagAutoDownloadMode
{
[helpstring("Let windows update decide")] adLetWindowsUpdateDecide = 0,
[helpstring("Never auto download")] adNeverAutoDownload = 1,
[helpstring("Always auto download")] adAlwaysAutoDownload = 2,
} AutoDownloadMode;
[
helpstring(
"Defines possible levels of impact that may be caused by (un)installing"
" an Update."),
v1_enum
]
typedef [public] enum tagInstallationImpact
{
[helpstring("Normal")] iiNormal = 0,
[helpstring("Minor")] iiMinor = 1,
[helpstring("Requires exclusive handling")] iiRequiresExclusiveHandling = 2,
} InstallationImpact;
[
helpstring(
"Defines possible reboot behaviors exhibited by an Update during "
"(un)installation."),
v1_enum
]
typedef [public] enum tagInstallationRebootBehavior
{
[helpstring("Never reboots")] irbNeverReboots = 0,
[helpstring("Always requires reboot")] irbAlwaysRequiresReboot = 1,
[helpstring("Can request reboot")] irbCanRequestReboot = 2,
} InstallationRebootBehavior;
[
helpstring(
"Defines possible results of a download, (un)install, or verification "
"operation on an update."),
v1_enum
]
typedef [public] enum tagOperationResultCode
{ /* In the order of significance */
[helpstring("Not started")] orcNotStarted = 0,
[helpstring("In progress")] orcInProgress = 1,
[helpstring("Succeeded")] orcSucceeded = 2,
[helpstring("Succeeded with errors")] orcSucceededWithErrors = 3,
[helpstring("Failed")] orcFailed = 4,
[helpstring("Aborted")] orcAborted = 5,
} OperationResultCode;
[
helpstring(
"Defines possible server selections the Searcher can search against."),
v1_enum
]
typedef [public] enum tagServerSelection
{
[helpstring("Default")] ssDefault = 0,
[helpstring("Managed server")] ssManagedServer = 1,
[helpstring("Windows Update")] ssWindowsUpdate = 2,
[helpstring("Others")] ssOthers = 3,
} ServerSelection;
[
helpstring("Defines possible types of an update."),
v1_enum
]
typedef [public] enum tagUpdateType
{
[helpstring("Software")] utSoftware = 1,
[helpstring("Driver")] utDriver = 2,
} UpdateType;
[
helpstring(
"Defines operations that can be attempted on an Update."),
v1_enum
]
typedef [public] enum tagUpdateOperation
{
[helpstring("Installation")] uoInstallation = 1,
[helpstring("Uninstallation")] uoUninstallation = 2,
} UpdateOperation;
[
helpstring("Defines actions an Update can be explicitly deployed for."),
v1_enum
]
typedef [public] enum tagDeploymentAction
{
[helpstring("None")] daNone = 0,
[helpstring("Installation")] daInstallation = 1,
[helpstring("Uninstallation")] daUninstallation = 2,
[helpstring("Detection")] daDetection = 3,
} DeploymentAction;
[
helpstring("Defines contexts under which an UpdateException can be raised."),
v1_enum
]
typedef [public] enum tagUpdateExceptionContext
{
[helpstring("General")] uecGeneral = 1,
[helpstring("WindowsDriver")] uecWindowsDriver = 2,
[helpstring("WindowsInstaller")] uecWindowsInstaller = 3,
} UpdateExceptionContext;
[
helpstring("Defines types of users whose permissions can be checked "
"via IAutomaticUpdatesSettings2.CheckPermission."),
v1_enum
]
typedef [public] enum tagAutomaticUpdatesUserType
{
[helpstring("The current user")] auutCurrentUser = 1,
[helpstring("An administrative account calling locally")] auutLocalAdministrator = 2,
} AutomaticUpdatesUserType;
[
helpstring("Defines operations against which users' permissions can "
"be checked via IAutomaticUpdatesSettings2::CheckPermission()."),
v1_enum
]
typedef [public] enum tagAutomaticUpdatesPermissionType
{
[helpstring("Set AU notification level")] auptSetNotificationLevel = 1,
[helpstring("Set AU notification level to Disabled")] auptDisableAutomaticUpdates = 2,
[helpstring("Set AU setting for recommended updates")] auptSetIncludeRecommendedUpdates = 3,
[helpstring("Set AU setting for featured updates")] auptSetFeaturedUpdatesEnabled = 4,
[helpstring("Set AU setting to increase priviliges for non administrator")] auptSetNonAdministratorsElevated = 5,
} AutomaticUpdatesPermissionType;
[
helpstring("Defines possible states of service registration."),
v1_enum
]
typedef [public] enum tagUpdateServiceRegistrationState
{
[helpstring("Not registered")] usrsNotRegistered = 1,
[helpstring("Registration pending")] usrsRegistrationPending = 2,
[helpstring("Registered")] usrsRegistered = 3,
} UpdateServiceRegistrationState;
[
helpstring("Defines possible search scopes for a search call. The scope may indicate user updates"
"for the calling user updates for all users, machine updates or a combination of these."),
v1_enum
]
typedef [public] enum tagSearchScope
{
[helpstring("Default search scope")] searchScopeDefault = 0,
[helpstring("Machine updates only")] searchScopeMachineOnly = 1,
[helpstring("Per-user updates applicable to the calling user only")] searchScopeCurrentUserOnly = 2,
[helpstring("Machine updates and per-user updates applicable to the calling user")] searchScopeMachineAndCurrentUser = 3,
[helpstring("Machine updates and per-user updates applicable to any user")] searchScopeMachineAndAllUsers = 4,
[helpstring("Per-user updates applicable to any user")] searchScopeAllUsers = 5
}SearchScope;
// Deprecated. Use UpdateLockdownOption.uloForWebsiteAccess instead.
const LONG UPDATE_LOCKDOWN_WEBSITE_ACCESS = 0x00000001;
//Forward declarations
interface ICategoryCollection;
interface IUpdateCollection;
interface IUpdate;
interface IUpdateServiceManager2;
[
helpstring("IUpdateLockdown Interface"),
object,
oleautomation,
nonextensible,
uuid(a976c28d-75a1-42aa-94ae-8af8b872089a),
pointer_default(unique)
]
interface IUpdateLockdown : IUnknown
{
//methods:
[
id(0x60010001),
helpstring("Restricts access to functionality the object provides.")
]
HRESULT LockDown(
[in] LONG flags);
}
[
helpstring("IStringCollection Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(eff90582-2ddc-480f-a06d-60f3fbc362c3),
pointer_default(unique),
hidden // already exposed by a class
]
interface IStringCollection : IDispatch
{
//properties:
[
id(DISPID_VALUE),
propget,
helpstring("Gets an element in the collection.")
]
HRESULT Item(
[in] LONG index,
[out, retval] BSTR* retval);
[
id(DISPID_VALUE),
propput,
helpstring("Sets an element in the collection.")
]
HRESULT Item(
[in] LONG index,
[in] BSTR value);
[
id(DISPID_NEWENUM),
propget,
helpstring(
"Gets an IEnumVARIANT interface on an object that can be used to "
"enumerate the collection.")
]
HRESULT _NewEnum(
[out, retval] IUnknown** retval);
[
id(0x60020001),
propget,
helpstring("Gets the number of elements contained in the collection.")
]
HRESULT Count(
[out, retval] LONG* retval);
[
id(0x60020002),
propget,
helpstring(
"Gets a boolean value indicating whether the collection is "
"read-only.")
]
HRESULT ReadOnly(
[out, retval] VARIANT_BOOL* retval);
//methods:
[
id(0x60020003),
helpstring("Adds an item to the collection.")
]
HRESULT Add(
[in] BSTR value,
[out, retval] LONG* retval);
[
id(0x60020004),
helpstring("Removes all elements from the collection.")
]
HRESULT Clear( );
[
id(0x60020005),
helpstring("Creates a deep read-writable copy of the collection.")
]
HRESULT Copy(
[out, retval] IStringCollection** retval);
[
id(0x60020006),
helpstring(
"Inserts an item to the collection at the specified position.")
]
HRESULT Insert(
[in] LONG index,
[in] BSTR value);
[
id(0x60020007),
helpstring(
"Removes the item at the specified index from the collection.")
]
HRESULT RemoveAt(
[in] LONG index);
}
[
helpstring("IWebProxy Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(174c81fe-aecd-4dae-b8a0-2c6318dd86a8),
pointer_default(unique),
]
interface IWebProxy : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring("Gets the address of the proxy server.")
]
HRESULT Address(
[out, retval] BSTR* retval);
[
id(0x60020001),
propput,
helpstring("Sets the address of the proxy server.")
]
HRESULT Address(
[in] BSTR value);
[
id(0x60020002),
propget,
helpstring(
"Gets a collection of addresses that do not use the proxy server.")
]
HRESULT BypassList(
[out, retval] IStringCollection** retval);
[
id(0x60020002),
propput,
helpstring(
"Sets a collection of addresses that do not use the proxy server.")
]
HRESULT BypassList(
[in] IStringCollection* value);
[
id(0x60020003),
propget,
helpstring(
"Gets a value indicating whether to bypass the proxy server for "
"local addresses.")
]
HRESULT BypassProxyOnLocal(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020003),
propput,
helpstring(
"Sets a value indicating whether to bypass the proxy server for "
"local addresses.")
]
HRESULT BypassProxyOnLocal(
[in] VARIANT_BOOL value);
[
id(0x60020004),
propget,
helpstring(
"Gets a boolean value indicating whether the WebProxy object is "
"read-only.")
]
HRESULT ReadOnly(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020005),
propget,
helpstring(
"Gets the user name to submit to the proxy server for "
"authentication.")
]
HRESULT UserName(
[out, retval] BSTR* retval);
[
id(0x60020005),
propput,
helpstring(
"Sets the user name to submit to the proxy server for authentication.")
]
HRESULT UserName(
[in] BSTR value);
//methods:
[
id(0x60020006),
helpstring(
"Sets the password to submit to the proxy server for "
"authentication.")
]
HRESULT SetPassword(
[in] BSTR value);
[
id(0x60020007),
helpstring(
"Launches the Credentials UI to prompt user for password for proxy "
"authentication.")
]
HRESULT PromptForCredentials(
[in, unique] IUnknown* parentWindow,
[in] BSTR title);
[
id(0x60020008),
restricted,
helpstring(
"Launches the Credentials UI to prompt user for password for proxy "
"authentication.")
]
HRESULT PromptForCredentialsFromHwnd(
[in, unique] HWND parentWindow,
[in] BSTR title);
//properties:
[
id(0x60020009),
propget,
helpstring("Indicates whether to automatically detect proxy settings.")
]
HRESULT AutoDetect(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020009),
propput,
helpstring("Specifies whether to automatically detect proxy settings.")
]
HRESULT AutoDetect(
[in] VARIANT_BOOL value);
}
[
helpstring("ISystemInformation Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(ade87bf7-7b56-4275-8fab-b9b0e591844b),
pointer_default(unique),
hidden // already exposed by a class
]
interface ISystemInformation : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring(
"Gets the hyperlink to the support information on the OEM "
"hardware.")
]
HRESULT OemHardwareSupportLink(
[out, retval] BSTR* retval);
[
id(0x60020002),
propget,
helpstring(
"Gets a value indicating whether a system reboot is required to "
"complete (un)installation of one or more Updates.")
]
HRESULT RebootRequired(
[out, retval] VARIANT_BOOL* retval);
}
[
helpstring("IWindowsUpdateAgentInfo Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(85713fa1-7796-4fa2-be3b-e2d6124dd373),
pointer_default(unique),
hidden // already exposed by a class
]
interface IWindowsUpdateAgentInfo : IDispatch
{
//methods:
[
id(0x60020001),
helpstring(
"Get Windows Update Agent Info.")
]
HRESULT GetInfo(
[in] VARIANT varInfoIdentifier,
[out, retval] VARIANT* retval);
}
[
helpstring("IAutomaticUpdatesResults Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(E7A4D634-7942-4DD9-A111-82228BA33901),
pointer_default(unique)
]
interface IAutomaticUpdatesResults : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring("Returns the date and time of the last successful search for updates.")
]
HRESULT LastSearchSuccessDate(
[out, retval] VARIANT* retval);
[
id(0x60020002),
propget,
helpstring("Returns the date and time of the last successful installation of updates.")
]
HRESULT LastInstallationSuccessDate(
[out, retval] VARIANT* retval);
}
[
helpstring("IAutomaticUpdatesSettings Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(2ee48f22-af3c-405f-8970-f71be12ee9a2),
pointer_default(unique)
]
interface IAutomaticUpdatesSettings : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring(
"Indicates how elevated users will be notified about Automatic "
"Updates events.")
]
HRESULT NotificationLevel(
[out, retval] AutomaticUpdatesNotificationLevel* retval);
[
id(0x60020001),
propput,
helpstring(
"Specifies how elevated users will be notified about Automatic "
"Updates events.")
]
HRESULT NotificationLevel(
[in] AutomaticUpdatesNotificationLevel value);
[
id(0x60020002),
propget,
helpstring("Indicates whether the settings are read-only.")
]
HRESULT ReadOnly(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020003),
propget,
helpstring(
"Indicates whether the Automatic Updates service is required by "
"Group Policy.")
]
HRESULT Required(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020004),
propget,
helpstring(
"Indicates which day(s) of week Automatic Updates may (un)install "
"updates.")
]
HRESULT ScheduledInstallationDay(
[out, retval] AutomaticUpdatesScheduledInstallationDay* retval);
[
id(0x60020004),
propput,
helpstring(
"Specifies which day(s) of week Automatic Updates may (un)install "
"updates.")
]
HRESULT ScheduledInstallationDay(
[in] AutomaticUpdatesScheduledInstallationDay value);
[
id(0x60020005),
propget,
helpstring(
"Indicates the time when Automatic Updates may (un)install "
"updates.")
]
HRESULT ScheduledInstallationTime(
[out, retval] LONG* retval);
[
id(0x60020005),
propput,
helpstring(
"Specifies the time when Automatic Updates may (un)install "
"updates.")
]
HRESULT ScheduledInstallationTime(
[in] LONG value);
//methods:
[
id(0x60020006),
helpstring("Gets the up-to-date settings.")
]
HRESULT Refresh();
[
id(0x60020007),
helpstring("Applies the settings.")
]
HRESULT Save();
}
[
helpstring("IAutomaticUpdatesSettings2 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(6abc136a-c3ca-4384-8171-cb2b1e59b8dc),
pointer_default(unique)
]
interface IAutomaticUpdatesSettings2 : IAutomaticUpdatesSettings
{
//properties:
[
id(0x60030001),
propget,
helpstring(
"Indicates whether to include recommended updates.")
]
HRESULT IncludeRecommendedUpdates(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60030001),
propput,
helpstring(
"Specifies whether to include recommended updates.")
]
HRESULT IncludeRecommendedUpdates(
[in] VARIANT_BOOL value);
//methods:
[
id(0x60030002),
helpstring(
"Determines whether a class of users has permission to perform "
"the specified action.")
]
HRESULT CheckPermission(
[in] AutomaticUpdatesUserType userType,
[in] AutomaticUpdatesPermissionType permissionType,
[out, retval] VARIANT_BOOL* userHasPermission);
}
[
helpstring("IAutomaticUpdatesSettings3 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(b587f5c3-f57e-485f-bbf5-0d181c5cd0dc),
pointer_default(unique)
]
interface IAutomaticUpdatesSettings3 : IAutomaticUpdatesSettings2
{
//properties:
[
id(0x60040001),
propget,
helpstring(
"Reports whether non-administrators can perform some update-related actions without administrator approval.")
]
HRESULT NonAdministratorsElevated(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60040001),
propput,
helpstring(
"Controls whether non-administrators can perform some update-related actions without administrator approval.")
]
HRESULT NonAdministratorsElevated(
[in] VARIANT_BOOL value);
[
id(0x60040002),
propget,
helpstring(
"Reports whether to display notifications for featured updates.")
]
HRESULT FeaturedUpdatesEnabled(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60040002),
propput,
helpstring(
"Controls whether to display notifications for featured updates.")
]
HRESULT FeaturedUpdatesEnabled(
[in] VARIANT_BOOL value);
}
[
helpstring("IAutomaticUpdates Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(673425bf-c082-4c7c-bdfd-569464b8e0ce),
pointer_default(unique)
]
interface IAutomaticUpdates : IDispatch
{
//methods:
[
id(0x60020001),
helpstring("Triggers automatic updating now if it is not yet started.")
]
HRESULT DetectNow();
[
id(0x60020002),
helpstring("Pauses automatic updating.")
]
HRESULT Pause();
[
id(0x60020003),
helpstring("Resumes automatic updating if paused.")
]
HRESULT Resume();
[
id(0x60020004),
helpstring(
"Display a dialog box showing settings for Automatic Updates.")
]
HRESULT ShowSettingsDialog();
//properties:
[
id(0x60020005),
propget,
helpstring("Returns the settings to configure Automatic Updates.")
]
HRESULT Settings(
[out, retval] IAutomaticUpdatesSettings** retval);
[
id(0x60020006),
propget,
helpstring(
"Indicates whether all the components that Automatic Updates "
"requires are up and running.")
]
HRESULT ServiceEnabled(
[out, retval] VARIANT_BOOL* retval);
//methods:
[
id(0x60020007),
helpstring(
"Enables all the components that Automatic Updates requires.")
]
HRESULT EnableService();
}
[
helpstring("IAutomaticUpdates2 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(4A2F5C31-CFD9-410E-B7FB-29A653973A0F),
pointer_default(unique),
hidden // already exposed by a class
]
interface IAutomaticUpdates2 : IAutomaticUpdates
{
//properties:
[
id(0x60030001),
propget,
helpstring(
"Gets an IAutomaticUpdatesResults interface for querying "
"results of past Automatic Updates operations.")
]
HRESULT Results(
[out, retval] IAutomaticUpdatesResults** retval);
}
[
helpstring("IUpdateIdentity Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(46297823-9940-4c09-aed9-cd3ea6d05968),
pointer_default(unique)
]
interface IUpdateIdentity : IDispatch
{
//properties:
[
id(0x60020002),
propget,
helpstring("Gets the revision number of the Update.")
]
HRESULT RevisionNumber(
[out, retval] LONG* retval);
[
id(0x60020003),
propget,
helpstring(
"Gets a string identifying the Update in a globally-unique manner.")
]
HRESULT UpdateID(
[out, retval] BSTR* retval);
}
[
helpstring("IImageInformation Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(7c907864-346c-4aeb-8f3f-57da289f969f),
pointer_default(unique),
]
interface IImageInformation : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring("Gets the ATL text of the image.")
]
HRESULT AltText(
[out, retval] BSTR* retval);
[
id(0x60020002),
propget,
helpstring("Gets the height of the image, in pixels.")
]
HRESULT Height(
[out, retval] LONG* retval);
[
id(0x60020003),
propget,
helpstring("Gets the source location of the image.")
]
HRESULT Source(
[out, retval] BSTR* retval);
[
id(0x60020004),
propget,
helpstring("Gets the width of the image, in pixels.")
]
HRESULT Width(
[out, retval] LONG* retval);
}
[
helpstring("ICategory Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(81ddc1b8-9d35-47a6-b471-5b80f519223b),
pointer_default(unique),
]
interface ICategory : IDispatch
{
//properties:
[
id(DISPID_VALUE),
propget,
helpstring("Gets the localized name of the Category.")
]
HRESULT Name(
[out, retval] BSTR* retval);
[
id(0x60020001),
propget,
helpstring("Gets the category ID of the Category.")
]
HRESULT CategoryID(
[out, retval] BSTR* retval);
[
id(0x60020002),
propget,
helpstring("Gets the children of the Category.")
]
HRESULT Children(
[out, retval] ICategoryCollection** retval);
[
id(0x60020003),
propget,
helpstring("Gets the description of the Category.")
]
HRESULT Description(
[out, retval] BSTR* retval);
[
id(0x60020004),
propget,
helpstring(
"Gets information on the image associated with the Category.")
]
HRESULT Image(
[out, retval] IImageInformation** retval);
[
id(0x60020005),
propget,
helpstring(
"Gets the recommended display order of the Category among its "
"siblings.")
]
HRESULT Order(
[out, retval] LONG* retval);
[
id(0x60020006),
propget,
helpstring("Gets the parent of the Category.")
]
HRESULT Parent(
[out, retval] ICategory** retval);
[
id(0x60020007),
propget,
helpstring("Gets the type of the Category.")
]
HRESULT Type(
[out, retval] BSTR* retval);
[
id(0x60020008),
propget,
helpstring("Gets the updates which immediately belong to the Category.")
]
HRESULT Updates(
[out, retval] IUpdateCollection** retval);
}
[
helpstring("ICategoryCollection Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(3a56bfb8-576c-43f7-9335-fe4838fd7e37),
pointer_default(unique),
]
interface ICategoryCollection : IDispatch
{
//properties:
[
id(DISPID_VALUE),
propget,
helpstring("Gets an element in the collection.")
]
HRESULT Item(
[in] LONG index,
[out, retval] ICategory** retval);
[
id(DISPID_NEWENUM),
propget,
helpstring(
"Gets an IEnumVARIANT interface on an object that can be used to "
"enumerate the collection.")
]
HRESULT _NewEnum(
[out, retval] IUnknown** retval);
[
id(0x60020001),
propget,
helpstring("Gets the number of elements contained in the collection.")
]
HRESULT Count(
[out, retval] LONG* retval);
}
[
helpstring("IInstallationBehavior Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(d9a59339-e245-4dbd-9686-4d5763e39624),
pointer_default(unique),
]
interface IInstallationBehavior : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring("Gets a value indicating whether (un)installation of the Update can request user input.")
]
HRESULT CanRequestUserInput(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020002),
propget,
helpstring("Gets a value assessing how (un)installation of the Update will impact the target computer.")
]
HRESULT Impact(
[out, retval] InstallationImpact* retval);
[
id(0x60020003),
propget,
helpstring("Gets a value specifying the reboot behavior exhibited by (un)installing the Update.")
]
HRESULT RebootBehavior(
[out, retval] InstallationRebootBehavior* retval);
[
id(0x60020004),
propget,
helpstring("Gets a value indicating whether (un)installation of the Update requires network connectivity.")
]
HRESULT RequiresNetworkConnectivity(
[out, retval] VARIANT_BOOL* retval);
}
[
helpstring("IUpdateDownloadContent Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(54a2cb2d-9a0c-48b6-8a50-9abb69ee2d02),
pointer_default(unique),
]
interface IUpdateDownloadContent : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring(
"Gets the location of the download content on the hosting server.")
]
HRESULT DownloadUrl(
[out, retval] BSTR* retval);
}
[
helpstring("IUpdateDownloadContent2 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(c97ad11b-f257-420b-9d9f-377f733f6f68),
pointer_default(unique),
]
interface IUpdateDownloadContent2 : IUpdateDownloadContent
{
//properties:
[
id(0x60030001),
propget,
helpstring("Returns whether this forms part of the delta compressed download content.")
]
HRESULT IsDeltaCompressedContent(
[out, retval] VARIANT_BOOL* retval);
}
[
helpstring("IUpdateDownloadContentCollection Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(bc5513c8-b3b8-4bf7-a4d4-361c0d8c88ba),
pointer_default(unique),
]
interface IUpdateDownloadContentCollection : IDispatch
{
//properties:
[
id(DISPID_VALUE),
propget,
helpstring("Gets an element in the collection.")
]
HRESULT Item(
[in] LONG index,
[out, retval] IUpdateDownloadContent** retval);
[
id(DISPID_NEWENUM),
propget,
helpstring(
"Gets an IEnumVARIANT interface on an object that can be used to "
"enumerate the collection.")
]
HRESULT _NewEnum(
[out, retval] IUnknown** retval);
[
id(0x60020001),
propget,
helpstring("Gets the number of elements contained in the collection.")
]
HRESULT Count(
[out, retval] LONG* retval);
}
[
helpstring("IUpdate Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(6a92b07a-d821-4682-b423-5c805022cc4d),
pointer_default(unique),
]
interface IUpdate : IDispatch
{
//properties:
[
id(DISPID_VALUE),
propget,
helpstring("Gets the localized title of the Update.")
]
HRESULT Title(
[out, retval] BSTR* retval);
[
id(0x60020001),
propget,
helpstring(
"Gets a value indicating whether the Update is flagged to be "
"automatically selected by applications such as Windows Update.")
]
HRESULT AutoSelectOnWebSites(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020002),
propget,
helpstring(
"Gets information on the ordered list of bundled updates of the "
"Update.")
]
HRESULT BundledUpdates(
[out, retval] IUpdateCollection** retval);
[
id(0x60020003),
propget,
helpstring(
"Indicates whether the source media of the Update is potentially "
"required for (un)installation.")
]
HRESULT CanRequireSource(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020004),
propget,
helpstring("Gets the categories that the update belongs to.")
]
HRESULT Categories(
[out, retval] ICategoryCollection** retval);
[
id(0x60020005),
propget,
helpstring("Gets the date by which the Update must be installed.")
]
HRESULT Deadline(
[out, retval] VARIANT* retval);
[
id(0x60020006),
propget,
helpstring(
"Indicates whether delta-compressed content is available on the "
"server for the Update.")
]
HRESULT DeltaCompressedContentAvailable(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020007),
propget,
helpstring(
"Indicates whether to prefer delta-compressed content when "
"downloading and/or (un)installing the Update, if such content is "
"available.")
]
HRESULT DeltaCompressedContentPreferred(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020008),
propget,
helpstring("Gets the localized description of the Update.")
]
HRESULT Description(
[out, retval] BSTR* retval);
[
id(0x60020009),
propget,
helpstring(
"Indicates whether the license terms associated with "
"the Update have been accepted for the target computer.")
]
HRESULT EulaAccepted(
[out, retval] VARIANT_BOOL* retval);
[
id(0x6002000a),
propget,
helpstring(
"Gets the full, localized text of the license terms "
"associated with the Update.")
]
HRESULT EulaText(
[out, retval] BSTR* retval);
[
id(0x6002000b),
propget,
helpstring("Gets a value specifying the install handler of the Update.")
]
HRESULT HandlerID(
[out, retval] BSTR* retval);
[
id(0x6002000c),
propget,
helpstring("Gets the globally-unique identity of the Update.")
]
HRESULT Identity(
[out, retval] IUpdateIdentity** retval);
[
id(0x6002000d),
propget,
helpstring(
"Gets information on the image associated with the Update.")
]
HRESULT Image(
[out, retval] IImageInformation** retval);
[
id(0x6002000e),
propget,
helpstring(
"Gets the installation options of the Update.")
]
HRESULT InstallationBehavior(
[out, retval] IInstallationBehavior** retval);
[
id(0x6002000f),
propget,
helpstring(
"Gets a value indicating whether the Update is a beta release.")
]
HRESULT IsBeta(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020010),
propget,
helpstring(
"Indicates whether all of the Update's content is cached on the "
"target computer.")
]
HRESULT IsDownloaded(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020011),
propget,
helpstring(
"Indicates whether the Update has been hidden by the user for "
"installation.")
]
HRESULT IsHidden(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020011),
propput,
helpstring(
"(Un)marks the update as \"hidden\" on the target computer.")
]
HRESULT IsHidden(
[in] VARIANT_BOOL value);
[
id(0x60020012),
propget,
helpstring(
"Indicates whether the Update was installed on the target "
"computer when the search was performed.")
]
HRESULT IsInstalled(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020013),
propget,
helpstring(
"Gets a value indicating whether installation of the Update is "
"mandatory.")
]
HRESULT IsMandatory(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020014),
propget,
helpstring(
"Indicates whether the caller can uninstall the Update, if "
"installed, from the target computer.")
]
HRESULT IsUninstallable(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020015),
propget,
helpstring("Gets the languages that the Update supports.")
]
HRESULT Languages(
[out, retval] IStringCollection** retval);
[
id(0x60020016),
propget,
helpstring("Gets the published date of the Update.")
]
HRESULT LastDeploymentChangeTime(
[out, retval] DATE* retval);
[
id(0x60020017),
propget,
helpstring("Gets the maximum download size of the Update.")
]
HRESULT MaxDownloadSize(
[out, retval] DECIMAL* retval);
[
id(0x60020018),
propget,
helpstring("Gets the minimum download size of the Update.")
]
HRESULT MinDownloadSize(
[out, retval] DECIMAL* retval);
[
id(0x60020019),
propget,
helpstring(
"Gets language-specific strings specifying the hyperlinks to more "
"info on the Update.")
]
HRESULT MoreInfoUrls(
[out, retval] IStringCollection** retval);
[
id(0x6002001a),
propget,
helpstring(
"Gets the Microsoft Security Response Center severity rating of the"
" Update.")
]
HRESULT MsrcSeverity(
[out, retval] BSTR* retval);
[
id(0x6002001b),
propget,
helpstring(
"Gets the recommended CPU speed, in megahertz, for installing the "
"Update.")
]
HRESULT RecommendedCpuSpeed(
[out, retval] LONG* retval);
[
id(0x6002001c),
propget,
helpstring(
"Gets the recommended hard disk free space, in megabytes, for "
"installing the Update.")
]
HRESULT RecommendedHardDiskSpace(
[out, retval] LONG* retval);
[
id(0x6002001d),
propget,
helpstring(
"Gets the recommended physical memory size, in megabytes, for "
"installing the Update.")
]
HRESULT RecommendedMemory(
[out, retval] LONG* retval);
[
id(0x6002001e),
propget,
helpstring("Gets the localized release notes of the Update.")
]
HRESULT ReleaseNotes(
[out, retval] BSTR* retval);
[
id(0x6002001f),
propget,
helpstring(
"Gets the security bulletin IDs associated with the Update.")
]
HRESULT SecurityBulletinIDs(
[out, retval] IStringCollection** retval);
[
id(0x60020021),
propget,
helpstring(
"Gets a collection of update IDs specifying the Updates that the "
"Update supersedes.")
]
HRESULT SupersededUpdateIDs(
[out, retval] IStringCollection** retval);
[
id(0x60020022),
propget,
helpstring(
"Gets the language-specific hyperlink to the support information on"
" the Update.")
]
HRESULT SupportUrl(
[out, retval] BSTR* retval);
[
id(0x60020023),
propget,
helpstring("Gets the type of the Update.")
]
HRESULT Type(
[out, retval] UpdateType* retval);
[
id(0x60020024),
propget,
helpstring("Gets the uninstallation notes of the Update.")
]
HRESULT UninstallationNotes(
[out, retval] BSTR* retval);
[
id(0x60020025),
propget,
helpstring("Gets the uninstallation options of the Update.")
]
HRESULT UninstallationBehavior(
[out, retval] IInstallationBehavior** retval);
[
id(0x60020026),
propget,
helpstring("Gets the uninstallation steps of the Update.")
]
HRESULT UninstallationSteps(
[out, retval] IStringCollection** retval);
[
id(0x60020028),
propget,
helpstring(
"Gets the knowledge base article IDs associated with the Update.")
]
HRESULT KBArticleIDs(
[out, retval] IStringCollection** retval);
//methods:
[
id(0x60020027),
helpstring(
"Accepts the license terms associated with the "
"Update.")
]
HRESULT AcceptEula();
//properties:
[
id(0x60020029),
propget,
helpstring("Indicates the action an Update is deployed for.")
]
HRESULT DeploymentAction(
[out, retval] DeploymentAction* retval);
//methods:
[
id(0x6002002a),
helpstring("Copies the contents of the Update into a specified path.")
]
HRESULT CopyFromCache(
[in, ref] BSTR path,
[in] VARIANT_BOOL toExtractCabFiles);
//properties:
[
id(0x6002002b),
propget,
helpstring("Indicates the suggested download priority of the Update.")
]
HRESULT DownloadPriority(
[out, retval] DownloadPriority* retval);
[
id(0x6002002c),
propget,
helpstring(
"Gets file information on the immediate download contents of the "
"Update.")
]
HRESULT DownloadContents(
[out, retval] IUpdateDownloadContentCollection** retval);
}
[
helpstring("IWindowsDriverUpdate Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(b383cd1a-5ce9-4504-9f63-764b1236f191),
pointer_default(unique),
]
interface IWindowsDriverUpdate : IUpdate
{
//properties:
[
id(0x60030001),
propget,
helpstring(
"Specifes the class of the WindowsDriverUpdate.")
]
HRESULT DriverClass(
[out, retval] BSTR* retval);
[
id(0x60030002),
propget,
helpstring(
"Specifies the hardware ID or compatible ID that the "
"WindowsDriverUpdate must match to be installable.")
]
HRESULT DriverHardwareID(
[out, retval] BSTR* retval);
[
id(0x60030003),
propget,
helpstring(
"Specifies the language-invariant name of the manufacturer "
"of the WindowsDriverUpdate.")
]
HRESULT DriverManufacturer(
[out, retval] BSTR* retval);
[
id(0x60030004),
propget,
helpstring(
"Specifies the language-invariant model name of the device for "
"which the WindowsDriverUpdate is intended.")
]
HRESULT DriverModel(
[out, retval] BSTR* retval);
[
id(0x60030005),
propget,
helpstring(
"Specifies the language-invariant name of the provider of the"
"WindowsDriverUpdate.")
]
HRESULT DriverProvider(
[out, retval] BSTR* retval);
[
id(0x60030006),
propget,
helpstring(
"Specifies the driver version date of the WindowsDriverUpdate.")
]
HRESULT DriverVerDate(
[out, retval] DATE* retval);
[
id(0x60030007),
propget,
helpstring(
"Returns the problem number of the matching device for the "
"WindowsDriverUpdate.")
]
HRESULT DeviceProblemNumber(
[out, retval] LONG* retval);
[
id(0x60030008),
propget,
helpstring(
"Returns the status of the matching device for the "
"WindowsDriverUpdate.")
]
HRESULT DeviceStatus(
[out, retval] LONG* retval);
}
[
helpstring("IUpdate2 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(144fe9b0-d23d-4a8b-8634-fb4457533b7a),
pointer_default(unique),
]
interface IUpdate2 : IUpdate
{
// properties
[
id(0x60030001),
propget,
helpstring("Gets a value indicating whether the computer still needs to be "
"rebooted after (un)installing this update.")
]
HRESULT RebootRequired(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60030003),
propget,
helpstring("Indicates whether the update is present on the machine.")
]
HRESULT IsPresent([out, retval] VARIANT_BOOL* retval);
[
id(0x60030004),
propget,
helpstring(
"Gets the CVE IDs associated with the Update.")
]
HRESULT CveIDs(
[out, retval] IStringCollection** retval);
// methods
[
id(0x60030002),
helpstring("Copies externally provided update binaries to install cache.")
]
HRESULT CopyToCache(
[in] IStringCollection* pFiles );
}
[
helpstring("IUpdate3 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(112EDA6B-95B3-476F-9D90-AEE82C6B8181),
pointer_default(unique),
]
interface IUpdate3 : IUpdate2
{
// properties
[
id(0x60040001),
propget,
helpstring("Gets a value indicating whether this update is intended only "
"for discovery by end users browsing manually for updates.")
]
HRESULT BrowseOnly(
[out, retval] VARIANT_BOOL* retval);
}
[
helpstring("IUpdate4 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(27e94b0d-5139-49a2-9a61-93522dc54652),
pointer_default(unique),
]
interface IUpdate4 : IUpdate3
{
// properties
[
id(0x60050001),
propget,
helpstring("Indicates whether this is a per-user update")
]
HRESULT PerUser( [out, retval] VARIANT_BOOL* retval);
}
[
helpstring("IUpdate5 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(C1C2F21A-D2F4-4902-B5C6-8A081C19A890),
pointer_default(unique),
]
interface IUpdate5 : IUpdate4
{
// properties
[
id(0x60060001),
propget,
helpstring("Gets a value indicating the auto selection mode of update in control panel of Windows Update.")
]
HRESULT AutoSelection(
[out, retval] AutoSelectionMode* retval);
[
id(0x60060002),
propget,
helpstring("Gets a value indicating the auto download mode of update.")
]
HRESULT AutoDownload(
[out, retval] AutoDownloadMode* retval);
}
[
helpstring("IWindowsDriverUpdate2 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(615c4269-7a48-43bd-96b7-bf6ca27d6c3e),
pointer_default(unique),
]
interface IWindowsDriverUpdate2 : IWindowsDriverUpdate
{
// properties
[
id(0x60040001),
propget,
helpstring("Gets a value indicating whether the computer still needs to be "
"rebooted after (un)installing this update.")
]
HRESULT RebootRequired(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60040003),
propget,
helpstring("Indicates whether the update is present on the machine.")
]
HRESULT IsPresent([out, retval] VARIANT_BOOL* retval);
[
id(0x60040004),
propget,
helpstring(
"Gets the CVE IDs associated with the Update.")
]
HRESULT CveIDs(
[out, retval] IStringCollection** retval);
// methods
[
id(0x60040002),
helpstring("Copies externally provided update binaries to install cache.")
]
HRESULT CopyToCache(
[in] IStringCollection* pFiles );
}
[
helpstring("IWindowsDriverUpdate3 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(49EBD502-4A96-41BD-9E3E-4C5057F4250C),
pointer_default(unique),
]
interface IWindowsDriverUpdate3 : IWindowsDriverUpdate2
{
// properties
[
id(0x60050001),
propget,
helpstring("Gets a value indicating whether this update is intended only "
"for discovery by end users browsing manually for updates.")
]
HRESULT BrowseOnly(
[out, retval] VARIANT_BOOL* retval);
}
[
helpstring("IWindowsDriverUpdateEntry Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(ED8BFE40-A60B-42ea-9652-817DFCFA23EC),
pointer_default(unique),
]
interface IWindowsDriverUpdateEntry : IDispatch
{
//properties:
[
id(0x60030001),
propget,
helpstring(
"Specifes the class of the WindowsDriverUpdate.")
]
HRESULT DriverClass(
[out, retval] BSTR* retval);
[
id(0x60030002),
propget,
helpstring(
"Specifies the hardware ID or compatible ID that the "
"WindowsDriverUpdate must match to be installable.")
]
HRESULT DriverHardwareID(
[out, retval] BSTR* retval);
[
id(0x60030003),
propget,
helpstring(
"Specifies the language-invariant name of the manufacturer "
"of the WindowsDriverUpdate.")
]
HRESULT DriverManufacturer(
[out, retval] BSTR* retval);
[
id(0x60030004),
propget,
helpstring(
"Specifies the language-invariant model name of the device for "
"which the WindowsDriverUpdate is intended.")
]
HRESULT DriverModel(
[out, retval] BSTR* retval);
[
id(0x60030005),
propget,
helpstring(
"Specifies the language-invariant name of the provider of the "
"WindowsDriverUpdate.")
]
HRESULT DriverProvider(
[out, retval] BSTR* retval);
[
id(0x60030006),
propget,
helpstring(
"Specifies the driver version date of the WindowsDriverUpdate.")
]
HRESULT DriverVerDate(
[out, retval] DATE* retval);
[
id(0x60030007),
propget,
helpstring(
"Returns the problem number of the matching device for the "
"WindowsDriverUpdate.")
]
HRESULT DeviceProblemNumber(
[out, retval] LONG* retval);
[
id(0x60030008),
propget,
helpstring(
"Returns the status of the matching device for the "
"WindowsDriverUpdate.")
]
HRESULT DeviceStatus(
[out, retval] LONG* retval);
}
[
helpstring("IWindowsDriverUpdateEntryCollection Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(0D521700-A372-4bef-828B-3D00C10ADEBD),
pointer_default(unique),
]
interface IWindowsDriverUpdateEntryCollection : IDispatch
{
// properties
[
id(DISPID_VALUE),
propget,
helpstring("Gets an element in the collection.")
]
HRESULT Item(
[in] LONG index,
[out, retval] IWindowsDriverUpdateEntry ** retval);
[
id(DISPID_NEWENUM),
propget,
helpstring(
"Gets an IEnumVARIANT interface on an object that can be used to "
"enumerate the collection.")
]
HRESULT _NewEnum(
[out, retval] IUnknown** retval);
[
id(0x60020001),
propget,
helpstring("Gets the number of elements contained in the collection.")
]
HRESULT Count(
[out, retval] LONG* retval);
}
[
helpstring("IWindowsDriverUpdate4 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(004C6A2B-0C19-4c69-9F5C-A269B2560DB9),
pointer_default(unique),
]
interface IWindowsDriverUpdate4 : IWindowsDriverUpdate3
{
// properties
[
id(0x60060001),
propget,
helpstring("Gets the driver update entries that are applicable for the "
"update.")
]
HRESULT WindowsDriverUpdateEntries(
[out, retval] IWindowsDriverUpdateEntryCollection** retval);
[
id(0x60060002),
propget,
helpstring("Indicates whether this update is a per-user update ")
]
HRESULT PerUser(
[out, retval] VARIANT_BOOL* retval);
}
[
helpstring("IWindowsDriverUpdate5 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(70CF5C82-8642-42bb-9DBC-0CFD263C6C4F),
pointer_default(unique),
]
interface IWindowsDriverUpdate5 : IWindowsDriverUpdate4
{
// properties
[
id(0x60070001),
propget,
helpstring("Gets a value indicating the auto selection mode of update in control panel of Windows Update.")
]
HRESULT AutoSelection(
[out, retval] AutoSelectionMode* retval);
[
id(0x60070002),
propget,
helpstring("Gets a value indicating the auto download mode of update.")
]
HRESULT AutoDownload(
[out, retval] AutoDownloadMode* retval);
}
[
helpstring("IUpdateCollection Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(07f7438c-7709-4ca5-b518-91279288134e),
pointer_default(unique),
hidden // already exposed by a class
]
interface IUpdateCollection : IDispatch
{
//properties:
[
id(DISPID_VALUE),
propget,
helpstring("Gets an element in the collection.")
]
HRESULT Item(
[in] LONG index,
[out, retval] IUpdate** retval);
[
id(DISPID_VALUE),
propput,
helpstring("Sets an element in the collection.")
]
HRESULT Item(
[in] LONG index,
[in] IUpdate* value);
[
id(DISPID_NEWENUM),
propget,
helpstring(
"Gets an IEnumVARIANT interface on an object that can be used to "
"enumerate the collection.")
]
HRESULT _NewEnum(
[out, retval] IUnknown** retval);
[
id(0x60020001),
propget,
helpstring("Gets the number of elements contained in the collection.")
]
HRESULT Count(
[out, retval] LONG* retval);
[
id(0x60020002),
propget,
helpstring(
"Gets a boolean value indicating whether the collection is "
"read-only.")
]
HRESULT ReadOnly(
[out, retval] VARIANT_BOOL* retval);
//methods:
[
id(0x60020003),
helpstring("Adds an item to the collection.")
]
HRESULT Add(
[in] IUpdate* value,
[out, retval] LONG* retval);
[
id(0x60020004),
helpstring("Removes all elements from the collection.")
]
HRESULT Clear( );
[
id(0x60020005),
helpstring("Creates a shallow read-writable copy of the collection.")
]
HRESULT Copy(
[out, retval] IUpdateCollection** retval);
[
id(0x60020006),
helpstring(
"Inserts an item to the collection at the specified position.")
]
HRESULT Insert(
[in] LONG index,
[in] IUpdate* value);
[
id(0x60020007),
helpstring(
"Removes the item at the specified index from the collection.")
]
HRESULT RemoveAt(
[in] LONG index);
}
[
helpstring("IUpdateException Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(a376dd5e-09d4-427f-af7c-fed5b6e1c1d6),
pointer_default(unique),
]
interface IUpdateException : IDispatch
{
//properties:
[
id(DISPID_VALUE),
propget,
helpstring("Gets a message that describes the current exception.")
]
HRESULT Message(
[out, retval] BSTR* retval);
[
id(0x60020001),
propget,
helpstring(
"Gets HRESULT, a coded numerical value that is assigned to a "
"specific exception.")
]
HRESULT HResult(
[out, retval] LONG* retval);
[
id(0x60020002),
propget,
helpstring(
"Gets a numerical value that indicates the context of the current "
"exception.")
]
HRESULT Context(
[out, retval] UpdateExceptionContext* retval);
}
[
helpstring("IInvalidProductLicenseException Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(a37d00f5-7bb0-4953-b414-f9e98326f2e8),
pointer_default(unique),
]
interface IInvalidProductLicenseException : IUpdateException
{
//properties:
[
id(0x60030001),
propget,
helpstring("Gets the language-invariant name of the product")
]
HRESULT Product(
[out, retval] BSTR* retval);
}
[
helpstring("IUpdateExceptionCollection Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(503626a3-8e14-4729-9355-0fe664bd2321),
pointer_default(unique),
]
interface IUpdateExceptionCollection : IDispatch
{
//properties:
[
id(DISPID_VALUE),
propget,
helpstring("Gets an element in the collection.")
]
HRESULT Item(
[in] LONG index,
[out, retval] IUpdateException** retval);
[
id(DISPID_NEWENUM),
propget,
helpstring(
"Gets an IEnumVARIANT interface on an object that can be used to "
"enumerate the collection.")
]
HRESULT _NewEnum(
[out, retval] IUnknown** retval);
[
id(0x60020001),
propget,
helpstring("Gets the number of elements contained in the collection.")
]
HRESULT Count(
[out, retval] LONG* retval);
}
[
helpstring("ISearchResult Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(d40cff62-e08c-4498-941a-01e25f0fd33c),
pointer_default(unique),
]
interface ISearchResult : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring(
"Gets an OperationResultCode enumeration value specifying the "
"overall result of the search.")
]
HRESULT ResultCode(
[out, retval] OperationResultCode* retval);
[
id(0x60020002),
propget,
helpstring(
"Gets the root categories currently available on the target "
" computer.")
]
HRESULT RootCategories(
[out, retval] ICategoryCollection** retval);
[
id(0x60020003),
propget,
helpstring("Gets a collection of Updates resulted from the search.")
]
HRESULT Updates(
[out, retval] IUpdateCollection** retval);
[
id(0x60020004),
propget,
helpstring("Gets a collection of warnings resulted from the search.")
]
HRESULT Warnings(
[out, retval] IUpdateExceptionCollection** retval);
}
[
helpstring("ISearchJob Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(7366ea16-7a1a-4ea2-b042-973d3e9cd99b),
pointer_default(unique),
]
interface ISearchJob : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring(
"Gets the caller-specified state object passed to the "
"UpdateSearcher.BeginSearch method.")
]
HRESULT AsyncState(
[out, retval] VARIANT* retval);
[
id(0x60020002),
propget,
helpstring(
"Gets a value indicating whether the call has been completely "
"processed.")
]
HRESULT IsCompleted(
[out, retval] VARIANT_BOOL* retval);
//methods:
[
id(0x60020003),
helpstring(
"Waits for asynchronous operation to complete and releases all "
"callbacks, if any.")
]
HRESULT CleanUp();
[
id(0x60020004),
helpstring("Requests to abort the asynchronous search.")
]
HRESULT RequestAbort();
}
[
helpstring("ISearchCompletedCallbackArgs Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(a700a634-2850-4c47-938a-9e4b6e5af9a6),
pointer_default(unique),
]
interface ISearchCompletedCallbackArgs : IDispatch
{
}
[
helpstring("ISearchCompletedCallback Interface"),
object,
oleautomation,
nonextensible,
uuid(88aee058-d4b0-4725-a2f1-814a67ae964c),
pointer_default(unique)
]
interface ISearchCompletedCallback : IUnknown
{
//methods:
[
id(0x60010001),
helpstring(
"Handles the notification about the completion of an asynchronous "
"search initiated by calling UpdateSearcher.BeginSearch.")
]
HRESULT Invoke(
[in] ISearchJob* searchJob,
[in] ISearchCompletedCallbackArgs* callbackArgs);
}
[
helpstring("IUpdateHistoryEntry Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(be56a644-af0e-4e0e-a311-c1d8e695cbff),
pointer_default(unique),
]
interface IUpdateHistoryEntry : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring(
"Gets an Operation enumeration value specifying the "
"the operation on the update.")
]
HRESULT Operation(
[out, retval] UpdateOperation* retval );
[
id(0x60020002),
propget,
helpstring(
"Gets an OperationResultCode enumeration value specifying the "
"result of the operation on the update.")
]
HRESULT ResultCode(
[out, retval] OperationResultCode* retval );
[
id(0x60020003),
propget,
helpstring(
"Gets the HRESULT value returned from the operation on the update.")
]
HRESULT HResult(
[out, retval] LONG* retval );
[
id(0x60020004),
propget,
helpstring("Gets the date and time when the update was applied.")
]
HRESULT Date(
[out, retval] DATE* retval);
[
id(0x60020005),
propget,
helpstring(
"Gets the globally-unique identity of the update.")
]
HRESULT UpdateIdentity(
[out, retval] IUpdateIdentity** retval);
[
id(0x60020006),
propget,
helpstring("Gets the title of the update.")
]
HRESULT Title(
[out, retval] BSTR* retval);
[
id(0x60020007),
propget,
helpstring("Gets the description of the update.")
]
HRESULT Description(
[out, retval] BSTR* retval);
[
id(0x60020008),
propget,
helpstring(
"Gets the unmapped result code returned from the operation on the "
"update.")
]
HRESULT UnmappedResultCode(
[out, retval] LONG* retval);
[
id(0x60020009),
propget,
helpstring(
"Gets the identifier of the client application that processed the "
"update.")
]
HRESULT ClientApplicationID(
[out, retval] BSTR* retval);
[
id(0x6002000a),
propget,
helpstring("Gets the kind of service where the update came from.")
]
HRESULT ServerSelection(
[out, retval] ServerSelection* retval );
[
id(0x6002000b),
propget,
helpstring(
"Gets the identifier of the service where the update came from.")
]
HRESULT ServiceID(
[out, retval] BSTR* retval );
[
id(0x6002000c),
propget,
helpstring("Gets steps to uninstall update.")
]
HRESULT UninstallationSteps(
[out, retval] IStringCollection** retval);
[
id(0x6002000d),
propget,
helpstring("Gets uninstallation notes.")
]
HRESULT UninstallationNotes(
[out, retval] BSTR* retval);
[
id(0x6002000e),
propget,
helpstring("Gets support URL.")
]
HRESULT SupportUrl(
[out, retval] BSTR* retval);
}
[
helpstring("IUpdateHistoryEntry2 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(c2bfb780-4539-4132-ab8c-0a8772013ab6),
pointer_default(unique),
]
interface IUpdateHistoryEntry2 : IUpdateHistoryEntry
{
//properties:
[
id(0x60030001),
propget,
helpstring("Gets the categories that the update belongs to.")
]
HRESULT Categories(
[out, retval] ICategoryCollection** retval);
}
[
helpstring("IUpdateHistoryEntryCollection Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(a7f04f3c-a290-435b-aadf-a116c3357a5c),
pointer_default(unique),
]
interface IUpdateHistoryEntryCollection : IDispatch
{
[
id(DISPID_VALUE),
propget,
helpstring("Gets an element in the collection.")
]
HRESULT Item(
[in] LONG index,
[out, retval] IUpdateHistoryEntry** retval);
[
id(DISPID_NEWENUM),
propget,
helpstring(
"Gets an IEnumVARIANT interface on an object that can be used to "
"enumerate the collection.")
]
HRESULT _NewEnum(
[out, retval] IUnknown** retval);
[
id(0x60020001),
propget,
helpstring("Gets the number of elements contained in the collection.")
]
HRESULT Count(
[out, retval] LONG* retval);
}
[
helpstring("IUpdateSearcher Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(8f45abf1-f9ae-4b95-a933-f0f66e5056ea),
pointer_default(unique),
]
interface IUpdateSearcher : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring(
"Indicates whether future calls to BeginSearch and Search can "
"automatically upgrade the MSUS client as a side-effect.")
]
HRESULT CanAutomaticallyUpgradeService(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020001),
propput,
helpstring(
"Specifies whether future calls to BeginSearch and Search can "
"automatically upgrade the MSUS client as a side-effect.")
]
HRESULT CanAutomaticallyUpgradeService(
[in] VARIANT_BOOL value);
[
id(0x60020003),
propget,
helpstring("Gets the identifier of the current client application.")
]
HRESULT ClientApplicationID(
[out, retval] BSTR* retval);
[
id(0x60020003),
propput,
helpstring("Sets the identifier of the current client application.")
]
HRESULT ClientApplicationID(
[in] BSTR value);
[
id(0x60020004),
propget,
helpstring(
"Indicates whether to include, in the search results, updates that "
"are superseded by any other updates in the results.")
]
HRESULT IncludePotentiallySupersededUpdates(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020004),
propput,
helpstring(
"Specifies whether to include, in the search results, updates that "
"are superseded by any other updates in the results.")
]
HRESULT IncludePotentiallySupersededUpdates(
[in] VARIANT_BOOL value);
[
id(0x60020007),
propget,
helpstring("Gets the server specified.")
]
HRESULT ServerSelection(
[out, retval] ServerSelection* retval);
[
id(0x60020007),
propput,
helpstring("Specifies which server to search against.")
]
HRESULT ServerSelection(
[in] ServerSelection value);
//methods:
[
id(0x60020008),
helpstring(
"Starts an asynchronous search using the currently configured "
"search options.")
]
HRESULT BeginSearch(
[in] BSTR criteria,
[in] IUnknown* onCompleted,
[in] VARIANT state,
[out, retval] ISearchJob** retval);
[
id(0x60020009),
helpstring("Completes an asynchronous search.")
]
HRESULT EndSearch(
[in] ISearchJob* searchJob,
[out, retval] ISearchResult** retval);
[
id(0x6002000a),
helpstring(
"Convert string into one that can be used as a literal value in a "
"search criteria string.")
]
HRESULT EscapeString(
[in] BSTR unescaped,
[out, retval] BSTR* retval);
[
id(0x6002000b),
helpstring(
"Synchronously queries the target computer for the history of "
"update events.")
]
HRESULT QueryHistory(
[in] LONG startIndex,
[in] LONG count,
[out, retval] IUpdateHistoryEntryCollection** retval);
[
id(0x6002000c),
helpstring(
"Perform a synchronous search using the currently configured "
"search options.")
]
HRESULT Search(
[in] BSTR criteria,
[out, retval] ISearchResult** retval);
//properties:
[
id(0x6002000d),
propget,
helpstring(
"Indicates whether the UpdateSearcher goes online when searching "
"for updates.")
]
HRESULT Online(
[out, retval] VARIANT_BOOL* retval);
[
id(0x6002000d),
propput,
helpstring(
"Specifies whether the UpdateSearcher goes online when searching "
"for updates.")
]
HRESULT Online(
[in] VARIANT_BOOL value);
[
id(0x6002000e),
helpstring(
"Get number of update events on the target computer.")
]
HRESULT GetTotalHistoryCount(
[out, retval] LONG* retval);
[
id(0x6002000f),
propget,
helpstring("Gets the Non-Windows Update Service ID specified.")
]
HRESULT ServiceID(
[out, retval] BSTR* retval);
[
id(0x6002000f),
propput,
helpstring("Specifies the Non-Windows Update Service ID to search against.")
]
HRESULT ServiceID(
[in] BSTR value);
};
[
helpstring("IUpdateSearcher2 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(4cbdcb2d-1589-4beb-bd1c-3e582ff0add0),
pointer_default(unique)
]
interface IUpdateSearcher2 : IUpdateSearcher
{
//properties:
[
id(0x60030001),
propget,
helpstring(
"Gets whether to ignore download priority of updates when "
"computing potential supersedence.")
]
HRESULT IgnoreDownloadPriority(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60030001),
propput,
helpstring(
"Specifies whether to ignore download priority of updates when "
"computing potential supersedence.")
]
HRESULT IgnoreDownloadPriority(
[in] VARIANT_BOOL value);
}
[
helpstring("IUpdateSearcher3 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(04C6895D-EAF2-4034-97F3-311DE9BE413A),
pointer_default(unique),
hidden // already exposed by a class
]
interface IUpdateSearcher3 : IUpdateSearcher2
{
//properties:
[
id(0x60040001),
propget,
helpstring(
"Gets a SearchScope enumeration value which indicates the scope of updates returned"
" by the search.")
]
HRESULT SearchScope(
[out, retval] SearchScope* retval);
[
id(0x60040001),
propput,
helpstring("Specifies the scope of updates to be returned by the search.")
]
HRESULT SearchScope(
[in] SearchScope value);
}
[
helpstring("IUpdateDownloadResult Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(bf99af76-b575-42ad-8aa4-33cbb5477af1),
pointer_default(unique),
]
interface IUpdateDownloadResult : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring(
"Gets the HRESULT value returned from the operation on the update.")
]
HRESULT HResult(
[out, retval] LONG* retval);
[
id(0x60020002),
propget,
helpstring(
"Gets an OperationResultCode enumeration value specifying the "
"result of the operation on the update.")
]
HRESULT ResultCode(
[out, retval] OperationResultCode* retval);
}
[
helpstring("IDownloadResult Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(daa4fdd0-4727-4dbe-a1e7-745dca317144),
pointer_default(unique),
]
interface IDownloadResult : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring(
"Gets the HRESULT value returned from the download.")
]
HRESULT HResult(
[out, retval] LONG* retval);
[
id(0x60020002),
propget,
helpstring(
"Gets an OperationResultCode enumeration value specifying the "
"overall result of the download.")
]
HRESULT ResultCode(
[out, retval] OperationResultCode* retval);
//methods:
[
id(0x60020003),
helpstring(
"Gets the result of the download on a specified update.")
]
HRESULT GetUpdateResult(
[in] LONG updateIndex,
[out, retval] IUpdateDownloadResult** retval);
}
[
helpstring("IDownloadProgress Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(d31a5bac-f719-4178-9dbb-5e2cb47fd18a),
pointer_default(unique),
]
interface IDownloadProgress : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring(
"Gets a value specifying how much data has been transferred for "
"the content file(s) of the update being downloaded, in bytes.")
]
HRESULT CurrentUpdateBytesDownloaded(
[out, retval] DECIMAL* retval);
[
id(0x60020002),
propget,
helpstring(
"Gets a value approximating how much data should be transferred "
"for the content file(s) of the update being downloaded, in bytes.")
]
HRESULT CurrentUpdateBytesToDownload(
[out, retval] DECIMAL* retval);
[
id(0x60020003),
propget,
helpstring(
"Gets a zero-based index value into the updates specified in the "
"download for the one which content file(s) are being downloaded.")
]
HRESULT CurrentUpdateIndex(
[out, retval] LONG* retval);
[
id(0x60020004),
propget,
helpstring(
"Gets a value estimating how far the download has progressed, in "
"percents.")
]
HRESULT PercentComplete(
[out, retval] LONG* retval);
[
id(0x60020005),
propget,
helpstring(
"Gets a value specifying how much overall data has been "
"transferred by the download, in bytes.")
]
HRESULT TotalBytesDownloaded(
[out, retval] DECIMAL* retval);
[
id(0x60020006),
propget,
helpstring(
"Gets a value approximating how much data should be transferred "
"over all updates by the download, in bytes.")
]
HRESULT TotalBytesToDownload(
[out, retval] DECIMAL* retval);
//methods:
[
id(0x60020007),
helpstring(
"Gets the result of the download on a specified update.")
]
HRESULT GetUpdateResult(
[in] LONG updateIndex,
[out, retval] IUpdateDownloadResult** retval);
//additional properties:
[
id(0x60020008),
propget,
helpstring(
"Gets a DownloadPhase enumeration value specifying the "
"current phase of the download in progress.")
]
HRESULT CurrentUpdateDownloadPhase(
[out, retval] DownloadPhase* retval);
[
id(0x60020009),
propget,
helpstring(
"Gets a value estimating how far the download of the current"
" update has progressed, in percents.")
]
HRESULT CurrentUpdatePercentComplete(
[out, retval] LONG* retval);
}
[
helpstring("IDownloadJob Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(c574de85-7358-43f6-aae8-8697e62d8ba7),
pointer_default(unique),
]
interface IDownloadJob : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring(
"Gets the caller-specified state object passed to the "
"UpdateDownloader.BeginDownload method.")
]
HRESULT AsyncState(
[out, retval] VARIANT* retval);
[
id(0x60020002),
propget,
helpstring(
"Gets a value indicating whether the call has been completely "
"processed.")
]
HRESULT IsCompleted(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020003),
propget,
helpstring(
"Gets a read-only collection of the updates specified in the "
"download.")
]
HRESULT Updates(
[out, retval] IUpdateCollection** retval);
//methods:
[
id(0x60020004),
helpstring(
"Waits for asynchronous operation to complete and releases all "
"callbacks, if any.")
]
HRESULT CleanUp();
[
id(0x60020005),
helpstring("Gets the current progress of the download.")
]
HRESULT GetProgress(
[out, retval] IDownloadProgress** retval);
[
id(0x60020006),
helpstring("Requests to abort the asynchronous download.")
]
HRESULT RequestAbort();
}
[
helpstring("IDownloadCompletedCallbackArgs Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(fa565b23-498c-47a0-979d-e7d5b1813360),
pointer_default(unique),
]
interface IDownloadCompletedCallbackArgs : IDispatch
{
}
[
helpstring("IDownloadCompletedCallback Interface"),
object,
oleautomation,
nonextensible,
uuid(77254866-9f5b-4c8e-b9e2-c77a8530d64b),
pointer_default(unique)
]
interface IDownloadCompletedCallback : IUnknown
{
//methods:
[
id(0x60010001),
helpstring(
"Handles the notification about the completion of an asynchronous "
"download initiated by calling UpdateDownloader.BeginDownload.")
]
HRESULT Invoke(
[in] IDownloadJob* downloadJob,
[in] IDownloadCompletedCallbackArgs* callbackArgs);
}
[
helpstring("IDownloadProgressChangedCallbackArgs Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(324ff2c6-4981-4b04-9412-57481745ab24),
pointer_default(unique),
]
interface IDownloadProgressChangedCallbackArgs : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring(
"Gets the progress of the asynchronous download at the time the "
"callback was made.")
]
HRESULT Progress(
[out, retval] IDownloadProgress** retval);
}
[
helpstring("IDownloadProgressChangedCallback Interface"),
object,
oleautomation,
nonextensible,
uuid(8c3f1cdd-6173-4591-aebd-a56a53ca77c1),
pointer_default(unique)
]
interface IDownloadProgressChangedCallback : IUnknown
{
//methods:
[
id(0x60010001),
helpstring(
"Handles the notification about the change of progress of an "
"asynchronous download initiated by calling "
"UpdateDownloader.BeginDownload.")
]
HRESULT Invoke(
[in] IDownloadJob* downloadJob,
[in] IDownloadProgressChangedCallbackArgs* callbackArgs);
}
[
helpstring("IUpdateDownloader Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(68f1c6f9-7ecc-4666-a464-247fe12496c3),
pointer_default(unique),
hidden // already exposed by a class
]
interface IUpdateDownloader : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring("Gets the identifier of the current client application.")
]
HRESULT ClientApplicationID(
[out, retval] BSTR* retval);
[
id(0x60020001),
propput,
helpstring("Sets the identifier of the current client application.")
]
HRESULT ClientApplicationID(
[in] BSTR value);
[
id(0x60020002),
propget,
helpstring(
"Indicates whether to forcefully download the specified updates.")
]
HRESULT IsForced(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020002),
propput,
helpstring(
"Specifies whether to forcefully download the specified updates.")
]
HRESULT IsForced(
[in] VARIANT_BOOL value);
[
id(0x60020003),
propget,
helpstring("Gets the desired priority level of the download.")
]
HRESULT Priority(
[out, retval] DownloadPriority* retval);
[
id(0x60020003),
propput,
helpstring("Specifies the desired priority level of the download.")
]
HRESULT Priority(
[in] DownloadPriority value);
[
id(0x60020004),
propget,
helpstring(
"Gets the updates to download.")
]
HRESULT Updates(
[out, retval] IUpdateCollection** retval);
[
id(0x60020004),
propput,
helpstring("Specifies the updates to download.")
]
HRESULT Updates(
[in] IUpdateCollection* value);
//methods
[
id(0x60020005),
helpstring(
"Begins an asynchronous operation to download the content file(s) "
"associated with the updates.")
]
HRESULT BeginDownload(
[in] IUnknown* onProgressChanged,
[in] IUnknown* onCompleted,
[in] VARIANT state,
[out, retval] IDownloadJob** retval);
[
id(0x60020006),
helpstring(
"Synchronously downloads the content file(s) of the update(s) "
"to the local cache on the target computer.")
]
HRESULT Download(
[out, retval] IDownloadResult** retval);
[
id(0x60020007),
helpstring("Completes an asynchronous download.")
]
HRESULT EndDownload(
[in] IDownloadJob* value,
[out, retval] IDownloadResult** retval);
}
[
helpstring("IUpdateInstallationResult Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(d940f0f8-3cbb-4fd0-993f-471e7f2328ad),
pointer_default(unique),
]
interface IUpdateInstallationResult : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring("Gets the HRESULT value from the operation on the update.")
]
HRESULT HResult(
[out, retval] LONG* retval);
[
id(0x60020002),
propget,
helpstring(
"Indicates whether system reboot is required on the target "
"computer to complete the installation on the Update.")
]
HRESULT RebootRequired(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020003),
propget,
helpstring(
"Gets an OperationResultCode enumeration value specifying the "
"result of the operation on the update.")
]
HRESULT ResultCode(
[out, retval] OperationResultCode* retval);
}
[
helpstring("IInstallationResult Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(a43c56d6-7451-48d4-af96-b6cd2d0d9b7a),
pointer_default(unique),
]
interface IInstallationResult : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring("Gets the HRESULT returned from the (un)installation.")
]
HRESULT HResult(
[out, retval] LONG* retval);
[
id(0x60020002),
propget,
helpstring(
"Indicates whether a system reboot is required on the target "
"computer to complete the (un)installation.")
]
HRESULT RebootRequired(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020003),
propget,
helpstring(
"Gets an OperationResultCode enumeration value specifying the "
"overall result of the (un)installation.")
]
HRESULT ResultCode(
[out, retval] OperationResultCode* retval);
//methods:
[
id(0x60020004),
helpstring(
"Gets the result of the (un)installation on a specified update.")
]
HRESULT GetUpdateResult(
[in] LONG updateIndex,
[out, retval] IUpdateInstallationResult** retval);
}
[
helpstring("IInstallationProgress Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(345c8244-43a3-4e32-a368-65f073b76f36),
pointer_default(unique),
]
interface IInstallationProgress : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring(
"Gets a zero-based index value into the updates specified in the "
"(un)installation for the one which content file(s) are being "
"(un)installed.")
]
HRESULT CurrentUpdateIndex(
[out, retval] LONG* retval);
[
id(0x60020002),
propget,
helpstring(
"Gets a value specifying how much the (un)installation has "
"completed upon the update being (un)installed, in percents.")
]
HRESULT CurrentUpdatePercentComplete(
[out, retval] LONG* retval);
[
id(0x60020003),
propget,
helpstring(
"Gets a value specifying how much overall the (un)installation has "
"completed, in percents.")
]
HRESULT PercentComplete(
[out, retval] LONG* retval);
//methods:
[
id(0x60020004),
helpstring(
"Gets the result of the (un)installation on a specified update.")
]
HRESULT GetUpdateResult(
[in] LONG updateIndex,
[out, retval] IUpdateInstallationResult** retval);
}
[
helpstring("IInstallationJob Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(5c209f0b-bad5-432a-9556-4699bed2638a),
pointer_default(unique),
]
interface IInstallationJob : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring(
"Gets the caller-specified state object passed to the "
"corresponding UpdateInstaller.BeginInstall or "
"UpdateInstaller.BeginUninstall methods.")
]
HRESULT AsyncState(
[out, retval] VARIANT* retval);
[
id(0x60020002),
propget,
helpstring(
"Gets a value indicating whether the call has been completely "
"processed.")
]
HRESULT IsCompleted(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020003),
propget,
helpstring(
"Gets a read-only collection of the updates specified in the "
"(un)installation.")
]
HRESULT Updates(
[out, retval] IUpdateCollection** retval);
//methods:
[
id(0x60020004),
helpstring(
"Waits for asynchronous operation to complete and releases all "
"callbacks, if any.")
]
HRESULT CleanUp();
[
id(0x60020005),
helpstring("Gets the current progress of the (un)installation.")
]
HRESULT GetProgress(
[out, retval] IInstallationProgress** retval);
[
id(0x60020006),
helpstring("Requests to abort the asynchronous (un)installation.")
]
HRESULT RequestAbort();
}
[
helpstring("IInstallationCompletedCallbackArgs Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(250e2106-8efb-4705-9653-ef13c581b6a1),
pointer_default(unique),
]
interface IInstallationCompletedCallbackArgs : IDispatch
{
}
[
helpstring("IInstallationCompletedCallback Interface"),
object,
oleautomation,
nonextensible,
uuid(45f4f6f3-d602-4f98-9a8a-3efa152ad2d3),
pointer_default(unique)
]
interface IInstallationCompletedCallback : IUnknown
{
//methods:
[
id(0x60010001),
helpstring(
"Handles the notification about the completion of an asynchronous "
"(un)installation initiated by the corresponding "
"UpdateInstaller.BeginInstall or UpdateInstaller.BeginUninstall "
"call.")
]
HRESULT Invoke(
[in] IInstallationJob* installationJob,
[in] IInstallationCompletedCallbackArgs* callbackArgs);
}
[
helpstring("IInstallationProgressChangedCallbackArgs Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(e4f14e1e-689d-4218-a0b9-bc189c484a01),
pointer_default(unique),
]
interface IInstallationProgressChangedCallbackArgs : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring(
"Gets the progress of the asynchronous (un)installation at the "
"time the callback was made.")
]
HRESULT Progress(
[out, retval] IInstallationProgress** retval);
//methods:
}
[
helpstring("IInstallationProgressChangedCallback Interface"),
object,
oleautomation,
nonextensible,
uuid(e01402d5-f8da-43ba-a012-38894bd048f1),
pointer_default(unique)
]
interface IInstallationProgressChangedCallback : IUnknown
{
//methods:
[
id(0x60010001),
helpstring(
"Handles the notification about the change of progress of an "
"asynchronous (un)installation initiated by the corresponding "
"UpdateInstaller.BeginInstall or Update.BeginUninstall call.")
]
HRESULT Invoke(
[in] IInstallationJob* installationJob,
[in] IInstallationProgressChangedCallbackArgs* callbackArgs);
}
[
helpstring("IUpdateInstaller Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(7b929c68-ccdc-4226-96b1-8724600b54c2),
pointer_default(unique),
]
interface IUpdateInstaller : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring("Gets the identifier of the current client application.")
]
HRESULT ClientApplicationID(
[out, retval] BSTR* retval);
[
id(0x60020001),
propput,
helpstring("Sets the identifier of the current client application.")
]
HRESULT ClientApplicationID(
[in] BSTR value);
[
id(0x60020002),
propget,
helpstring(
"Indicates whether to forcefully (un)install the specified updates.")
]
HRESULT IsForced(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020002),
propput,
helpstring(
"Specifies whether to forcefully (un)install the specified updates.")
]
HRESULT IsForced(
[in] VARIANT_BOOL value);
[
id(0x60020003),
propget,
restricted, // Script caller can't read the type anyways
helpstring(
"Gets the window on top of which the wizard dialog box should "
"be shown.")
]
HRESULT ParentHwnd(
[out, retval] HWND* retval);
[
id(0x60020003),
propput,
restricted, // Script caller can't read the type anyways
helpstring(
"Sets the window on top of which the wizard dialog box should "
"be shown.")
]
HRESULT ParentHwnd(
[in, unique] HWND value);
[
id(0x60020004),
propput,
helpstring(
"Sets the web browser window on top of which the wizard dialog box "
"should be shown.")
]
HRESULT ParentWindow(
[in, unique] IUnknown* value);
[
id(0x60020004),
propget,
helpstring(
"Gets the web browser window on top of which the wizard dialog box "
"should be shown.")
]
HRESULT ParentWindow(
[out, retval] IUnknown** retval);
[
id(0x60020005),
propget,
helpstring(
"Gets the updates to (un)install.")
]
HRESULT Updates(
[out, retval] IUpdateCollection** retval);
[
id(0x60020005),
propput,
helpstring("Specifies the updates to (un)install.")
]
HRESULT Updates(
[in] IUpdateCollection* value);
//methods
[
id(0x60020006),
helpstring(
"Begins an asynchronous operation to install the updates.")
]
HRESULT BeginInstall(
[in] IUnknown* onProgressChanged,
[in] IUnknown* onCompleted,
[in] VARIANT state,
[out, retval] IInstallationJob** retval);
[
id(0x60020007),
helpstring(
"Begins an asynchronous operation to uninstall the updates.")
]
HRESULT BeginUninstall(
[in] IUnknown* onProgressChanged,
[in] IUnknown* onCompleted,
[in] VARIANT state,
[out, retval] IInstallationJob** retval);
[
id(0x60020008),
helpstring("Completes an asynchronous installation.")
]
HRESULT EndInstall(
[in] IInstallationJob* value,
[out, retval] IInstallationResult** retval);
[
id(0x60020009),
helpstring("Completes an asynchronous uninstallation.")
]
HRESULT EndUninstall(
[in] IInstallationJob* value,
[out, retval] IInstallationResult** retval);
[
id(0x6002000a),
helpstring("Synchronously installs updates onto the target computer.")
]
HRESULT Install(
[out, retval] IInstallationResult** retval);
[
id(0x6002000b),
helpstring(
"Interactively guides the local user to go through the steps to "
"install updates.")
]
HRESULT RunWizard(
[in, unique, defaultvalue("")] BSTR dialogTitle,
[out, retval] IInstallationResult** retval);
[
id(0x6002000c),
propget,
helpstring(
"Indicates whether (un)installation can be performed on the target "
"computer at this moment.")
]
HRESULT IsBusy(
[out, retval] VARIANT_BOOL* retval);
[
id(0x6002000d),
helpstring(
"Synchronously uninstalls the updates from the target computer.")
]
HRESULT Uninstall(
[out, retval] IInstallationResult** retval);
//properties:
[
id(0x6002000e),
propget,
helpstring(
"Indicates whether to show source prompts to the user, when "
"needed, while installing updates.")
]
HRESULT AllowSourcePrompts(
[out, retval] VARIANT_BOOL* retval);
[
id(0x6002000e),
propput,
helpstring(
"Specifies whether to show source prompts to the user, when "
"needed, while installing updates.")
]
HRESULT AllowSourcePrompts(
[in] VARIANT_BOOL value);
[
id(0x6002000f),
propget,
helpstring(
"Gets a value indicating whether a system reboot is required "
"before (un)installing updates.")
]
HRESULT RebootRequiredBeforeInstallation(
[out, retval] VARIANT_BOOL* retval);
}
[
helpstring("IUpdateInstaller2 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(3442d4fe-224d-4cee-98cf-30e0c4d229e6),
pointer_default(unique),
hidden // already exposed by a class
]
interface IUpdateInstaller2 : IUpdateInstaller
{
// properties
[
id(0x60030001),
propget,
helpstring("Returns whether no UI interaction will be forced.")
]
HRESULT ForceQuiet( [out, retval] VARIANT_BOOL* retval );
[
id(0x60030001),
propput,
helpstring("Specifies that the installer will be forced to do an "
"install without any user interaction.")
]
HRESULT ForceQuiet( [in] VARIANT_BOOL value );
}
[
helpstring("IUpdateSession Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(816858a4-260d-4260-933a-2585f1abc76b),
pointer_default(unique),
]
interface IUpdateSession : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring("Gets the identifier of the current client application.")
]
HRESULT ClientApplicationID(
[out, retval] BSTR* retval);
[
id(0x60020001),
propput,
helpstring("Sets the identifier of the current client application.")
]
HRESULT ClientApplicationID(
[in] BSTR value);
[
id(0x60020002),
propget,
helpstring(
"Gets a boolean value indicating whether the UpdateSession object "
"is read-only.")
]
HRESULT ReadOnly(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020003),
propget,
helpstring(
"Gets the proxy settings required to reaching the server for "
"future operations in the UpdateSession.")
]
HRESULT WebProxy(
[out, retval] IWebProxy** retval);
[
id(0x60020003),
propput,
helpstring(
"Sets the proxy settings required to reach the server for "
"future operations in the UpdateSession.")
]
HRESULT WebProxy(
[in, unique] IWebProxy* value);
//methods:
[
id(0x60020004),
helpstring("Creates an UpdateSearcher within the UpdateSession.")
]
HRESULT CreateUpdateSearcher(
[out, retval] IUpdateSearcher** retval);
[
id(0x60020005),
helpstring("Creates an UpdateDownloader within the UpdateSession.")
]
HRESULT CreateUpdateDownloader(
[out, retval] IUpdateDownloader** retval);
[
id(0x60020006),
helpstring("Creates an UpdateInstaller within the UpdateSession.")
]
HRESULT CreateUpdateInstaller(
[out, retval] IUpdateInstaller** retval);
}
[
helpstring("IUpdateSession2 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(91caf7b0-eb23-49ed-9937-c52d817f46f7),
pointer_default(unique),
]
interface IUpdateSession2 : IUpdateSession
{
//properties:
[
id(0x60030001),
propget,
helpstring("Gets the locale being used for update results.")
]
HRESULT UserLocale(
[out, retval] LCID* retval);
[
id(0x60030001),
propput,
helpstring("Sets the locale to be used for update results.")
]
HRESULT UserLocale(
[in] LCID lcid);
}
[
helpstring("IUpdateSession3 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(918EFD1E-B5D8-4c90-8540-AEB9BDC56F9D),
pointer_default(unique),
hidden // already exposed by a class
]
interface IUpdateSession3 : IUpdateSession2
{
//methods:
[
id(0x60040001),
helpstring("Creates an UpdateServiceManager within the UpdateSession.")
]
HRESULT CreateUpdateServiceManager(
[out, retval] IUpdateServiceManager2** retval);
[
id(0x60040002),
helpstring(
"Synchronously queries the target computer for the history of "
"update events given a query criteria.")
]
HRESULT QueryHistory(
[in] BSTR criteria,
[in] LONG startIndex,
[in] LONG count,
[out, retval] IUpdateHistoryEntryCollection** retval);
}
[
helpstring("IUpdateService Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(76b3b17e-aed6-4da5-85f0-83587f81abe3),
pointer_default(unique)
]
interface IUpdateService : IDispatch
{
//properties:
[
id(DISPID_VALUE),
propget,
helpstring("Name of the Service.")
]
HRESULT Name(
[out, retval] BSTR* retval);
[
id(0x60020001),
propget,
helpstring("SHA1 hash of the certificate used to sign contents.")
]
HRESULT ContentValidationCert(
[out, retval] VARIANT* retval);
[
id(0x60020002),
propget,
helpstring("Gets the date on which the Authorization Cab expires.")
]
HRESULT ExpirationDate(
[out, retval] DATE* retval);
[
id(0x60020003),
propget,
helpstring("Indicates whether the Service is a managed service.")
]
HRESULT IsManaged(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020004),
propget,
helpstring("Indicates whether the Service is registered with Automatic Updates.")
]
HRESULT IsRegisteredWithAU(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020005),
propget,
helpstring("Gets the date on which the Authorization Cab was issued.")
]
HRESULT IssueDate(
[out, retval] DATE* retval);
[
id(0x60020006),
propget,
helpstring(
"Indicates whether the Service offers Windows updates.")
]
HRESULT OffersWindowsUpdates(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020007),
propget,
helpstring("URLs for the redirector cab.")
]
HRESULT RedirectUrls(
[out, retval] IStringCollection** retval);
[
id(0x60020008),
propget,
helpstring("Gets the identifier of the Service.")
]
HRESULT ServiceID(
[out, retval] BSTR* retval);
[
id(0x6002000A),
propget,
helpstring(
"Indicates whether the service is registered as a scan package "
"service.")
]
HRESULT IsScanPackageService(
[out, retval] VARIANT_BOOL* retval);
[
id(0x6002000B),
propget,
helpstring(
"Indicates whether the service can register with AU.")
]
HRESULT CanRegisterWithAU(
[out, retval] VARIANT_BOOL* retval);
[
id(0x6002000C),
propget,
helpstring(
"Indicates the service URL.")
]
HRESULT ServiceUrl(
[out, retval] BSTR* retval);
[
id(0x6002000D),
propget,
helpstring(
"Indicates the prefix for setup files.")
]
HRESULT SetupPrefix(
[out, retval] BSTR* retval);
}
[
helpstring("IUpdateService2 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(1518b460-6518-4172-940f-c75883b24ceb),
pointer_default(unique)
]
interface IUpdateService2 : IUpdateService
{
//properties:
[
id(0x60030001),
propget,
helpstring(
"Indicates whether the Service is in use by Automatic Updates.")
]
HRESULT IsDefaultAUService(
[out, retval] VARIANT_BOOL* retval);
}
[
helpstring("IUpdateServiceCollection Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(9b0353aa-0e52-44ff-b8b0-1f7fa0437f88),
pointer_default(unique)
]
interface IUpdateServiceCollection : IDispatch
{
//properties:
[
id(DISPID_VALUE),
propget,
helpstring("Gets an element in the collection.")
]
HRESULT Item(
[in] LONG index,
[out, retval] IUpdateService** retval);
[
id(DISPID_NEWENUM),
propget,
helpstring(
"Gets an IEnumVARIANT interface on an object that can be used to "
"enumerate the collection.")
]
HRESULT _NewEnum(
[out, retval] IUnknown** retval);
[
id(0x60020001),
propget,
helpstring("Gets the number of elements contained in the collection.")
]
HRESULT Count(
[out, retval] LONG* retval);
}
[
helpstring("IUpdateServiceRegistration Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(dde02280-12b3-4e0b-937b-6747f6acb286),
pointer_default(unique)
]
interface IUpdateServiceRegistration : IDispatch
{
//properties:
[
id(DISPID_VALUE),
propget,
helpstring(
"Gets the registration state of the Service.")
]
HRESULT RegistrationState(
[out, retval] UpdateServiceRegistrationState* retval);
[
id(0x60020001),
propget,
helpstring("Gets the service ID associated with the registration.")
]
HRESULT ServiceID(
[out, retval] BSTR* retval);
[
id(0x60020002),
propget,
helpstring("Whether the Service is pending registration with AU.")
]
HRESULT IsPendingRegistrationWithAU(
[out, retval] VARIANT_BOOL* retval);
[
id(0x60020003),
propget,
helpstring("Information on the Service.")
]
HRESULT Service(
[out, retval] IUpdateService2** retval);
}
[
helpstring("IUpdateServiceManager Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(23857e3c-02ba-44a3-9423-b1c900805f37),
pointer_default(unique)
]
interface IUpdateServiceManager : IDispatch
{
//properties:
[
id(0x60020001),
propget,
helpstring("Gets the services registered with Windows Update Agent.")
]
HRESULT Services(
[out, retval] IUpdateServiceCollection** retval);
//methods:
[
id(0x60020002),
helpstring("Registers a service with Windows Update Agent.")
]
HRESULT AddService(
[in] BSTR serviceID,
[in] BSTR authorizationCabPath,
[out, retval] IUpdateService** retval);
[
id(0x60020003),
helpstring("Registers the service with Automatic Updates.")
]
HRESULT RegisterServiceWithAU(
[in] BSTR serviceID);
[
id(0x60020004),
helpstring("Removes a service registration from Windows Update Agent.")
]
HRESULT RemoveService(
[in] BSTR serviceID);
[
id(0x60020005),
helpstring("Unregisters the service from Automatic Updates.")
]
HRESULT UnregisterServiceWithAU(
[in] BSTR serviceID);
[
id(0x60020006),
helpstring("Adds the scan package service.")
]
HRESULT AddScanPackageService(
[in] BSTR serviceName,
[in] BSTR scanFileLocation,
[in, defaultvalue(0)] LONG flags,
[out, retval] IUpdateService **ppService);
[
id(0x60010007),
helpstring("Sets options for the functionality this object provides.")
]
HRESULT SetOption (
[in] BSTR optionName,
[in] VARIANT optionValue);
}
[
helpstring("IUpdateServiceManager2 Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(0bb8531d-7e8d-424f-986c-a0b8f60a3e7b),
pointer_default(unique),
hidden // already exposed by a class
]
interface IUpdateServiceManager2 : IUpdateServiceManager
{
//properties:
[
id(0x60030001),
propget,
helpstring("Gets the identifier of the current client application.")
]
HRESULT ClientApplicationID(
[out, retval] BSTR* retval);
[
id(0x60030001),
propput,
helpstring("Sets the identifier of the current client application.")
]
HRESULT ClientApplicationID(
[in] BSTR value);
//methods:
[
id(0x60030002),
helpstring("Look up an update service by its service ID.")
]
HRESULT QueryServiceRegistration(
[in] BSTR serviceID,
[out, retval] IUpdateServiceRegistration** retval);
[
id(0x60030003),
helpstring(
"Registers a service with Windows Update Agent without "
"specifying an authorization cabinet file.")
]
HRESULT AddService2(
[in] BSTR serviceID,
[in] LONG flags,
[in] BSTR authorizationCabPath,
[out, retval] IUpdateServiceRegistration** retval);
}
[
helpstring("IInstallationAgent Interface"),
object,
oleautomation,
dual,
nonextensible,
uuid(925cbc18-a2ea-4648-bf1c-ec8badcfe20a),
pointer_default(unique)
]
interface IInstallationAgent : IDispatch
{
//methods
[
id(0x60020001),
helpstring("Records the specified result for the update.")
]
HRESULT RecordInstallationResult(
[in] BSTR installationResultCookie,
[in] LONG hresult,
[in] IStringCollection* extendedReportingData);
}
[
uuid(B596CC9F-56E5-419E-A622-E01BB457431E),
version(2.0),
helpstring("WUAPI 2.0 Type Library")
]
library WUApiLib
{
importlib("stdole2.tlb");
[
helpstring(
"Defines the possible restrictions for IUpdateLockdown::LockDown() "
"to impose on an object"),
v1_enum
]
typedef [public] enum tagUpdateLockdownOption
{
[helpstring("For website access")] uloForWebsiteAccess = 0x00000001,
} UpdateLockdownOption;
[
helpstring(
"Defines the possible options for "
"IUpdateServiceManager2::AddService2()"),
v1_enum
]
typedef [public] enum tagAddServiceFlag
{
[helpstring("Allow deferred processing when not online")]
asfAllowPendingRegistration = 0x00000001,
[helpstring("Allow online processing")]
asfAllowOnlineRegistration = 0x00000002,
[helpstring("Register service with AU")]
asfRegisterServiceWithAU = 0x00000004,
} AddServiceFlag;
[
helpstring(
"Defines the possible service options when adding an update "
"service"),
v1_enum
]
typedef [public] enum tagUpdateServiceOption
{
[helpstring("Non-volatile service")] usoNonVolatileService = 0x00000001,
} UpdateServiceOption;
// Interface declarations
interface IUpdateLockdown;
interface IInvalidProductLicenseException;
interface IAutomaticUpdatesSettings2;
interface IAutomaticUpdatesSettings3;
interface IUpdate2;
interface IUpdate3;
interface IWindowsDriverUpdateEntry;
interface IWindowsDriverUpdateEntryCollection;
interface IUpdate4;
interface IUpdate5;
interface IWindowsDriverUpdate;
interface IWindowsDriverUpdate2;
interface IWindowsDriverUpdate3;
interface IWindowsDriverUpdate4;
interface IWindowsDriverUpdate5;
interface ISearchCompletedCallback;
interface IDownloadCompletedCallback;
interface IDownloadProgressChangedCallback;
interface IInstallationCompletedCallback;
interface IInstallationProgressChangedCallback;
interface IUpdateHistoryEntry2;
interface IUpdateDownloadContent2;
[
helpstring("StringCollection Class"),
uuid(72C97D74-7C3B-40AE-B77D-ABDB22EBA6FB)
]
coclass StringCollection
{
[default] interface IStringCollection;
};
[
helpstring("UpdateSearcher Class"),
uuid(B699E5E8-67FF-4177-88B0-3684A3388BFB)
]
coclass UpdateSearcher
{
[default] interface IUpdateSearcher3;
};
[
helpstring("WebProxy Class"),
uuid(650503cf-9108-4ddc-a2ce-6c2341e1c582)
]
coclass WebProxy
{
[default] interface IWebProxy;
};
[
helpstring("SystemInformation Class"),
uuid(C01B9BA0-BEA7-41BA-B604-D0A36F469133)
]
coclass SystemInformation
{
[default] interface ISystemInformation;
};
[
helpstring("WindowsUpdateAgentInfo Class"),
uuid(C2E88C2F-6F5B-4AAA-894B-55C847AD3A2D)
]
coclass WindowsUpdateAgentInfo
{
[default] interface IWindowsUpdateAgentInfo;
};
[
helpstring("AutomaticUpdates Class"),
uuid(BFE18E9C-6D87-4450-B37C-E02F0B373803)
]
coclass AutomaticUpdates
{
[default] interface IAutomaticUpdates2;
};
[
helpstring("UpdateCollection Class"),
uuid(13639463-00DB-4646-803D-528026140D88)
]
coclass UpdateCollection
{
[default] interface IUpdateCollection;
};
[
helpstring("UpdateDownloader Class"),
uuid(5BAF654A-5A07-4264-A255-9FF54C7151E7)
]
coclass UpdateDownloader
{
[default] interface IUpdateDownloader;
};
[
helpstring("UpdateInstaller Class"),
uuid(D2E0FE7F-D23E-48E1-93C0-6FA8CC346474)
]
coclass UpdateInstaller
{
[default] interface IUpdateInstaller2;
};
[
helpstring("UpdateSession Class"),
uuid(4CB43D7F-7EEE-4906-8698-60DA1C38F2FE)
]
coclass UpdateSession
{
[default] interface IUpdateSession3;
};
[
helpstring("UpdateServiceManager Class"),
uuid(F8D253D9-89A4-4DAA-87B6-1168369F0B21)
]
coclass UpdateServiceManager
{
[default] interface IUpdateServiceManager2;
};
[
helpstring("InstallationAgent Class"),
uuid(317E92FC-1679-46FD-A0B5-F08914DD8623)
]
coclass InstallationAgent
{
[default] interface IInstallationAgent;
};
};