From eac708fbdc1522d4f4ea0b1d5626b737429ac372 Mon Sep 17 00:00:00 2001 From: Useful Stuffs <157041205+usefulstuffs@users.noreply.github.com> Date: Sun, 11 Feb 2024 12:51:01 +0100 Subject: [PATCH] Add files via upload --- LICENSE.md | 202 + LegacyUpdate.sln | 37 + LegacyUpdate/Compat.cpp | 39 + LegacyUpdate/Compat.h | 6 + LegacyUpdate/CplTasks.xml | 18 + LegacyUpdate/ElevationHelper.cpp | 74 + LegacyUpdate/ElevationHelper.h | 44 + LegacyUpdate/ElevationHelper.rgs | 32 + LegacyUpdate/LaunchUpdateSite.cpp | 174 + LegacyUpdate/LaunchUpdateSite.h | 3 + LegacyUpdate/LegacyUpdate.def | 8 + LegacyUpdate/LegacyUpdate.idl | 123 + LegacyUpdate/LegacyUpdate.rc | 153 + LegacyUpdate/LegacyUpdate.rgs | 14 + LegacyUpdate/LegacyUpdate.vcxproj | 493 + LegacyUpdate/LegacyUpdate.vcxproj.filters | 136 + LegacyUpdate/LegacyUpdateCtrl.cpp | 435 + LegacyUpdate/LegacyUpdateCtrl.h | 114 + LegacyUpdate/LegacyUpdateCtrl.rgs | 37 + LegacyUpdate/Makefile | 17 + LegacyUpdate/ProgressBarControl.cpp | 65 + LegacyUpdate/ProgressBarControl.h | 77 + LegacyUpdate/ProgressBarControl.html | 48 + LegacyUpdate/ProgressBarControl.rgs | 34 + LegacyUpdate/Resource.h | 26 + LegacyUpdate/Utils.cpp | 177 + LegacyUpdate/Utils.h | 15 + LegacyUpdate/build.cmd | 17 + LegacyUpdate/dlldata.c | 38 + LegacyUpdate/dlldatax.c | 18 + LegacyUpdate/dlldatax.h | 11 + LegacyUpdate/dllmain.cpp | 108 + LegacyUpdate/dllmain.h | 10 + LegacyUpdate/icon.ico | Bin 0 -> 83677 bytes LegacyUpdate/stdafx.cpp | 5 + LegacyUpdate/stdafx.h | 28 + LegacyUpdate/targetver.h | 11 + Makefile | 17 + README.md | 77 + build.cmd | 21 + build/getvc.cmd | 23 + build/sign.cmd | 10 + build/sign.sh | 9 + include/atlcomcli.h | 959 ++ include/atlcore.h | 310 + include/nsis/api.h | 85 + include/nsis/nsis_tchar.h | 229 + include/nsis/pluginapi.c | 305 + include/nsis/pluginapi.h | 108 + include/wuapi.h | 17341 ++++++++++++++++++++ include/wuerror.h | 2581 +++ nsisplugin/EnableMicrosoftUpdate.c | 41 + nsisplugin/IsProcessRunning.c | 45 + nsisplugin/Makefile | 110 + nsisplugin/MessageForHresult.c | 14 + nsisplugin/TaskbarProgress.c | 109 + nsisplugin/main.c | 10 + nsisplugin/main.h | 4 + nsisplugin/resource.h | 0 nsisplugin/resource.rc | 53 + nsisplugin/stdafx.h | 16 + setup/7z.exe | Bin 0 -> 1301195 bytes setup/7zip.nsh | 4 + setup/ActiveX.inf | 9 + setup/AeroWizard.nsh | 86 + setup/Common.nsh | 258 + setup/Constants.nsh | 51 + setup/Download2KXP.nsh | 122 + setup/Download8.nsh | 46 + setup/DownloadVista7.nsh | 145 + setup/DownloadWUA.nsh | 47 + setup/Patches.ini | 346 + setup/RunOnce.nsh | 166 + setup/UpdateRoots.nsh | 82 + setup/Win32.nsh | 69 + setup/WinVer.nsh | 173 + setup/codebase/lucontrl.ddf | 20 + setup/codebase/setup.inf | 9 + setup/codebase/test.html | 1 + setup/ie6setupstub.nsi | 89 + setup/modern_aerowizard.exe | Bin 0 -> 6144 bytes setup/setup.nsi | 944 ++ setup/setupbanner.bmp | Bin 0 -> 104054 bytes setup/updroots.exe | Bin 0 -> 6656 bytes setup/x86-unicode/LegacyUpdateNSIS.dll | Bin 0 -> 69808 bytes setup/x86-unicode/NSxfer.dll | Bin 0 -> 81584 bytes setup/x86-unicode/System.dll | Bin 0 -> 51376 bytes shared/HResult.c | 20 + shared/HResult.h | 5 + shared/VersionInfo.cpp | 25 + shared/VersionInfo.h | 6 + shared/WMI.cpp | 45 + shared/WMI.h | 6 + shared/WUErrors.c | 266 + shared/WUErrors.h | 9 + shared/stdafx.h | 0 96 files changed, 28373 insertions(+) create mode 100644 LICENSE.md create mode 100644 LegacyUpdate.sln create mode 100644 LegacyUpdate/Compat.cpp create mode 100644 LegacyUpdate/Compat.h create mode 100644 LegacyUpdate/CplTasks.xml create mode 100644 LegacyUpdate/ElevationHelper.cpp create mode 100644 LegacyUpdate/ElevationHelper.h create mode 100644 LegacyUpdate/ElevationHelper.rgs create mode 100644 LegacyUpdate/LaunchUpdateSite.cpp create mode 100644 LegacyUpdate/LaunchUpdateSite.h create mode 100644 LegacyUpdate/LegacyUpdate.def create mode 100644 LegacyUpdate/LegacyUpdate.idl create mode 100644 LegacyUpdate/LegacyUpdate.rc create mode 100644 LegacyUpdate/LegacyUpdate.rgs create mode 100644 LegacyUpdate/LegacyUpdate.vcxproj create mode 100644 LegacyUpdate/LegacyUpdate.vcxproj.filters create mode 100644 LegacyUpdate/LegacyUpdateCtrl.cpp create mode 100644 LegacyUpdate/LegacyUpdateCtrl.h create mode 100644 LegacyUpdate/LegacyUpdateCtrl.rgs create mode 100644 LegacyUpdate/Makefile create mode 100644 LegacyUpdate/ProgressBarControl.cpp create mode 100644 LegacyUpdate/ProgressBarControl.h create mode 100644 LegacyUpdate/ProgressBarControl.html create mode 100644 LegacyUpdate/ProgressBarControl.rgs create mode 100644 LegacyUpdate/Resource.h create mode 100644 LegacyUpdate/Utils.cpp create mode 100644 LegacyUpdate/Utils.h create mode 100644 LegacyUpdate/build.cmd create mode 100644 LegacyUpdate/dlldata.c create mode 100644 LegacyUpdate/dlldatax.c create mode 100644 LegacyUpdate/dlldatax.h create mode 100644 LegacyUpdate/dllmain.cpp create mode 100644 LegacyUpdate/dllmain.h create mode 100644 LegacyUpdate/icon.ico create mode 100644 LegacyUpdate/stdafx.cpp create mode 100644 LegacyUpdate/stdafx.h create mode 100644 LegacyUpdate/targetver.h create mode 100644 Makefile create mode 100644 README.md create mode 100644 build.cmd create mode 100644 build/getvc.cmd create mode 100644 build/sign.cmd create mode 100644 build/sign.sh create mode 100644 include/atlcomcli.h create mode 100644 include/atlcore.h create mode 100644 include/nsis/api.h create mode 100644 include/nsis/nsis_tchar.h create mode 100644 include/nsis/pluginapi.c create mode 100644 include/nsis/pluginapi.h create mode 100644 include/wuapi.h create mode 100644 include/wuerror.h create mode 100644 nsisplugin/EnableMicrosoftUpdate.c create mode 100644 nsisplugin/IsProcessRunning.c create mode 100644 nsisplugin/Makefile create mode 100644 nsisplugin/MessageForHresult.c create mode 100644 nsisplugin/TaskbarProgress.c create mode 100644 nsisplugin/main.c create mode 100644 nsisplugin/main.h create mode 100644 nsisplugin/resource.h create mode 100644 nsisplugin/resource.rc create mode 100644 nsisplugin/stdafx.h create mode 100644 setup/7z.exe create mode 100644 setup/7zip.nsh create mode 100644 setup/ActiveX.inf create mode 100644 setup/AeroWizard.nsh create mode 100644 setup/Common.nsh create mode 100644 setup/Constants.nsh create mode 100644 setup/Download2KXP.nsh create mode 100644 setup/Download8.nsh create mode 100644 setup/DownloadVista7.nsh create mode 100644 setup/DownloadWUA.nsh create mode 100644 setup/Patches.ini create mode 100644 setup/RunOnce.nsh create mode 100644 setup/UpdateRoots.nsh create mode 100644 setup/Win32.nsh create mode 100644 setup/WinVer.nsh create mode 100644 setup/codebase/lucontrl.ddf create mode 100644 setup/codebase/setup.inf create mode 100644 setup/codebase/test.html create mode 100644 setup/ie6setupstub.nsi create mode 100644 setup/modern_aerowizard.exe create mode 100644 setup/setup.nsi create mode 100644 setup/setupbanner.bmp create mode 100644 setup/updroots.exe create mode 100644 setup/x86-unicode/LegacyUpdateNSIS.dll create mode 100644 setup/x86-unicode/NSxfer.dll create mode 100644 setup/x86-unicode/System.dll create mode 100644 shared/HResult.c create mode 100644 shared/HResult.h create mode 100644 shared/VersionInfo.cpp create mode 100644 shared/VersionInfo.h create mode 100644 shared/WMI.cpp create mode 100644 shared/WMI.h create mode 100644 shared/WUErrors.c create mode 100644 shared/WUErrors.h create mode 100644 shared/stdafx.h diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/LegacyUpdate.sln b/LegacyUpdate.sln new file mode 100644 index 0000000..7b5cdbf --- /dev/null +++ b/LegacyUpdate.sln @@ -0,0 +1,37 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32929.385 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LegacyUpdate", "LegacyUpdate\LegacyUpdate.vcxproj", "{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug-VC08|Win32 = Debug-VC08|Win32 + Debug-VC08|x64 = Debug-VC08|x64 + Debug-VC17|Win32 = Debug-VC17|Win32 + Debug-VC17|x64 = Debug-VC17|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC08|Win32.ActiveCfg = Debug-VC08|Win32 + {95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC08|Win32.Build.0 = Debug-VC08|Win32 + {95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC08|x64.ActiveCfg = Debug-VC17|x64 + {95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC08|x64.Build.0 = Debug-VC17|x64 + {95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC17|Win32.ActiveCfg = Debug-VC17|Win32 + {95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC17|Win32.Build.0 = Debug-VC17|Win32 + {95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC17|x64.ActiveCfg = Debug-VC17|x64 + {95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC17|x64.Build.0 = Debug-VC17|x64 + {95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Release|Win32.ActiveCfg = Release|Win32 + {95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Release|Win32.Build.0 = Release|Win32 + {95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Release|x64.ActiveCfg = Release|x64 + {95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {E11EF986-8512-4F69-B67C-C40CCB81052A} + EndGlobalSection +EndGlobal diff --git a/LegacyUpdate/Compat.cpp b/LegacyUpdate/Compat.cpp new file mode 100644 index 0000000..0d601d2 --- /dev/null +++ b/LegacyUpdate/Compat.cpp @@ -0,0 +1,39 @@ +#include "stdafx.h" +#include +#include "Utils.h" + +typedef BOOL (WINAPI *_Wow64DisableWow64FsRedirection)(PVOID *OldValue); +typedef BOOL (WINAPI *_Wow64RevertWow64FsRedirection)(PVOID OldValue); +typedef BOOL (WINAPI *_GetProductInfo)(DWORD, DWORD, DWORD, DWORD, PDWORD); + +// XP+ +_Wow64DisableWow64FsRedirection $Wow64DisableWow64FsRedirection = (_Wow64DisableWow64FsRedirection)GetProcAddress(GetModuleHandle(L"kernel32.dll"), "Wow64DisableWow64FsRedirection"); +_Wow64RevertWow64FsRedirection $Wow64RevertWow64FsRedirection = (_Wow64RevertWow64FsRedirection)GetProcAddress(GetModuleHandle(L"kernel32.dll"), "Wow64RevertWow64FsRedirection"); + +// Vista+ +_GetProductInfo $GetProductInfo = (_GetProductInfo)GetProcAddress(GetModuleHandle(L"kernel32.dll"), "GetProductInfo"); + +BOOL GetVistaProductInfo(DWORD dwOSMajorVersion, DWORD dwOSMinorVersion, DWORD dwSpMajorVersion, DWORD dwSpMinorVersion, PDWORD pdwReturnedProductType) { + if ($GetProductInfo) { + return $GetProductInfo(dwOSMajorVersion, dwOSMinorVersion, dwSpMajorVersion, dwSpMinorVersion, pdwReturnedProductType); + } else { + *pdwReturnedProductType = PRODUCT_UNDEFINED; + return FALSE; + } +} + +BOOL DisableWow64FsRedirection(PVOID *OldValue) { + if ($Wow64DisableWow64FsRedirection) { + return $Wow64DisableWow64FsRedirection(OldValue); + } else { + return TRUE; + } +} + +BOOL RevertWow64FsRedirection(PVOID OldValue) { + if ($Wow64RevertWow64FsRedirection) { + return $Wow64RevertWow64FsRedirection(OldValue); + } else { + return TRUE; + } +} diff --git a/LegacyUpdate/Compat.h b/LegacyUpdate/Compat.h new file mode 100644 index 0000000..fb6e816 --- /dev/null +++ b/LegacyUpdate/Compat.h @@ -0,0 +1,6 @@ +#pragma once + +BOOL GetVistaProductInfo(DWORD dwOSMajorVersion, DWORD dwOSMinorVersion, DWORD dwSpMajorVersion, DWORD dwSpMinorVersion, PDWORD pdwReturnedProductType); + +BOOL DisableWow64FsRedirection(PVOID *OldValue); +BOOL RevertWow64FsRedirection(PVOID OldValue); diff --git a/LegacyUpdate/CplTasks.xml b/LegacyUpdate/CplTasks.xml new file mode 100644 index 0000000..c9b4626 --- /dev/null +++ b/LegacyUpdate/CplTasks.xml @@ -0,0 +1,18 @@ + + + + + @"%ProgramFiles%\Legacy Update\LegacyUpdate.dll",-3 + legacy update;legacyupdate;update;windows;microsoft;driver;security;software; + %windir%\system32\rundll32.exe "%ProgramFiles%\Legacy Update\LegacyUpdate.dll",LaunchUpdateSite + + + + + + + + + + + diff --git a/LegacyUpdate/ElevationHelper.cpp b/LegacyUpdate/ElevationHelper.cpp new file mode 100644 index 0000000..f8ea24e --- /dev/null +++ b/LegacyUpdate/ElevationHelper.cpp @@ -0,0 +1,74 @@ +// ElevationHelper.cpp : Implementation of CElevationHelper +#include "stdafx.h" +#include "ElevationHelper.h" +#include "Utils.h" +#include + +const BSTR permittedProgIDs[] = { + L"Microsoft.Update.", + NULL +}; +const int permittedProgIDsMax = 1; + +BOOL ProgIDIsPermitted(PWSTR progID) { + if (progID == NULL) { + return FALSE; + } + + for (int i = 0; i < permittedProgIDsMax; i++) { + if (wcsncmp(progID, permittedProgIDs[i], wcslen(permittedProgIDs[i])) == 0) { + return TRUE; + } + } + return FALSE; +} + +STDMETHODIMP CoCreateInstanceAsAdmin(HWND hwnd, __in REFCLSID rclsid, __in REFIID riid, __deref_out void **ppv) { + WCHAR clsidString[45]; + StringFromGUID2(rclsid, clsidString, ARRAYSIZE(clsidString)); + + WCHAR monikerName[75]; + HRESULT hr = StringCchPrintf(monikerName, ARRAYSIZE(monikerName), L"Elevation:Administrator!new:%s", clsidString); + if (!SUCCEEDED(hr)) { + return hr; + } + + BIND_OPTS3 bindOpts; + memset(&bindOpts, 0, sizeof(bindOpts)); + bindOpts.cbStruct = sizeof(bindOpts); + bindOpts.hwnd = hwnd; + bindOpts.dwClassContext = CLSCTX_LOCAL_SERVER; + return CoGetObject(monikerName, &bindOpts, riid, ppv); +} + +HRESULT CElevationHelper::CreateObject(BSTR progID, IDispatch **retval) { + if (progID == NULL) { + return E_INVALIDARG; + } + + HRESULT hr = S_OK; + CComPtr object; + if (!ProgIDIsPermitted(progID)) { + hr = E_ACCESSDENIED; + goto end; + } + + CLSID clsid; + hr = CLSIDFromProgID(progID, &clsid); + if (!SUCCEEDED(hr)) { + goto end; + } + + hr = object.CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER); + if (!SUCCEEDED(hr)) { + goto end; + } + + *retval = object.Detach(); + +end: + if (!SUCCEEDED(hr)) { + TRACE("CreateObject(%ls) failed: %ls\n", progID, GetMessageForHresult(hr)); + } + return hr; +} diff --git a/LegacyUpdate/ElevationHelper.h b/LegacyUpdate/ElevationHelper.h new file mode 100644 index 0000000..e81bb26 --- /dev/null +++ b/LegacyUpdate/ElevationHelper.h @@ -0,0 +1,44 @@ +#pragma once + +// ElevationHelper.h : Declaration of the CElevationHelper class. + +#include +#include "resource.h" +#include "LegacyUpdate_i.h" + +BOOL ProgIDIsPermitted(PWSTR progID); +STDMETHODIMP CoCreateInstanceAsAdmin(HWND hwnd, __in REFCLSID rclsid, __in REFIID riid, __deref_out void **ppv); + +// CElevationHelper +class ATL_NO_VTABLE CElevationHelper : + public CComObjectRootEx, + public CComCoClass, + public ISupportErrorInfo, + public IDispatchImpl { + +public: + CElevationHelper() {} + + DECLARE_REGISTRY_RESOURCEID(IDR_ELEVATIONHELPER) + + BEGIN_COM_MAP(CElevationHelper) + COM_INTERFACE_ENTRY(IElevationHelper) + COM_INTERFACE_ENTRY(IDispatch) + COM_INTERFACE_ENTRY(ISupportErrorInfo) + END_COM_MAP() + + // ISupportsErrorInfo + STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid) { + return IsEqualGUID(riid, IID_IElevationHelper) ? S_OK : S_FALSE; + } + + // IElevationHelper + DECLARE_PROTECT_FINAL_CONSTRUCT() + + HRESULT FinalConstruct() { return S_OK; } + void FinalRelease() {} + + STDMETHODIMP CreateObject(BSTR progID, IDispatch **retval); +}; + +OBJECT_ENTRY_AUTO(__uuidof(ElevationHelper), CElevationHelper) diff --git a/LegacyUpdate/ElevationHelper.rgs b/LegacyUpdate/ElevationHelper.rgs new file mode 100644 index 0000000..696e2a9 --- /dev/null +++ b/LegacyUpdate/ElevationHelper.rgs @@ -0,0 +1,32 @@ +HKCR +{ + LegacyUpdate.ElevationHelper.1 = s 'Legacy Update Elevation Helper' + { + CLSID = s '{84F517AD-6438-478F-BEA8-F0B808DC257F}' + } + LegacyUpdate.ElevationHelper = s 'Legacy Update Elevation Helper' + { + CurVer = s 'LegacyUpdate.ElevationHelper.1' + } + NoRemove CLSID + { + ForceRemove {84F517AD-6438-478F-BEA8-F0B808DC257F} = s 'Legacy Update Elevation Helper' + { + ProgID = s 'LegacyUpdate.ElevationHelper.1' + VersionIndependentProgID = s 'LegacyUpdate.ElevationHelper' + InprocServer32 = s '%MODULE%' + { + val ThreadingModel = s 'Apartment' + } + val AppID = s '%APPID%' + val LocalizedString = s '@%MODULE%,-2' + TypeLib = s '{05D22F33-C7C3-4C90-BDD9-CEDC86EA8FBE}' + Version = s '1.0' + Elevation + { + val Enabled = d '1' + val IconReference = s '@%MODULE%,-201' + } + } + } +} diff --git a/LegacyUpdate/LaunchUpdateSite.cpp b/LegacyUpdate/LaunchUpdateSite.cpp new file mode 100644 index 0000000..129e8ac --- /dev/null +++ b/LegacyUpdate/LaunchUpdateSite.cpp @@ -0,0 +1,174 @@ +#include "stdafx.h" +#include +#include +#include +#include +#include +#include "Utils.h" +#include "LegacyUpdate_i.h" +#include "dllmain.h" + +const LPCSTR UpdateSiteHostname = "legacyupdate.net"; +const LPWSTR UpdateSiteURLHttp = L"http://legacyupdate.net/windowsupdate/v6/"; +const LPWSTR UpdateSiteURLHttps = L"https://legacyupdate.net/windowsupdate/v6/"; +const LPWSTR UpdateSiteFirstRunFlag = L"?firstrun=true"; + +static BOOL CanUseSSLConnection() { + // Get the Windows Update website URL set by Legacy Update setup + LPWSTR data; + DWORD size; + HRESULT hr = GetRegistryString(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\WindowsUpdate", L"URL", NULL, &data, &size); + if (!SUCCEEDED(hr)) { + goto end; + } + + // Return based on the URL value + if (StrCmpW(data, UpdateSiteURLHttps) == 0) { + return TRUE; + } else if (StrCmpW(data, UpdateSiteURLHttp) == 0) { + return FALSE; + } + +end: + // Fallback: Use SSL only on Vista and up + OSVERSIONINFOEX *versionInfo = GetVersionInfo(); + return versionInfo->dwMajorVersion > 5; +} + +// Function signature required by Rundll32.exe. +void CALLBACK LaunchUpdateSite(HWND hwnd, HINSTANCE hInstance, LPSTR lpszCmdLine, int nCmdShow) { + HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); + CComPtr browser; + CComVariant url; + CComVariant flags(0); + CComVariant nullVariant; + if (!SUCCEEDED(hr)) { + goto end; + } + + // If running on 2k/XP, make sure we're elevated. If not, show Run As prompt. + if (GetVersionInfo()->dwMajorVersion < 6 && !IsUserAnAdmin()) { + LPWSTR filename; + DWORD filenameSize; + GetOwnFileName(&filename, &filenameSize); + WCHAR args[MAX_PATH + 20]; + StringCchPrintfW(args, filenameSize + 20, L"\"%ls\",LaunchUpdateSite", filename); + + // Ignore C4311 and C4302, which is for typecasts. It is due to ShellExec and should be safe to bypass. + #pragma warning(disable: 4311 4302) + int execResult = (int)ShellExecute(NULL, L"runas", L"rundll32.exe", args, NULL, SW_SHOWDEFAULT); + #pragma warning(default: 4311 4302) + + // Access denied happens when the user clicks No/Cancel. + if (execResult <= 32 && execResult != SE_ERR_ACCESSDENIED) { + hr = E_FAIL; + } + goto end; + } + + // Spawn an IE window via the COM interface. This ensures the page opens in IE (ShellExecute uses + // default browser), and avoids hardcoding a path to iexplore.exe. Also conveniently allows testing + // on Windows 11 (iexplore.exe redirects to Edge, but COM still works). Same strategy as used by + // Wupdmgr.exe and Muweb.dll,LaunchMUSite. + hr = browser.CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_LOCAL_SERVER); + if (hr == REGDB_E_CLASSNOTREG) { + // Handle case where the user has uninstalled Internet Explorer using Programs and Features. + OSVERSIONINFOEX *versionInfo = GetVersionInfo(); + + // Windows 8+: Directly prompt to reinstall IE using Fondue.exe. + SYSTEM_INFO systemInfo; + GetSystemInfo(&systemInfo); + LPWSTR archSuffix = systemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 ? L"amd64" : L"x86"; + + WCHAR fondueArgs[256]; + StringCchPrintfW(fondueArgs, 256, L"/enable-feature:Internet-Explorer-Optional-%ls", archSuffix); + #pragma warning(disable: 4311 4302) + int execResult = (int)ShellExecute(NULL, L"open", L"fondue.exe", fondueArgs, NULL, SW_SHOWDEFAULT); + #pragma warning(default: 4311 4302) + + if (execResult <= 32) { + // Tell the user what they need to do, then open the Optional Features dialog. + WCHAR message[4096]; + LoadString(g_hInstance, IDS_IENOTINSTALLED, message, ARRAYSIZE(message)); + MessageBox(hwnd, message, L"Legacy Update", MB_OK | MB_ICONEXCLAMATION); + ShellExecute(NULL, L"open", L"OptionalFeatures.exe", NULL, NULL, SW_SHOWDEFAULT); + } + hr = S_OK; + goto end; + } else if (!SUCCEEDED(hr)) { + goto end; + } + + // Can we connect with https? WinInet will throw an error if not. + LPWSTR siteURL = CanUseSSLConnection() ? UpdateSiteURLHttps : UpdateSiteURLHttp; + + // Is this a first run launch? Append first run flag if so. + if (strcmp(lpszCmdLine, "firstrun") == 0) { + WCHAR newSiteURL[256]; + StringCchPrintfW(newSiteURL, 256, L"%s%s", siteURL, UpdateSiteFirstRunFlag); + siteURL = newSiteURL; + } + + url = siteURL; + hr = browser->Navigate2(&url, &flags, &nullVariant, &nullVariant, &nullVariant); + if (!SUCCEEDED(hr)) { + goto end; + } + + HWND ieHwnd; + hr = browser->get_HWND((SHANDLE_PTR *)&ieHwnd); + if (!SUCCEEDED(hr)) { + goto end; + } + + // Are we on a small display? If so, resize and maximise the window. + HMONITOR monitor = MonitorFromWindow(ieHwnd, MONITOR_DEFAULTTONEAREST); + MONITORINFO monitorInfo; + monitorInfo.cbSize = sizeof(MONITORINFO); + + if (GetMonitorInfo(monitor, &monitorInfo) > 0) { + LONG workWidth = monitorInfo.rcWork.right - monitorInfo.rcWork.left; + LONG workHeight = monitorInfo.rcWork.bottom - monitorInfo.rcWork.top; + + LONG width, height; + browser->get_Width(&width); + browser->get_Height(&height); + + if (width < 800) { + width = min(800, workWidth); + browser->put_Width(width); + } + if (height < 600) { + height = min(600, workHeight); + browser->put_Height(height); + } + + LONG left, top; + browser->get_Left(&left); + browser->get_Top(&top); + + if (left + width > workWidth) { + browser->put_Left(0); + } + if (top + height > workHeight) { + browser->put_Top(0); + } + + if (workWidth <= 1152) { + ShowWindow(ieHwnd, SW_MAXIMIZE); + } + } + + browser->put_Visible(TRUE); + + // Focus the window, since it seems to not always get focus as it should. + SetForegroundWindow(ieHwnd); + +end: + if (!SUCCEEDED(hr)) { + MessageBox(NULL, GetMessageForHresult(hr), L"Legacy Update", MB_OK | MB_ICONEXCLAMATION); + } + + browser = NULL; + CoUninitialize(); +} diff --git a/LegacyUpdate/LaunchUpdateSite.h b/LegacyUpdate/LaunchUpdateSite.h new file mode 100644 index 0000000..cfe1335 --- /dev/null +++ b/LegacyUpdate/LaunchUpdateSite.h @@ -0,0 +1,3 @@ +#pragma once + +void CALLBACK LaunchUpdateSite(HWND hwnd, HINSTANCE hinstance, LPSTR lpszCmdLine, int nCmdShow); \ No newline at end of file diff --git a/LegacyUpdate/LegacyUpdate.def b/LegacyUpdate/LegacyUpdate.def new file mode 100644 index 0000000..30ba241 --- /dev/null +++ b/LegacyUpdate/LegacyUpdate.def @@ -0,0 +1,8 @@ +; LegacyUpdate.def : Declares the module parameters. + +EXPORTS + DllCanUnloadNow PRIVATE + DllGetClassObject PRIVATE + DllRegisterServer PRIVATE + DllUnregisterServer PRIVATE + LaunchUpdateSite PRIVATE diff --git a/LegacyUpdate/LegacyUpdate.idl b/LegacyUpdate/LegacyUpdate.idl new file mode 100644 index 0000000..f75306c --- /dev/null +++ b/LegacyUpdate/LegacyUpdate.idl @@ -0,0 +1,123 @@ +// LegacyUpdate.idl : IDL source for LegacyUpdate +// + +// This file will be processed by the MIDL tool to +// produce the type library (LegacyUpdate.tlb) and marshalling code. + +#include +#include +import "oaidl.idl"; +import "ocidl.idl"; + +typedef enum { + e_majorVer = 0, + e_minorVer = 1, + e_buildNumber = 2, + e_platform = 3, + e_SPMajor = 4, + e_SPMinor = 5, + e_productSuite = 6, + e_productType = 7, + e_systemMetric = 8, + e_SPVersionString = 9, + e_controlVersionString = 10, + e_VistaProductType = 11, + e_productName = 12, + e_displayVersion = 13, + e_maxOSVersionFieldValue = 13 +} OSVersionField; + +typedef enum { + e_nonAdmin = 0, + e_admin = 2, + e_elevated = 3 +} UserType; + +[ + object, + uuid(C33085BB-C3E1-4D27-A214-AF01953DF5E5), + dual, + nonextensible, + helpstring("ILegacyUpdateCtrl Interface"), + pointer_default(unique) +] +interface ILegacyUpdateCtrl : IDispatch { + [id(1)] HRESULT CheckControl([out, retval] VARIANT_BOOL *retval); + [id(2)] HRESULT MessageForHresult(LONG inHresult, [out, retval] BSTR *retval); + [id(3)] HRESULT GetOSVersionInfo(OSVersionField osField, LONG systemMetric, [out, retval] VARIANT *retval); + [id(14)] HRESULT RequestElevation(void); + [id(4)] HRESULT CreateObject(BSTR progID, [out, retval] IDispatch **retval); + [id(5)] HRESULT GetUserType([out, retval] UserType *retval); + [id(8)] HRESULT RebootIfRequired(void); + [id(9)] HRESULT ViewWindowsUpdateLog(void); + [id(13)] HRESULT OpenWindowsUpdateSettings(void); + + [id(6), propget] HRESULT IsRebootRequired([out, retval] VARIANT_BOOL *retval); + [id(7), propget] HRESULT IsWindowsUpdateDisabled([out, retval] VARIANT_BOOL *retval); + [id(10), propget] HRESULT IsUsingWsusServer([out, retval] VARIANT_BOOL *retval); + [id(11), propget] HRESULT WsusServerUrl([out, retval] BSTR *retval); + [id(12), propget] HRESULT WsusStatusServerUrl([out, retval] BSTR *retval); +}; + +[ + object, + uuid(4524BFBF-70BD-4EAC-AD33-6BADA4FB0638), + dual, + nonextensible, + pointer_default(unique) +] +interface IProgressBarControl : IDispatch +{ + [id(1), propget] HRESULT Value([out, retval] SHORT *retval); + [id(1), propput] HRESULT Value([in] SHORT newVal); +}; + +[ + object, + uuid(3236E684-0E4B-4780-9F31-F1983F5AB78D), + dual, + nonextensible, + pointer_default(unique), + oleautomation +] +interface IElevationHelper : IDispatch +{ + [id(1)] HRESULT CreateObject(BSTR progID, [out, retval] IDispatch **retval); +}; + +[ + uuid(05D22F33-C7C3-4C90-BDD9-CEDC86EA8FBE), + version(1.0), + helpstring("Legacy Update Control") +] +library LegacyUpdateLib { + importlib(STDOLE_TLB); + + [ + uuid(AD28E0DF-5F5A-40B5-9432-85EFD97D1F9F), + control, + helpstring("LegacyUpdateCtrl Class") + ] + coclass LegacyUpdateCtrl { + [default] interface ILegacyUpdateCtrl; + }; + + [ + uuid(7B875A2F-2DFB-4D38-91F5-5C0BFB74C377), + control, + helpstring("ProgressBarControl Class") + ] + coclass ProgressBarControl + { + [default] interface IProgressBarControl; + }; + + [ + uuid(84F517AD-6438-478F-BEA8-F0B808DC257F), + helpstring("ElevationHelper Class") + ] + coclass ElevationHelper + { + [default] interface IElevationHelper; + }; +}; diff --git a/LegacyUpdate/LegacyUpdate.rc b/LegacyUpdate/LegacyUpdate.rc new file mode 100644 index 0000000..90e2e15 --- /dev/null +++ b/LegacyUpdate/LegacyUpdate.rc @@ -0,0 +1,153 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#ifndef APSTUDIO_INVOKED +#include "targetver.h" +#endif +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(65001) + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#ifndef APSTUDIO_INVOKED\r\n" + "#include ""targetver.h""\r\n" + "#endif\r\n" + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "1 TYPELIB ""LegacyUpdate.tlb""\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,9,0,0 + PRODUCTVERSION 1,9,0,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "Hashbang Productions" + VALUE "FileDescription", "Legacy Update" + VALUE "FileVersion", "1.9.0.0" + VALUE "InternalName", "LegacyUpdate.dll" + VALUE "LegalCopyright", "© Hashbang Productions. All rights reserved." + VALUE "OriginalFilename", "LegacyUpdate.dll" + VALUE "ProductName", "Legacy Update" + VALUE "ProductVersion", "1.9.0.0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_ICON1 ICON "icon.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// REGISTRY +// + +IDR_LEGACYUPDATEOCX REGISTRY "LegacyUpdate.rgs" + +IDR_LEGACYUPDATECTRL REGISTRY "LegacyUpdateCtrl.rgs" + +IDR_PROGRESSBARCONTROL REGISTRY "ProgressBarControl.rgs" + +IDR_ELEVATIONHELPER REGISTRY "ElevationHelper.rgs" + + +///////////////////////////////////////////////////////////////////////////// +// +// XML +// + +IDR_CPLTASKS XML "CplTasks.xml" + + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE +BEGIN + IDS_LEGACYUPDATEOCX "Legacy Update Control" + IDS_LEGACYUPDATE "Legacy Update" + IDS_CHECKFORUPDATES "Check for updates" + IDS_CHECKFORUPDATES_ALT "Check for software and driver updates via Legacy Update." + IDS_IENOTINSTALLED "Internet Explorer is not installed. Use Optional Features in Control Panel to install it before using Legacy Update." +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// +1 TYPELIB "LegacyUpdate.tlb" + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/LegacyUpdate/LegacyUpdate.rgs b/LegacyUpdate/LegacyUpdate.rgs new file mode 100644 index 0000000..6d2f147 --- /dev/null +++ b/LegacyUpdate/LegacyUpdate.rgs @@ -0,0 +1,14 @@ +HKCR +{ + NoRemove AppID + { + '%APPID%' = s 'Legacy Update Control' + { + val DllSurrogate = s '' + } + 'LegacyUpdate.dll' + { + val AppID = s '%APPID%' + } + } +} diff --git a/LegacyUpdate/LegacyUpdate.vcxproj b/LegacyUpdate/LegacyUpdate.vcxproj new file mode 100644 index 0000000..af43476 --- /dev/null +++ b/LegacyUpdate/LegacyUpdate.vcxproj @@ -0,0 +1,493 @@ + + + + + Debug-VC08 + x64 + + + Debug-VC17 + Win32 + + + Debug-VC08 + Win32 + + + Debug-VC17 + x64 + + + Release + Win32 + + + Release + x64 + + + + {95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B} + LegacyUpdate + AtlProj + 7.0 + + + + DynamicLibrary + true + Unicode + v90 + Dynamic + + + DynamicLibrary + true + Unicode + v90 + Dynamic + + + DynamicLibrary + true + Unicode + v141_xp + + + DynamicLibrary + true + Unicode + v141_xp + + + DynamicLibrary + false + true + Unicode + v90 + Static + Static + + + DynamicLibrary + false + true + Unicode + v141_xp + Static + Static + + + + + + + + + + + + + + + + + + + + + + + + + true + .dll + $(SolutionDir)\shared;$(IncludePath) + + + true + .dll + $(SolutionDir)\shared;$(IncludePath) + + + true + .dll + $(SolutionDir)\shared;$(IncludePath) + + + true + .dll + $(SolutionDir)\shared;$(IncludePath) + + + false + .dll + $(SolutionDir)\shared;$(IncludePath) + + + false + .dll + $(SolutionDir)\shared;$(IncludePath) + + + + Use + Level3 + Disabled + WIN32;_WINDOWS;_DEBUG;_USRDLL;_MERGE_PROXYSTUB;%(PreprocessorDefinitions) + true + + + + Windows + true + .\LegacyUpdate.def + $(OutDir)$(ProjectName).dll + + + _DEBUG;%(PreprocessorDefinitions) + false + Win32 + true + $(IntDir)LegacyUpdate.tlb + LegacyUpdate_i.h + + + LegacyUpdate_i.c + LegacyUpdate_p.c + true + + + 0x0409 + _DEBUG;%(PreprocessorDefinitions) + $(IntDir);%(AdditionalIncludeDirectories) + + + + + + + cmd /c start "" taskkill /im iexplore.exe + + + + + Use + Level3 + Disabled + WIN32;_WINDOWS;_DEBUG;_USRDLL;_MERGE_PROXYSTUB;%(PreprocessorDefinitions) + true + + + + Windows + true + .\LegacyUpdate.def + $(OutDir)$(ProjectName).dll + + + _DEBUG;%(PreprocessorDefinitions) + false + true + $(IntDir)LegacyUpdate.tlb + LegacyUpdate_i.h + + + LegacyUpdate_i.c + LegacyUpdate_p.c + + + 0x0409 + _DEBUG;%(PreprocessorDefinitions) + $(IntDir);%(AdditionalIncludeDirectories) + + + + + + + cmd /c start "" taskkill /im iexplore.exe + + + + + Use + Level3 + Disabled + WIN32;_WINDOWS;_DEBUG;_USRDLL;_MERGE_PROXYSTUB;%(PreprocessorDefinitions) + true + + + + Windows + true + .\LegacyUpdate.def + $(OutDir)$(ProjectName).dll + + + _DEBUG;%(PreprocessorDefinitions) + false + Win32 + true + $(IntDir)LegacyUpdate.tlb + LegacyUpdate_i.h + + + LegacyUpdate_i.c + LegacyUpdate_p.c + true + + + 0x0409 + _DEBUG;%(PreprocessorDefinitions) + $(IntDir);%(AdditionalIncludeDirectories) + + + + + + + cmd /c start "" taskkill /im iexplore.exe + + + + + Use + Level3 + Disabled + WIN32;_WINDOWS;_DEBUG;_USRDLL;_MERGE_PROXYSTUB;%(PreprocessorDefinitions) + true + + + + Windows + true + .\LegacyUpdate.def + $(OutDir)$(ProjectName).dll + + + _DEBUG;%(PreprocessorDefinitions) + false + true + $(IntDir)LegacyUpdate.tlb + LegacyUpdate_i.h + + + LegacyUpdate_i.c + LegacyUpdate_p.c + + + 0x0409 + _DEBUG;%(PreprocessorDefinitions) + $(IntDir);%(AdditionalIncludeDirectories) + + + + + + + cmd /c start "" taskkill /im iexplore.exe + + + + + Level3 + Use + MaxSpeed + true + true + WIN32;_WINDOWS;NDEBUG;_USRDLL;_MERGE_PROXYSTUB;%(PreprocessorDefinitions) + true + + + + Windows + true + true + true + .\LegacyUpdate.def + $(OutDir)$(ProjectName).dll + + + + + _DEBUG;%(PreprocessorDefinitions) + false + Win32 + true + $(IntDir)LegacyUpdate.tlb + LegacyUpdate_i.h + + + LegacyUpdate_i.c + LegacyUpdate_p.c + true + + + 0x0409 + NDEBUG;%(PreprocessorDefinitions) + $(IntDir);%(AdditionalIncludeDirectories) + + + cmd /c start "" taskkill /im iexplore.exe + + + + + Level3 + Use + MaxSpeed + true + true + WIN32;_WINDOWS;NDEBUG;_USRDLL;_MERGE_PROXYSTUB;%(PreprocessorDefinitions) + true + + + + Windows + true + true + true + .\LegacyUpdate.def + $(OutDir)$(ProjectName).dll + + + + + _DEBUG;%(PreprocessorDefinitions) + false + true + $(IntDir)LegacyUpdate.tlb + LegacyUpdate_i.h + + + LegacyUpdate_i.c + LegacyUpdate_p.c + + + 0x0409 + NDEBUG;%(PreprocessorDefinitions) + $(IntDir);%(AdditionalIncludeDirectories) + + + + + + + + + + + true + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + false + false + + + + + false + false + + + + + false + false + + + + + + + false + false + + + + + false + false + + + + + false + false + + + + + + + false + false + + + + + false + false + + + + + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LegacyUpdate/LegacyUpdate.vcxproj.filters b/LegacyUpdate/LegacyUpdate.vcxproj.filters new file mode 100644 index 0000000..2c8792c --- /dev/null +++ b/LegacyUpdate/LegacyUpdate.vcxproj.filters @@ -0,0 +1,136 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {7f88225c-35ff-498e-a402-49bc456952b5} + + + + + Source Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + + Resource Files + + + Resource Files + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Shared + + + Shared + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Shared + + + Shared + + + + + Resource Files + + + + + Source Files + + + \ No newline at end of file diff --git a/LegacyUpdate/LegacyUpdateCtrl.cpp b/LegacyUpdate/LegacyUpdateCtrl.cpp new file mode 100644 index 0000000..ca3cb6b --- /dev/null +++ b/LegacyUpdate/LegacyUpdateCtrl.cpp @@ -0,0 +1,435 @@ +// LegacyUpdateCtrl.cpp : Implementation of the CLegacyUpdateCtrl ActiveX Control class. + +#include "stdafx.h" +#include "LegacyUpdateCtrl.h" +#include "Utils.h" +#include "Compat.h" +#include "ElevationHelper.h" +#include +#include +#include +#include + +#ifdef _DEBUG +#define new DEBUG_NEW +#endif + +const BSTR permittedHosts[] = { + L"legacyupdate.net", + L"test.legacyupdate.net", + NULL +}; +const int permittedHostsMax = 2; + +// CLegacyUpdateCtrl message handlers + +IHTMLDocument2 *CLegacyUpdateCtrl::GetHTMLDocument() { + CComPtr clientSite; + HRESULT hr = GetClientSite(&clientSite); + if (!SUCCEEDED(hr) || clientSite == NULL) { + TRACE("GetDocument() failed: %ls\n", GetMessageForHresult(hr)); + return NULL; + } + + CComPtr container; + hr = clientSite->GetContainer(&container); + if (!SUCCEEDED(hr) || container == NULL) { + TRACE("GetDocument() failed: %ls\n", GetMessageForHresult(hr)); + return NULL; + } + + CComPtr document; + hr = container->QueryInterface(IID_IHTMLDocument2, (void**)&document); + if (!SUCCEEDED(hr) || document == NULL) { + TRACE("GetDocument() failed: %ls\n", GetMessageForHresult(hr)); + return NULL; + } + + return document.Detach(); +} + +HWND CLegacyUpdateCtrl::GetIEWindowHWND() { + CComPtr oleWindow; + HRESULT hr = QueryInterface(IID_IOleWindow, (void**)&oleWindow); + if (!SUCCEEDED(hr) || !oleWindow) { + goto end; + } + + HWND hwnd; + hr = oleWindow->GetWindow(&hwnd); + if (!SUCCEEDED(hr)) { + goto end; + } + + return hwnd; + +end: + if (!SUCCEEDED(hr)) { + TRACE("GetIEWindowHWND() failed: %ls\n", GetMessageForHresult(hr)); + } + return 0; +} + +BOOL CLegacyUpdateCtrl::IsPermitted(void) { + CComPtr document = GetHTMLDocument(); + if (document == NULL) { +#ifdef _DEBUG + // Allow debugging outside of IE (e.g. via PowerShell) + TRACE("GetHTMLDocument() failed - allowing anyway due to debug build\n"); + return TRUE; +#else + return FALSE; +#endif + } + + CComPtr location; + CComBSTR host; + HRESULT hr = document->get_location(&location); + if (!SUCCEEDED(hr) || location == NULL) { + goto end; + } + + hr = location->get_host(&host); + if (!SUCCEEDED(hr)) { + goto end; + } + + for (int i = 0; i < permittedHostsMax; i++) { + if (wcscmp(host, permittedHosts[i]) == 0) { + return TRUE; + } + } + +end: + if (!SUCCEEDED(hr)) { + TRACE("IsPermitted() failed: %ls\n", GetMessageForHresult(hr)); + } + return FALSE; +} + +#define DoIsPermittedCheck() \ + if (!IsPermitted()) { \ + return E_ACCESSDENIED; \ + } + +STDMETHODIMP CLegacyUpdateCtrl::CheckControl(VARIANT_BOOL *retval) { + DoIsPermittedCheck(); + + // Just return true so the site can confirm the control is working. + *retval = TRUE; + return S_OK; +} + +STDMETHODIMP CLegacyUpdateCtrl::MessageForHresult(LONG inHresult, BSTR *retval) { + DoIsPermittedCheck(); + *retval = GetMessageForHresult(inHresult); + return S_OK; +} + +STDMETHODIMP CLegacyUpdateCtrl::GetOSVersionInfo(OSVersionField osField, LONG systemMetric, VARIANT *retval) { + DoIsPermittedCheck(); + + VariantInit(retval); + retval->vt = VT_I4; + + OSVERSIONINFOEX *versionInfo = GetVersionInfo(); + + switch (osField) { + case e_majorVer: + retval->lVal = versionInfo->dwMajorVersion; + break; + + case e_minorVer: + retval->lVal = versionInfo->dwMinorVersion; + break; + + case e_buildNumber: + retval->lVal = versionInfo->dwBuildNumber; + break; + + case e_platform: + retval->lVal = versionInfo->dwPlatformId; + break; + + case e_SPMajor: + retval->lVal = versionInfo->wServicePackMajor; + break; + + case e_SPMinor: + retval->lVal = versionInfo->wServicePackMinor; + break; + + case e_productSuite: + retval->lVal = versionInfo->wSuiteMask; + break; + + case e_productType: + retval->lVal = versionInfo->wProductType; + break; + + case e_systemMetric: + retval->lVal = GetSystemMetrics(systemMetric); + break; + + case e_SPVersionString: { + LPWSTR data; + DWORD size; + HRESULT hr = GetRegistryString(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", L"BuildLab", NULL, &data, &size); + if (SUCCEEDED(hr)) { + retval->vt = VT_BSTR; + retval->bstrVal = SysAllocStringLen(data, size - 1); + } else { + // BuildLab doesn't exist on Windows 2000. + retval->vt = VT_BSTR; + retval->bstrVal = SysAllocString(versionInfo->szCSDVersion); + } + break; + } + + case e_controlVersionString: { + LPWSTR data; + DWORD size; + HRESULT hr = GetOwnVersion(&data, &size); + if (!SUCCEEDED(hr)) { + return hr; + } + retval->vt = VT_BSTR; + retval->bstrVal = SysAllocStringLen(data, size - 1); + break; + } + + case e_VistaProductType: { + DWORD productType; + GetVistaProductInfo(versionInfo->dwMajorVersion, versionInfo->dwMinorVersion, versionInfo->wServicePackMajor, versionInfo->wServicePackMinor, &productType); + retval->vt = VT_UI4; + retval->ulVal = productType; + break; + } + + case e_productName: { + HRESULT hr = GetOSProductName(retval); + if (!SUCCEEDED(hr)) { + LPWSTR data; + DWORD size; + hr = GetRegistryString(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", L"ProductName", NULL, &data, &size); + if (SUCCEEDED(hr)) { + retval->vt = VT_BSTR; + retval->bstrVal = SysAllocStringLen(data, size - 1); + } else { + VariantClear(retval); + } + } + break; + } + + case e_displayVersion: { + LPWSTR data; + DWORD size; + HRESULT hr = GetRegistryString(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", L"DisplayVersion", NULL, &data, &size); + if (SUCCEEDED(hr)) { + retval->vt = VT_BSTR; + retval->bstrVal = SysAllocStringLen(data, size - 1); + } else { + VariantClear(retval); + } + break; + } + } + + return S_OK; +} + +STDMETHODIMP CLegacyUpdateCtrl::RequestElevation() { + DoIsPermittedCheck(); + + if (m_elevatedHelper != NULL || GetVersionInfo()->dwMajorVersion < 6) { + return S_OK; + } + + // https://learn.microsoft.com/en-us/windows/win32/com/the-com-elevation-moniker + HRESULT hr = CoCreateInstanceAsAdmin(GetIEWindowHWND(), CLSID_ElevationHelper, IID_IElevationHelper, (void**)&m_elevatedHelper); + if (!SUCCEEDED(hr)) { + TRACE("RequestElevation() failed: %ls\n", GetMessageForHresult(hr)); + } + return hr; +} + +STDMETHODIMP CLegacyUpdateCtrl::CreateObject(BSTR progID, IDispatch **retval) { + DoIsPermittedCheck(); + + HRESULT hr = S_OK; + CComPtr elevatedHelper; + if (progID == NULL) { + hr = E_INVALIDARG; + goto end; + } + + if (!ProgIDIsPermitted(progID)) { + hr = E_ACCESSDENIED; + goto end; + } + + elevatedHelper = m_elevatedHelper ? m_elevatedHelper : m_nonElevatedHelper; + if (elevatedHelper == NULL) { + // Use the helper directly, without elevation. It's the responsibility of the caller to ensure it + // is already running as admin on 2k/XP, or that it has requested elevation on Vista+. + m_nonElevatedHelper.CoCreateInstance(CLSID_ElevationHelper, NULL, CLSCTX_INPROC_SERVER); + if (!SUCCEEDED(hr)) { + goto end; + } + elevatedHelper = m_nonElevatedHelper; + } + + return elevatedHelper->CreateObject(progID, retval); + +end: + if (!SUCCEEDED(hr)) { + TRACE("CreateObject(%ls) failed: %ls\n", progID, GetMessageForHresult(hr)); + } + return hr; +} + +STDMETHODIMP CLegacyUpdateCtrl::GetUserType(UserType *retval) { + DoIsPermittedCheck(); + + if (IsUserAnAdmin()) { + // Entire process is elevated. + *retval = e_admin; + } else if (m_elevatedHelper != NULL) { + // Our control has successfully received elevation. + *retval = e_elevated; + } else { + // The control has no admin rights (although it may not have requested them yet). + *retval = e_nonAdmin; + } + return S_OK; +} + +STDMETHODIMP CLegacyUpdateCtrl::get_IsRebootRequired(VARIANT_BOOL *retval) { + DoIsPermittedCheck(); + + HKEY subkey; + HRESULT hr = RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\WindowsUpdate\\Auto Update\\RebootRequired", 0, KEY_READ, &subkey); + *retval = subkey != NULL; + if (subkey != NULL) { + RegCloseKey(subkey); + } + return S_OK; +} + +STDMETHODIMP CLegacyUpdateCtrl::get_IsWindowsUpdateDisabled(VARIANT_BOOL *retval) { + DoIsPermittedCheck(); + + DWORD noWU; + HRESULT hr = GetRegistryDword(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", L"NoWindowsUpdate", NULL, &noWU); + if (SUCCEEDED(hr) && noWU == 1) { + *retval = TRUE; + return S_OK; + } + + DWORD disableWUAccess; + hr = GetRegistryDword(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\WindowsUpdate", L"DisableWindowsUpdateAccess", NULL, &disableWUAccess); + if (SUCCEEDED(hr) && disableWUAccess == 1) { + *retval = TRUE; + return S_OK; + } + + *retval = FALSE; + return S_OK; +} + +STDMETHODIMP CLegacyUpdateCtrl::RebootIfRequired(void) { + DoIsPermittedCheck(); + + VARIANT_BOOL isRebootRequired; + if (SUCCEEDED(get_IsRebootRequired(&isRebootRequired)) && isRebootRequired) { + Reboot(); + } + return S_OK; +} + +STDMETHODIMP CLegacyUpdateCtrl::ViewWindowsUpdateLog(void) { + DoIsPermittedCheck(); + + WCHAR windir[MAX_PATH]; + HRESULT hr = SHGetFolderPath(0, CSIDL_WINDOWS, NULL, 0, windir); + if (!SUCCEEDED(hr)) { + TRACE(L"SHGetFolderPath() failed: %ls\n", GetMessageForHresult(hr)); + return hr; + } + + // Try Windows Server 2003 Resource Kit (or MSYS/Cygwin/etc) tail.exe, falling back to directly + // opening the file (most likely in Notepad). + // Ignore C4311 and C4302, which is for typecasts. It is due to ShellExec and should be safe to bypass. + #pragma warning(disable: 4311 4302) + if ((int)ShellExecute(NULL, L"open", L"tail.exe", L"-f WindowsUpdate.log", windir, SW_SHOWDEFAULT) > 32) { + return S_OK; + } + ShellExecute(NULL, L"open", L"WindowsUpdate.log", NULL, windir, SW_SHOWDEFAULT); + #pragma warning(default: 4311 4302) + return S_OK; +} + +STDMETHODIMP CLegacyUpdateCtrl::OpenWindowsUpdateSettings(void) { + DoIsPermittedCheck(); + + // Some issues arise from the working directory being SysWOW64 rather than System32. Notably, + // Windows Vista - 8.1 don't have wuauclt.exe in SysWOW64. Disable WOW64 redirection temporarily + // to work around this. + PVOID oldValue; + BOOL isRedirected = DisableWow64FsRedirection(&oldValue); + + WCHAR systemDir[MAX_PATH]; + HRESULT hr = SHGetFolderPath(0, CSIDL_SYSTEM, NULL, 0, systemDir); + if (!SUCCEEDED(hr)) { + TRACE(L"SHGetFolderPath() failed: %ls\n", GetMessageForHresult(hr)); + return hr; + } + + DWORD majorVersion = GetVersionInfo()->dwMajorVersion; + if (majorVersion >= 10) { + // Windows 10+: Open Settings app + ShellExecute(NULL, NULL, L"ms-settings:windowsupdate-options", NULL, systemDir, SW_SHOWDEFAULT); + } else if (majorVersion >= 6) { + // Windows Vista, 7, 8: Open Windows Update control panel + ShellExecute(NULL, NULL, L"wuauclt.exe", L"/ShowOptions", systemDir, SW_SHOWDEFAULT); + } else { + // Windows 2000, XP: Open Automatic Updates control panel + ShellExecute(NULL, NULL, L"wuaucpl.cpl", NULL, systemDir, SW_SHOWDEFAULT); + } + + // Revert WOW64 redirection if we changed it. + if (isRedirected) { + RevertWow64FsRedirection(oldValue); + } + return S_OK; +} + +STDMETHODIMP CLegacyUpdateCtrl::get_IsUsingWsusServer(VARIANT_BOOL *retval) { + DoIsPermittedCheck(); + + DWORD useWUServer; + HRESULT hr = GetRegistryDword(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate\\AU", L"UseWUServer", NULL, &useWUServer); + *retval = SUCCEEDED(hr) && useWUServer == 1; + return S_OK; +} + +STDMETHODIMP CLegacyUpdateCtrl::get_WsusServerUrl(BSTR *retval) { + DoIsPermittedCheck(); + + LPWSTR data; + DWORD size; + HRESULT hr = GetRegistryString(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate", L"WUServer", NULL, &data, &size); + *retval = SUCCEEDED(hr) ? SysAllocStringLen(data, size - 1) : NULL; + return S_OK; +} + +STDMETHODIMP CLegacyUpdateCtrl::get_WsusStatusServerUrl(BSTR *retval) { + DoIsPermittedCheck(); + + LPWSTR data; + DWORD size; + HRESULT hr = GetRegistryString(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate", L"WUStatusServer", NULL, &data, &size); + *retval = SUCCEEDED(hr) ? SysAllocStringLen(data, size - 1) : NULL; + return S_OK; +} diff --git a/LegacyUpdate/LegacyUpdateCtrl.h b/LegacyUpdate/LegacyUpdateCtrl.h new file mode 100644 index 0000000..8a53fb7 --- /dev/null +++ b/LegacyUpdate/LegacyUpdateCtrl.h @@ -0,0 +1,114 @@ +#pragma once + +// LegacyUpdateCtrl.h : Declaration of the CLegacyUpdateCtrl ActiveX Control class. + +// CLegacyUpdateCtrl : See LegacyUpdateCtrl.cpp for implementation. + +#include +#include +#include "resource.h" +#include "LegacyUpdate_i.h" + +// CLegacyUpdateCtrl +class ATL_NO_VTABLE CLegacyUpdateCtrl : + public CComObjectRootEx, + public IDispatchImpl, + public IPersistStreamInitImpl, + public IOleControlImpl, + public IOleObjectImpl, + public IOleInPlaceActiveObjectImpl, + public IViewObjectExImpl, + public IOleInPlaceObjectWindowlessImpl, + public ISupportErrorInfo, + public IObjectWithSiteImpl, + public IPersistStorageImpl, + public IQuickActivateImpl, + public IProvideClassInfo2Impl<&CLSID_LegacyUpdateCtrl, NULL, &LIBID_LegacyUpdateLib>, + public CComCoClass, + public CComControl { +private: + CComPtr m_elevatedHelper; + CComPtr m_nonElevatedHelper; + +public: + CLegacyUpdateCtrl() { + m_bWindowOnly = TRUE; + } + + DECLARE_OLEMISC_STATUS( + OLEMISC_INVISIBLEATRUNTIME | + OLEMISC_ACTIVATEWHENVISIBLE | + OLEMISC_SETCLIENTSITEFIRST | + OLEMISC_INSIDEOUT | + OLEMISC_CANTLINKINSIDE | + OLEMISC_RECOMPOSEONRESIZE + ) + + DECLARE_REGISTRY_RESOURCEID(IDR_LEGACYUPDATECTRL) + + BEGIN_COM_MAP(CLegacyUpdateCtrl) + COM_INTERFACE_ENTRY(ILegacyUpdateCtrl) + COM_INTERFACE_ENTRY(IDispatch) + COM_INTERFACE_ENTRY(IViewObjectEx) + COM_INTERFACE_ENTRY(IViewObject2) + COM_INTERFACE_ENTRY(IViewObject) + COM_INTERFACE_ENTRY(IOleInPlaceObjectWindowless) + COM_INTERFACE_ENTRY(IOleInPlaceObject) + COM_INTERFACE_ENTRY2(IOleWindow, IOleInPlaceObjectWindowless) + COM_INTERFACE_ENTRY(IOleInPlaceActiveObject) + COM_INTERFACE_ENTRY(IOleControl) + COM_INTERFACE_ENTRY(IOleObject) + COM_INTERFACE_ENTRY(IPersistStreamInit) + COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit) + COM_INTERFACE_ENTRY(ISupportErrorInfo) + COM_INTERFACE_ENTRY(IQuickActivate) + COM_INTERFACE_ENTRY(IPersistStorage) + COM_INTERFACE_ENTRY(IProvideClassInfo) + COM_INTERFACE_ENTRY(IProvideClassInfo2) + END_COM_MAP() + + BEGIN_PROP_MAP(CLegacyUpdateCtrl) + END_PROP_MAP() + + BEGIN_MSG_MAP(CLegacyUpdateCtrl) + CHAIN_MSG_MAP(CComControl) + DEFAULT_REFLECTION_HANDLER() + END_MSG_MAP() + + // ISupportsErrorInfo + STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid) { + return IsEqualGUID(riid, IID_ILegacyUpdateCtrl) ? S_OK : S_FALSE; + } + + // IViewObjectEx + DECLARE_VIEW_STATUS(VIEWSTATUS_SOLIDBKGND | VIEWSTATUS_OPAQUE) + + // ILegacyUpdateCtrl + DECLARE_PROTECT_FINAL_CONSTRUCT() + + HRESULT FinalConstruct() { return S_OK; } + void FinalRelease() {} + +private: + IHTMLDocument2 *GetHTMLDocument(); + HWND GetIEWindowHWND(); + BOOL IsPermitted(); + +public: + STDMETHODIMP CheckControl(VARIANT_BOOL *retval); + STDMETHODIMP MessageForHresult(LONG inHresult, BSTR *retval); + STDMETHODIMP GetOSVersionInfo(OSVersionField osField, LONG systemMetric, VARIANT *retval); + STDMETHODIMP RequestElevation(); + STDMETHODIMP CreateObject(BSTR progID, IDispatch **retval); + STDMETHODIMP GetUserType(UserType *retval); + STDMETHODIMP get_IsRebootRequired(VARIANT_BOOL *retval); + STDMETHODIMP get_IsWindowsUpdateDisabled(VARIANT_BOOL *retval); + STDMETHODIMP RebootIfRequired(void); + STDMETHODIMP ViewWindowsUpdateLog(void); + STDMETHODIMP OpenWindowsUpdateSettings(void); + STDMETHODIMP get_IsUsingWsusServer(VARIANT_BOOL *retval); + STDMETHODIMP get_WsusServerUrl(BSTR *retval); + STDMETHODIMP get_WsusStatusServerUrl(BSTR *retval); +}; + +OBJECT_ENTRY_AUTO(__uuidof(LegacyUpdateCtrl), CLegacyUpdateCtrl) diff --git a/LegacyUpdate/LegacyUpdateCtrl.rgs b/LegacyUpdate/LegacyUpdateCtrl.rgs new file mode 100644 index 0000000..7767067 --- /dev/null +++ b/LegacyUpdate/LegacyUpdateCtrl.rgs @@ -0,0 +1,37 @@ +HKCR +{ + LegacyUpdate.Control.1 = s 'LegacyUpdateCtrl Class' + { + CLSID = s '{AD28E0DF-5F5A-40B5-9432-85EFD97D1F9F}' + } + LegacyUpdate.Control = s 'LegacyUpdateCtrl Class' + { + CurVer = s 'LegacyUpdate.Control.1' + } + NoRemove CLSID + { + ForceRemove {AD28E0DF-5F5A-40B5-9432-85EFD97D1F9F} = s 'Legacy Update Control' + { + ProgID = s 'LegacyUpdate.Control.1' + VersionIndependentProgID = s 'LegacyUpdate.Control' + ForceRemove 'Programmable' + InprocServer32 = s '%MODULE%' + { + val ThreadingModel = s 'Apartment' + } + val AppID = s '%APPID%' + ForceRemove 'Control' + 'MiscStatus' = s '0' + { + '1' = s '%OLEMISC%' + } + 'TypeLib' = s '{05D22F33-C7C3-4C90-BDD9-CEDC86EA8FBE}' + 'Version' = s '1.0' + 'Implemented Categories' + { + '{7DD95801-9882-11CF-9FA9-00AA006C42C4}' + '{7DD95802-9882-11CF-9FA9-00AA006C42C4}' + } + } + } +} diff --git a/LegacyUpdate/Makefile b/LegacyUpdate/Makefile new file mode 100644 index 0000000..e93e85f --- /dev/null +++ b/LegacyUpdate/Makefile @@ -0,0 +1,17 @@ +ifeq ($(CI),1) + MSBUILDFLAGS += /p:PlatformToolset=v141_xp +endif + +all: + cmd.exe /c build.cmd $(MSBUILDFLAGS) + +ifeq ($(SIGN),1) + ../build/sign.sh \ + ../Release/LegacyUpdate.dll \ + ../x64/Release/LegacyUpdate.dll +endif + +clean: + @# Not needed, build.cmd cleans before it builds + +.PHONY: all clean diff --git a/LegacyUpdate/ProgressBarControl.cpp b/LegacyUpdate/ProgressBarControl.cpp new file mode 100644 index 0000000..f30757e --- /dev/null +++ b/LegacyUpdate/ProgressBarControl.cpp @@ -0,0 +1,65 @@ +// ProgressBarControl.cpp : Implementation of CProgressBarControl +#include "stdafx.h" +#include "ProgressBarControl.h" +#include + +#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") + +#ifndef PBS_MARQUEE +#define PBS_MARQUEE 0x08 +#endif + +#ifndef PBM_SETMARQUEE +#define PBM_SETMARQUEE (WM_USER + 10) +#endif + +LRESULT CProgressBarControl::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { + RECT rc; + GetWindowRect(&rc); + rc.right -= rc.left; + rc.bottom -= rc.top; + rc.left = 0; + rc.top = 0; + m_ctl.Create(m_hWnd, rc, PROGRESS_CLASS, WS_CHILD | WS_VISIBLE, WS_EX_CLIENTEDGE); + put_Value(-1); + return 0; +} + +STDMETHODIMP CProgressBarControl::SetObjectRects(LPCRECT prcPos, LPCRECT prcClip) { + IOleInPlaceObjectWindowlessImpl::SetObjectRects(prcPos, prcClip); + ::SetWindowPos(m_ctl.m_hWnd, NULL, 0, 0, + prcPos->right - prcPos->left, + prcPos->bottom - prcPos->top, + SWP_NOZORDER | SWP_NOACTIVATE); + return S_OK; +} + +STDMETHODIMP CProgressBarControl::get_Value(SHORT *pValue) { + if (m_ctl.GetWindowLongPtr(GWL_STYLE) & PBS_MARQUEE) { + // Marquee - no value + *pValue = -1; + } else { + // Normal - return PBM_GETPOS + *pValue = (SHORT)m_ctl.SendMessage(PBM_GETPOS, 0, 0); + } + return S_OK; +} + +STDMETHODIMP CProgressBarControl::put_Value(SHORT value) { + if (value == -1) { + // Marquee style + m_ctl.SetWindowLongPtr(GWL_STYLE, m_ctl.GetWindowLongPtr(GWL_STYLE) | PBS_MARQUEE); + m_ctl.SendMessage(PBM_SETMARQUEE, TRUE, 100); + } else { + // Normal style + SHORT oldValue; + get_Value(&oldValue); + if (oldValue == -1) { + m_ctl.SetWindowLongPtr(GWL_STYLE, m_ctl.GetWindowLongPtr(GWL_STYLE) & ~PBS_MARQUEE); + m_ctl.SendMessage(PBM_SETRANGE, 0, MAKELPARAM(0, 100)); + } + + m_ctl.SendMessage(PBM_SETPOS, value, 0); + } + return S_OK; +} diff --git a/LegacyUpdate/ProgressBarControl.h b/LegacyUpdate/ProgressBarControl.h new file mode 100644 index 0000000..648e3e1 --- /dev/null +++ b/LegacyUpdate/ProgressBarControl.h @@ -0,0 +1,77 @@ +#pragma once + +// ProgressBarControl.h : Declaration of the CProgressBarControl class. + +#include +#include "resource.h" +#include "LegacyUpdate_i.h" + +// CProgressBarControl +class ATL_NO_VTABLE CProgressBarControl : + public CComObjectRootEx, + public IDispatchImpl, + public IOleControlImpl, + public IOleObjectImpl, + public IOleInPlaceActiveObjectImpl, + public IViewObjectExImpl, + public IOleInPlaceObjectWindowlessImpl, + public CComCoClass, + public CComControl +{ +public: + CContainedWindow m_ctl; + + CProgressBarControl() : m_ctl(L"msctls_progress32", this, 1) { + m_bWindowOnly = TRUE; + } + + DECLARE_OLEMISC_STATUS( + OLEMISC_RECOMPOSEONRESIZE | + OLEMISC_CANTLINKINSIDE | + OLEMISC_INSIDEOUT | + OLEMISC_ACTIVATEWHENVISIBLE | + OLEMISC_SETCLIENTSITEFIRST + ) + + DECLARE_REGISTRY_RESOURCEID(IDR_PROGRESSBARCONTROL) + + BEGIN_COM_MAP(CProgressBarControl) + COM_INTERFACE_ENTRY(IProgressBarControl) + COM_INTERFACE_ENTRY(IDispatch) + COM_INTERFACE_ENTRY(IViewObjectEx) + COM_INTERFACE_ENTRY(IViewObject2) + COM_INTERFACE_ENTRY(IViewObject) + COM_INTERFACE_ENTRY(IOleInPlaceObjectWindowless) + COM_INTERFACE_ENTRY(IOleInPlaceObject) + COM_INTERFACE_ENTRY2(IOleWindow, IOleInPlaceObjectWindowless) + COM_INTERFACE_ENTRY(IOleInPlaceActiveObject) + COM_INTERFACE_ENTRY(IOleControl) + COM_INTERFACE_ENTRY(IOleObject) + END_COM_MAP() + + BEGIN_PROP_MAP(CProgressBarControl) + END_PROP_MAP() + + BEGIN_MSG_MAP(CProgressBarControl) + MESSAGE_HANDLER(WM_CREATE, OnCreate) + CHAIN_MSG_MAP(CComControl) + ALT_MSG_MAP(1) + END_MSG_MAP() + + // IViewObjectEx + DECLARE_VIEW_STATUS(VIEWSTATUS_SOLIDBKGND | VIEWSTATUS_OPAQUE) + + // IProgressBarControl + DECLARE_PROTECT_FINAL_CONSTRUCT() + + HRESULT FinalConstruct() { return S_OK; } + void FinalRelease() {} + + LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + STDMETHODIMP SetObjectRects(LPCRECT prcPos, LPCRECT prcClip); + + STDMETHODIMP get_Value(SHORT *pValue); + STDMETHODIMP put_Value(SHORT value); +}; + +OBJECT_ENTRY_AUTO(__uuidof(ProgressBarControl), CProgressBarControl) diff --git a/LegacyUpdate/ProgressBarControl.html b/LegacyUpdate/ProgressBarControl.html new file mode 100644 index 0000000..0d592ee --- /dev/null +++ b/LegacyUpdate/ProgressBarControl.html @@ -0,0 +1,48 @@ + + + + ATL test page for object ProgressBarControl + + + + +
+ +
+ +
-1
+ + + + + + + + diff --git a/LegacyUpdate/ProgressBarControl.rgs b/LegacyUpdate/ProgressBarControl.rgs new file mode 100644 index 0000000..3cc0a33 --- /dev/null +++ b/LegacyUpdate/ProgressBarControl.rgs @@ -0,0 +1,34 @@ +HKCR +{ + LegacyUpdate.ProgressBar.1 = s 'ProgressBarControl Class' + { + CLSID = s '{7B875A2F-2DFB-4D38-91F5-5C0BFB74C377}' + } + LegacyUpdate.ProgressBar = s 'ProgressBarControl Class' + { + CurVer = s 'LegacyUpdate.ProgressBar.1' + } + NoRemove CLSID + { + ForceRemove {7B875A2F-2DFB-4D38-91F5-5C0BFB74C377} = s 'Legacy Update Progress Bar Control' + { + ForceRemove Programmable + InprocServer32 = s '%MODULE%' + { + val ThreadingModel = s 'Apartment' + } + ForceRemove Control + MiscStatus = s '0' + { + '1' = s '%OLEMISC%' + } + TypeLib = s '{05D22F33-C7C3-4C90-BDD9-CEDC86EA8FBE}' + Version = s '1.0' + 'Implemented Categories' + { + '{7DD95801-9882-11CF-9FA9-00AA006C42C4}' + '{7DD95802-9882-11CF-9FA9-00AA006C42C4}' + } + } + } +} diff --git a/LegacyUpdate/Resource.h b/LegacyUpdate/Resource.h new file mode 100644 index 0000000..0c7bedd --- /dev/null +++ b/LegacyUpdate/Resource.h @@ -0,0 +1,26 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by LegacyUpdate.rc +// +#define IDS_LEGACYUPDATEOCX 1 +#define IDS_LEGACYUPDATE 2 +#define IDS_CHECKFORUPDATES 3 +#define IDS_CHECKFORUPDATES_ALT 4 +#define IDS_IENOTINSTALLED 5 +#define IDR_LEGACYUPDATEOCX 101 +#define IDR_LEGACYUPDATECTRL 102 +#define IDR_PROGRESSBARCONTROL 103 +#define IDR_ELEVATIONHELPER 104 +#define IDI_ICON1 201 +#define IDR_CPLTASKS 202 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 204 +#define _APS_NEXT_COMMAND_VALUE 32768 +#define _APS_NEXT_CONTROL_VALUE 201 +#define _APS_NEXT_SYMED_VALUE 105 +#endif +#endif diff --git a/LegacyUpdate/Utils.cpp b/LegacyUpdate/Utils.cpp new file mode 100644 index 0000000..fd7bd35 --- /dev/null +++ b/LegacyUpdate/Utils.cpp @@ -0,0 +1,177 @@ +#include "stdafx.h" +#include +#include +#include "WMI.h" + +#pragma comment(lib, "version.lib") +#pragma comment(lib, "advapi32.lib") + +// Defined as being Vista+, older versions ignore the flag. +#ifndef EWX_RESTARTAPPS +#define EWX_RESTARTAPPS 0x00000040 +#endif + +extern "C" IMAGE_DOS_HEADER __ImageBase; + +#define OwnModule ((HMODULE)&__ImageBase) + +static BOOL _loadedProductName = FALSE; +static CComVariant _productName; + +static BOOL _loadedOwnVersion = FALSE; +static LPWSTR _version; +static UINT _versionSize; + +void GetOwnFileName(LPWSTR *filename, LPDWORD size) { + *filename = (LPWSTR)malloc(MAX_PATH); + *size = GetModuleFileName(OwnModule, *filename, MAX_PATH); +} + +HRESULT GetOwnVersion(LPWSTR *version, LPDWORD size) { + if (!_loadedOwnVersion) { + LPWSTR filename; + DWORD filenameSize; + GetOwnFileName(&filename, &filenameSize); + + DWORD verHandle; + DWORD verInfoSize = GetFileVersionInfoSize(filename, &verHandle); + if (verInfoSize == 0) { + return AtlHresultFromLastError(); + } + + LPVOID verInfo = new BYTE[verInfoSize]; + if (!GetFileVersionInfo(filename, verHandle, verInfoSize, verInfo)) { + return AtlHresultFromLastError(); + } + + if (!VerQueryValue(verInfo, L"\\StringFileInfo\\040904B0\\ProductVersion", (LPVOID *)&_version, &_versionSize)) { + return AtlHresultFromLastError(); + } + } + + *version = _version; + *size = _versionSize; + return _version == NULL ? E_FAIL : NOERROR; +} + +HRESULT GetRegistryString(HKEY key, LPCWSTR subkeyPath, LPCWSTR valueName, LPDWORD type, LPWSTR *data, LPDWORD size) { + HKEY subkey; + HRESULT hr = HRESULT_FROM_WIN32(RegOpenKeyEx(key, subkeyPath, 0, KEY_READ, &subkey)); + if (!SUCCEEDED(hr)) { + goto end; + } + + if (data != NULL && size != NULL) { + DWORD length = 512 * sizeof(WCHAR); + LPWSTR buffer = (LPWSTR)malloc(length); + LSTATUS status; + do { + status = RegQueryValueEx(subkey, valueName, NULL, type, (BYTE *)buffer, &length); + if (status == ERROR_MORE_DATA) { + length += 256 * sizeof(WCHAR); + buffer = (LPWSTR)realloc(buffer, length); + } else if (status != ERROR_SUCCESS) { + hr = HRESULT_FROM_WIN32(status); + goto end; + } + } while (status == ERROR_MORE_DATA); + + *data = buffer; + *size = length / sizeof(WCHAR); + } + +end: + if (subkey != NULL) { + RegCloseKey(subkey); + } + if (!SUCCEEDED(hr)) { + if (data != NULL) { + *data = NULL; + } + if (size != NULL) { + *size = 0; + } + } + return hr; +} + +HRESULT GetRegistryDword(HKEY key, LPCWSTR subkeyPath, LPCWSTR valueName, LPDWORD type, LPDWORD data) { + HKEY subkey; + HRESULT hr = HRESULT_FROM_WIN32(RegOpenKeyEx(key, subkeyPath, 0, KEY_READ, &subkey)); + if (!SUCCEEDED(hr)) { + goto end; + } + + if (data != NULL) { + DWORD length = sizeof(DWORD); + hr = HRESULT_FROM_WIN32(RegQueryValueEx(subkey, valueName, NULL, type, (LPBYTE)data, &length)); + if (!SUCCEEDED(hr)) { + goto end; + } + } + +end: + if (subkey != NULL) { + RegCloseKey(subkey); + } + return hr; +} + +LPWSTR GetMessageForHresult(HRESULT hr) { + _com_error *error = new _com_error(hr); + CString message = error->ErrorMessage(); + BSTR outMessage = message.AllocSysString(); + return outMessage; +} + +HRESULT GetOSProductName(VARIANT *pProductName) { + if (_loadedProductName) { + VariantCopy(pProductName, &_productName); + return S_OK; + } + + VariantInit(&_productName); + _loadedProductName = true; + return QueryWMIProperty(L"SELECT Caption FROM Win32_OperatingSystem", L"Caption", &_productName); +} + +HRESULT Reboot() { + HRESULT hr = E_FAIL; + + // Make sure we have permission to shut down. + HANDLE token; + if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &token)) { + LUID shutdownLuid; + if (LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &shutdownLuid) != 0) { + // Ask the system nicely to give us shutdown privilege. + TOKEN_PRIVILEGES privileges; + privileges.PrivilegeCount = 1; + privileges.Privileges[0].Luid = shutdownLuid; + privileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; + if (!AdjustTokenPrivileges(token, FALSE, &privileges, 0, NULL, NULL)) { + hr = AtlHresultFromLastError(); + TRACE("AdjustTokenPrivileges() failed: %ls\n", GetMessageForHresult(hr)); + } + } + } else { + hr = AtlHresultFromLastError(); + TRACE("OpenProcessToken() failed: %ls\n", GetMessageForHresult(hr)); + } + + // Reboot with reason "Operating System: Security fix (Unplanned)" + if (!InitiateSystemShutdownEx(NULL, NULL, 0, FALSE, TRUE, SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_SECURITYFIX)) { + hr = AtlHresultFromLastError(); + TRACE("InitiateSystemShutdownExW() failed: %ls\n", GetMessageForHresult(hr)); + + // Try ExitWindowsEx instead + // Win2k: Use ExitWindowsEx, which is only guaranteed to work for the current logged in user + if (!ExitWindowsEx(EWX_REBOOT | EWX_RESTARTAPPS | EWX_FORCEIFHUNG, SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_SECURITYFIX)) { + hr = AtlHresultFromLastError(); + TRACE("ExitWindowsEx() failed: %ls\n", GetMessageForHresult(hr)); + } + } else { + hr = S_OK; + } + + return hr; +} diff --git a/LegacyUpdate/Utils.h b/LegacyUpdate/Utils.h new file mode 100644 index 0000000..6d623a1 --- /dev/null +++ b/LegacyUpdate/Utils.h @@ -0,0 +1,15 @@ +#pragma once + +OSVERSIONINFOEX *GetVersionInfo(); + +void GetOwnFileName(LPWSTR *filename, LPDWORD size); +HRESULT GetOwnVersion(LPWSTR *version, LPDWORD size); + +HRESULT GetRegistryString(HKEY key, LPCWSTR subkeyPath, LPCWSTR valueName, LPDWORD type, LPWSTR *data, LPDWORD size); +HRESULT GetRegistryDword(HKEY key, LPCWSTR subkeyPath, LPCWSTR valueName, LPDWORD type, LPDWORD data); + +LPWSTR GetMessageForHresult(HRESULT hresult); + +HRESULT GetOSProductName(VARIANT* pProductName); + +HRESULT Reboot(); diff --git a/LegacyUpdate/build.cmd b/LegacyUpdate/build.cmd new file mode 100644 index 0000000..98c7f91 --- /dev/null +++ b/LegacyUpdate/build.cmd @@ -0,0 +1,17 @@ +@echo off +setlocal enabledelayedexpansion +cd %~dp0\.. + +:: Clean +call build\getvc.cmd x86 +msbuild LegacyUpdate.sln /v:quiet /m /p:Configuration=Release /p:Platform=Win32 /t:clean +if "%errorlevel%" neq "0" exit /b %errorlevel% +msbuild LegacyUpdate.sln /v:quiet /m /p:Configuration=Release /p:Platform=x64 /t:clean +if "%errorlevel%" neq "0" exit /b %errorlevel% + +:: Build DLL +msbuild LegacyUpdate.sln /v:minimal /m /p:Configuration=Release /p:Platform=Win32 %* +if "%errorlevel%" neq "0" exit /b %errorlevel% +call build\getvc.cmd x64 +msbuild LegacyUpdate.sln /v:minimal /m /p:Configuration=Release /p:Platform=x64 %* +if "%errorlevel%" neq "0" exit /b %errorlevel% diff --git a/LegacyUpdate/dlldata.c b/LegacyUpdate/dlldata.c new file mode 100644 index 0000000..b94a58a --- /dev/null +++ b/LegacyUpdate/dlldata.c @@ -0,0 +1,38 @@ +/********************************************************* + DllData file -- generated by MIDL compiler + + DO NOT ALTER THIS FILE + + This file is regenerated by MIDL on every IDL file compile. + + To completely reconstruct this file, delete it and rerun MIDL + on all the IDL files in this DLL, specifying this file for the + /dlldata command line option + +*********************************************************/ + +#define PROXY_DELEGATION + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +EXTERN_PROXY_FILE( LegacyUpdate ) + + +PROXYFILE_LIST_START +/* Start of list */ + REFERENCE_PROXY_FILE( LegacyUpdate ), +/* End of list */ +PROXYFILE_LIST_END + + +DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID ) + +#ifdef __cplusplus +} /*extern "C" */ +#endif + +/* end of generated dlldata file */ diff --git a/LegacyUpdate/dlldatax.c b/LegacyUpdate/dlldatax.c new file mode 100644 index 0000000..74878f6 --- /dev/null +++ b/LegacyUpdate/dlldatax.c @@ -0,0 +1,18 @@ +// wrapper for dlldata.c + +#ifdef _MERGE_PROXYSTUB // merge proxy stub DLL + +#define REGISTER_PROXY_DLL //DllRegisterServer, etc. + +#define _WIN32_WINNT 0x0500 //for WinNT 4.0 or Win95 with DCOM +#define USE_STUBLESS_PROXY //defined only with MIDL switch /Oicf + +#pragma comment(lib, "rpcns4.lib") +#pragma comment(lib, "rpcrt4.lib") + +#define ENTRY_PREFIX Prx + +#include "dlldata.c" +#include "LegacyUpdate_p.c" + +#endif //_MERGE_PROXYSTUB diff --git a/LegacyUpdate/dlldatax.h b/LegacyUpdate/dlldatax.h new file mode 100644 index 0000000..e5375bb --- /dev/null +++ b/LegacyUpdate/dlldatax.h @@ -0,0 +1,11 @@ +#pragma once + +#ifdef _MERGE_PROXYSTUB +extern "C" { + BOOL WINAPI PrxDllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved); + STDAPI PrxDllCanUnloadNow(void); + STDAPI PrxDllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv); + STDAPI PrxDllRegisterServer(void); + STDAPI PrxDllUnregisterServer(void); +} +#endif diff --git a/LegacyUpdate/dllmain.cpp b/LegacyUpdate/dllmain.cpp new file mode 100644 index 0000000..78c4a7a --- /dev/null +++ b/LegacyUpdate/dllmain.cpp @@ -0,0 +1,108 @@ +// dllmain.cpp : Implementation of DLL Exports. + +#include "stdafx.h" +#include "resource.h" +#include "LegacyUpdate_i.h" +#include "dllmain.h" +#include "dlldatax.h" + +CLegacyUpdateModule _AtlModule; +HINSTANCE g_hInstance; + +// DLL Entry Point +extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) { +#ifdef _MERGE_PROXYSTUB + if (!PrxDllMain(hInstance, dwReason, lpReserved)) + return FALSE; +#endif + + switch (dwReason) { + case DLL_PROCESS_ATTACH: + g_hInstance = hInstance; + break; + + case DLL_PROCESS_DETACH: + g_hInstance = NULL; + break; + } + + return _AtlModule.DllMain(dwReason, lpReserved); +} + + +// Used to determine whether the DLL can be unloaded by OLE +STDAPI DllCanUnloadNow(void) { +#ifdef _MERGE_PROXYSTUB + HRESULT hr = PrxDllCanUnloadNow(); + if (hr != S_OK) { + return hr; + } +#endif + return _AtlModule.DllCanUnloadNow(); +} + + +// Returns a class factory to create an object of the requested type +STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) { +#ifdef _MERGE_PROXYSTUB + if (PrxDllGetClassObject(rclsid, riid, ppv) == S_OK) { + return S_OK; + } +#endif + return _AtlModule.DllGetClassObject(rclsid, riid, ppv); +} + + +// DllRegisterServer - Adds entries to the system registry +STDAPI DllRegisterServer(void) { + // registers object, typelib and all interfaces in typelib + HRESULT hr = _AtlModule.DllRegisterServer(); +#ifdef _MERGE_PROXYSTUB + if (FAILED(hr)) { + return hr; + } + hr = PrxDllRegisterServer(); +#endif + return hr; +} + + +// DllUnregisterServer - Removes entries from the system registry +STDAPI DllUnregisterServer(void) { + HRESULT hr = _AtlModule.DllUnregisterServer(); +#ifdef _MERGE_PROXYSTUB + if (FAILED(hr)) { + return hr; + } + hr = PrxDllRegisterServer(); + if (FAILED(hr)) { + return hr; + } + hr = PrxDllUnregisterServer(); +#endif + return hr; +} + + +// DllInstall - Adds/Removes entries to the system registry per user per machine. +STDAPI DllInstall(BOOL bInstall, LPCWSTR pszCmdLine) { + HRESULT hr = E_FAIL; + static const wchar_t szUserSwitch[] = L"user"; + + if (pszCmdLine != NULL) { + if (_wcsnicmp(pszCmdLine, szUserSwitch, _countof(szUserSwitch)) == 0) { + AtlSetPerUserRegistration(true); + } + } + + if (bInstall) { + hr = DllRegisterServer(); + if (FAILED(hr)) { + DllUnregisterServer(); + } + } else { + hr = DllUnregisterServer(); + } + + return hr; +} diff --git a/LegacyUpdate/dllmain.h b/LegacyUpdate/dllmain.h new file mode 100644 index 0000000..da9103c --- /dev/null +++ b/LegacyUpdate/dllmain.h @@ -0,0 +1,10 @@ +// dllmain.h : Declaration of module class. + +class CLegacyUpdateModule : public CAtlDllModuleT { +public: + DECLARE_LIBID(LIBID_LegacyUpdateLib) + DECLARE_REGISTRY_APPID_RESOURCEID(IDR_LEGACYUPDATEOCX, "{D0A82CD0-B6F0-4101-83ED-DA47D0D04830}") +}; + +extern class CLegacyUpdateModule _AtlModule; +extern HINSTANCE g_hInstance; diff --git a/LegacyUpdate/icon.ico b/LegacyUpdate/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c3135890c9d1dac4b8799acb9c04f870989ce17d GIT binary patch literal 83677 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�As>bksf{sOr{H7je(A6 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 J=?r1A{~v+7{#5_~ literal 0 HcmV?d00001 diff --git a/LegacyUpdate/stdafx.cpp b/LegacyUpdate/stdafx.cpp new file mode 100644 index 0000000..1edc2c9 --- /dev/null +++ b/LegacyUpdate/stdafx.cpp @@ -0,0 +1,5 @@ +// stdafx.cpp : source file that includes just the standard includes +// LegacyUpdate.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" diff --git a/LegacyUpdate/stdafx.h b/LegacyUpdate/stdafx.h new file mode 100644 index 0000000..f26d852 --- /dev/null +++ b/LegacyUpdate/stdafx.h @@ -0,0 +1,28 @@ +#pragma once + +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, +// but are changed infrequently + +#ifndef STRICT +#define STRICT +#endif + +#include "targetver.h" + +#define _ATL_APARTMENT_THREADED +#define _ATL_NO_AUTOMATIC_NAMESPACE + +#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit + +#define ISOLATION_AWARE_ENABLED 1 // Enable comctl 6.0 (visual styles) + +#include "resource.h" +#include +#include +#include +#include + +using namespace ATL; + +#define TRACE ATLTRACE diff --git a/LegacyUpdate/targetver.h b/LegacyUpdate/targetver.h new file mode 100644 index 0000000..36dec11 --- /dev/null +++ b/LegacyUpdate/targetver.h @@ -0,0 +1,11 @@ +#pragma once + +#if _MSC_VER > 1599 + // VC17: Windows XP + #define WINVER 0x0501 + #define _WIN32_WINNT 0x0501 +#else + // VC08: Windows 2000 RTM + #define WINVER 0x0500 + #define _WIN32_WINNT 0x0500 +#endif diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..089b774 --- /dev/null +++ b/Makefile @@ -0,0 +1,17 @@ +export SIGN ?= 0 + +SUBPROJECTS = LegacyUpdate nsisplugin setup + +all: + set -e; \ + for i in $(SUBPROJECTS); do \ + $(MAKE) -C $$i; \ + done + +clean: + set -e; \ + for i in $(SUBPROJECTS); do \ + $(MAKE) -C $$i clean; \ + done + +.PHONY: all clean diff --git a/README.md b/README.md new file mode 100644 index 0000000..be62856 --- /dev/null +++ b/README.md @@ -0,0 +1,77 @@ +# [Legacy Update](http://legacyupdate.net/) + +[![wakatime](https://wakatime.com/badge/github/kirb/LegacyUpdate.svg)](https://wakatime.com/badge/github/kirb/LegacyUpdate) +[![Build](https://github.com/kirb/LegacyUpdate/actions/workflows/build.yml/badge.svg)](https://github.com/kirb/LegacyUpdate/actions/workflows/build.yml) + +Since Windows XP was discontinued in 2014, followed by Windows 7 in 2020, Microsoft’s support for their earlier OSes has significantly dwindled. As XP and earlier don’t officially support modern security improvements, such as the SHA256 hash algorithm required by modern SSL and Authenticode certificates [as of 2019](https://support.microsoft.com/en-us/topic/2019-sha-2-code-signing-support-requirement-for-windows-and-wsus-64d1c82d-31ee-c273-3930-69a4cde8e64f), much of the internet has become inaccessible to these devices. Adding insult to injury, Microsoft [actively removed](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/sha-1-windows-content-to-be-retired-august-3-2020/ba-p/1544373) many downloads for XP and earlier versions in 2020. In effect, working with these OSes is now incredibly difficult. + +To address this, [**Legacy Update**](https://legacyupdate.net/) hosts a patched instance of the Windows Update website. This works because the original Windows Update website simply accesses an ActiveX control that connects to the Windows Update service running on your computer. + +> *If this website helped you to update your old PCs, please consider [leaving a tip](https://github.com/sponsors/kirb) to help me pay for the server costs. Thank you!* + +## Download +Download the latest version from the [Releases](https://github.com/kirb/LegacyUpdate/releases) page of this repo, or from [**legacyupdate.net**](https://legacyupdate.net/). + +You can also download the [latest nightly build](https://nightly.link/kirb/LegacyUpdate/workflows/build/main/artifact.zip), based on the current development work. Nightly builds are not guaranteed to be stable, and unlike release builds, require at least Windows 2000 SP4 or Windows XP SP2. You may also need to accept extra SmartScreen and other security warnings since these executables are unique to each build. If you’re not sure what to download, you probably want the [stable release](https://legacyupdate.net/). + +## The ActiveX Control +This repo hosts an ActiveX control used as a replica of the original one developed by Microsoft for the official Windows Update website. The original version of Legacy Update required using a proxy autoconfiguration file (.pac) and some additional configuration of IE security settings to intercept requests to the **update.microsoft.com** site, because the Microsoft Wuweb.dll control validates that it is being used on the official update.microsoft.com domain. With the custom Legacy Update ActiveX control, proxying is no longer required, because we have full control over the validation logic. This also allows adding additional convenient features not possible with JavaScript alone. + +### Building +The project can be built on Windows 10/11 with [WSL 2](https://aka.ms/wslinstall) installed. You’ll ideally want to also set up an XP VM for testing. + +You will need to install: + +* [Visual Studio](https://visualstudio.microsoft.com/vs/) - select the following individual components: + * Desktop development with C++ + * C++ Windows XP Support for VS 2017 (v141) tools + * C++ ATL for v141 build tools (x86 & x64) +* [Visual Studio 2008](https://my.visualstudio.com/Downloads?q=Visual%20Studio%20Express%202008%20with%20Service%20Pack%201&pgroup=) for compiling a build that works on XP RTM and 2000 SP4 - not required if you only want to build for XP SP2 and later +* [NSIS](https://nsis.sourceforge.io/) + +In the WSL environment, run the following command to install build dependencies. This command is for Ubuntu - if you use a different distro, you will need to find and install the equivalent packages from your package manager. + +```bash +sudo apt install make nsis nsis-pluginapi mingw-w64-i686-dev +``` + +You will also need to extract a copy of updroots.exe from [this update](http://download.windowsupdate.com/d/msdownload/update/software/secu/2015/03/rvkroots_3f2ce4676450c06f109b5b4e68bec252873ccc21.exe). You can do this manually using 7-Zip, placing the exe at `setup/updroots.exe`, or run the following in WSL: + +```bash +sudo apt install cabextract +curl -L http://download.windowsupdate.com/d/msdownload/update/software/secu/2015/03/rvkroots_3f2ce4676450c06f109b5b4e68bec252873ccc21.exe -o /tmp/rvkroots.exe +cabextract -d setup -F updroots.exe /tmp/rvkroots.exe +rm /tmp/rvkroots.exe +``` + +When opening the solution for the first time, Visual Studio will ask if you want to retarget it against the latest Windows SDK. Select No Upgrade. + +### Testing +For debugging, if running on XP with IE8, install [Utilu IE Collection](https://www.utilu.com/iecollection/). IE6/IE7 is much more useful for debugging the native code, because of its simplistic single-process model. Visual Studio is able to launch it and directly attach to the process the code is running in. + +To configure the debugger: + +1. Right click LegacyUpdate in the Solution Explorer → Properties +2. In the Debugging tab, set the Command field to: + * For system IE install: `$(ProgramW6432)\Internet Explorer\iexplore.exe` + * For Utilu IE6 RTM: `$(ProgramW6432)\Utilu IE Collection\IE600\iexplore.exe` + * For Utilu IE6 SP2: `$(ProgramW6432)\Utilu IE Collection\IE600XPSP2\iexplore.exe` + * For Utilu IE7: `$(ProgramW6432)\Utilu IE Collection\IE700\iexplore.exe` +3. Set the Command Arguments field to `http://legacyupdate.net/windowsupdate/v6/`, or any other URL you want to use for debugging +4. If running on XP, in the Debugger tab, set Register Output to Yes. + If running on Vista or later, this will throw a permission denied error due to UAC. You’ll need to manually register the control using `regsvr32 LegacyUpdate.dll` in an administrator command prompt. + +## Website source code +I haven’t yet open sourced the website. This is because the vast majority of it is Microsoft code - just with a handful of patches I’ve made to remove Microsoft trademark branding, switch it to the Legacy Update ActiveX control, and make some slight bug fixes/improvements. It doesn’t feel appropriate to put an open source license on something I don’t own. However, if you would like to review it, you can right click → View Source on the website and take a poke around, mainly in the JavaScript files. You might find [DebugBar](https://www.debugbar.com/download.php) and [CompanionJS](https://www.my-debugbar.com/wiki/CompanionJS/HomePage) (requires Visual Studio or standalone [Microsoft Script Debugger](https://web.archive.org/web/20131113042519/http://download.microsoft.com/download/7/7/d/77d8df05-6fbc-4718-a319-be14317a6811/scd10en.exe)) useful. + +I’ve tinkered with writing a [ground-up replacement](https://twitter.com/hbkirb/status/1584537446716350466) of the Microsoft-developed Windows Update website, which I’ll open source when I feel it’s ready for public use (there are currently a number of bugs and missing features). + +## Disclaimer +The existence of this project shouldn’t be taken as an endorsement to continue using unsupported OSes. You should stick to a supported OS such as Windows 10 or 11 (or, try Linux?!). However, this service exists anyway in recognition that using these OSes is sometimes necessary to run legacy hardware/software, or just interesting to play around with. + +This project is not affiliated with or endorsed by Microsoft. This software is provided “as is”, without warranty of any kind. We don’t believe anything should go wrong, but please ensure you have backups of any important data anyway. + +## License +Licensed under the Apache License, version 2.0. Refer to [LICENSE.md](https://github.com/kirb/LegacyUpdate/blob/main/LICENSE.md). + +The repository includes a compiled copy of my fork of [NSxfer](https://github.com/kirb/nsis-nsxfer), licensed under the [zlib/libpng license](https://github.com/kirb/nsis-nsxfer/blob/master/LICENSE). diff --git a/build.cmd b/build.cmd new file mode 100644 index 0000000..1e2b1d2 --- /dev/null +++ b/build.cmd @@ -0,0 +1,21 @@ +@echo off +setlocal enabledelayedexpansion +cd %~dp0 + +set ProgramFiles32=%ProgramFiles% +if "%ProgramFiles(x86)%" neq "" set ProgramFiles32=%ProgramFiles(x86)% + +path %ProgramFiles32%\NSIS\Bin;%path% + +:: Make sure we have MakeNSIS +if not exist "%ProgramFiles32%\NSIS\Bin\makensis.exe" ( + echo NSIS not found. Refer to README.md. >&2 + exit /b 1 +) + +:: Build project +call LegacyUpdate\build.cmd + +:: Build NSIS +makensis setup\setup.nsi +if "%errorlevel%" neq "0" exit /b %errorlevel% diff --git a/build/getvc.cmd b/build/getvc.cmd new file mode 100644 index 0000000..cc2db4f --- /dev/null +++ b/build/getvc.cmd @@ -0,0 +1,23 @@ +@REM @echo off +setlocal enabledelayedexpansion + +set ProgramFiles32=%ProgramFiles% +if "%ProgramFiles(x86)%" neq "" set ProgramFiles32=%ProgramFiles(x86)% + +:: Find Visual Studio installation +if exist "%ProgramFiles32%\Microsoft Visual Studio\Installer\vswhere.exe" ( + :: Get modern Visual Studio install path + for /f "usebackq tokens=*" %%i in (`"%ProgramFiles32%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath`) do set VSPath=%%i + set "vcvarsall=!VSPath!\VC\Auxiliary\Build\vcvarsall.bat" + if "%errorlevel%" neq "0" exit /b %errorlevel% +) else if exist "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" ( + :: Visual Studio 2010 + set "vcvarsall=%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" + if "%errorlevel%" neq "0" exit /b %errorlevel% +) else ( + echo Visual Studio not found. Refer to README.md. >&2 + exit /b 1 +) + +endlocal & set "vcvarsall=%vcvarsall%" +call "%vcvarsall%" %* >nul diff --git a/build/sign.cmd b/build/sign.cmd new file mode 100644 index 0000000..238e176 --- /dev/null +++ b/build/sign.cmd @@ -0,0 +1,10 @@ +@echo off +setlocal enabledelayedexpansion + +:: Find Visual Studio installation +call %~dp0getvc.cmd x64 + +:: Sign +signtool sign /n "Hashbang Productions" /tr http://time.certum.pl/ /fd SHA1 /td SHA256 /v %* +signtool sign /n "Hashbang Productions" /tr http://time.certum.pl/ /fd SHA256 /td SHA256 /as /v %* +if "%errorlevel%" neq "0" exit /b %errorlevel% diff --git a/build/sign.sh b/build/sign.sh new file mode 100644 index 0000000..25c0dd8 --- /dev/null +++ b/build/sign.sh @@ -0,0 +1,9 @@ +#!/bin/bash +args=("$(wslpath -w "$(dirname "$0")/sign.cmd")") +for arg in "$@"; do + case "$arg" in + */*) args+=("$(wslpath -w "$arg")") ;; + *) args+=("$arg") ;; + esac +done +exec cmd.exe /c "${args[@]}" diff --git a/include/atlcomcli.h b/include/atlcomcli.h new file mode 100644 index 0000000..e765574 --- /dev/null +++ b/include/atlcomcli.h @@ -0,0 +1,959 @@ +/* + * ReactOS ATL + * + * Copyright 2009 Andrew Hill + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#pragma once + +#include "atlcore.h" + + +#ifdef _MSC_VER +// It is common to use this in ATL constructors. They only store this for later use, so the usage is safe. +#pragma warning(disable:4355) +#endif + +#ifndef _ATL_PACKING +#define _ATL_PACKING 8 +#endif + +#ifndef _ATL_FREE_THREADED +#ifndef _ATL_APARTMENT_THREADED +#ifndef _ATL_SINGLE_THREADED +#define _ATL_FREE_THREADED +#endif +#endif +#endif + +#ifndef ATLTRY +#define ATLTRY(x) x; +#endif + +#ifdef _ATL_DISABLE_NO_VTABLE +#define ATL_NO_VTABLE +#else +#define ATL_NO_VTABLE __declspec(novtable) +#endif + +namespace ATL +{ + +inline HRESULT AtlHresultFromLastError() throw() +{ + DWORD dwError = ::GetLastError(); + return HRESULT_FROM_WIN32(dwError); +} + +template +class _NoAddRefReleaseOnCComPtr : public T +{ + private: + virtual ULONG STDMETHODCALLTYPE AddRef() = 0; + virtual ULONG STDMETHODCALLTYPE Release() = 0; +}; + +// Begin code borrowed from Microsoft +//CComPtrBase provides the basis for all other smart pointers +//The other smartpointers add their own constructors and operators +template +class CComPtrBase +{ +protected: + CComPtrBase() throw() + { + p = NULL; + } + CComPtrBase(_Inout_opt_ T* lp) throw() + { + p = lp; + if (p != NULL) + p->AddRef(); + } + void Swap(CComPtrBase& other) + { + T* pTemp = p; + p = other.p; + other.p = pTemp; + } +public: + typedef T _PtrClass; + ~CComPtrBase() throw() + { + if (p) + p->Release(); + } + operator T*() const throw() + { + return p; + } + T& operator*() const + { + ATLENSURE(p!=NULL); + return *p; + } + //The assert on operator& usually indicates a bug. If this is really + //what is needed, however, take the address of the p member explicitly. + T** operator&() throw() + { + ATLASSERT(p==NULL); + return &p; + } + _NoAddRefReleaseOnCComPtr* operator->() const throw() + { + ATLASSERT(p!=NULL); + return (_NoAddRefReleaseOnCComPtr*)p; + } + bool operator!() const throw() + { + return (p == NULL); + } + bool operator<(_In_opt_ T* pT) const throw() + { + return p < pT; + } + bool operator!=(_In_opt_ T* pT) const + { + return !operator==(pT); + } + bool operator==(_In_opt_ T* pT) const throw() + { + return p == pT; + } + + // Release the interface and set to NULL + void Release() throw() + { + T* pTemp = p; + if (pTemp) + { + p = NULL; + pTemp->Release(); + } + } + // Compare two objects for equivalence + inline bool IsEqualObject(_Inout_opt_ IUnknown* pOther) throw(); + + // Attach to an existing interface (does not AddRef) + void Attach(_In_opt_ T* p2) throw() + { + if (p) + { + ULONG ref = p->Release(); + (ref); + // Attaching to the same object only works if duplicate references are being coalesced. Otherwise + // re-attaching will cause the pointer to be released and may cause a crash on a subsequent dereference. + ATLASSERT(ref != 0 || p2 != p); + } + p = p2; + } + // Detach the interface (does not Release) + T* Detach() throw() + { + T* pt = p; + p = NULL; + return pt; + } + _Check_return_ HRESULT CopyTo(_COM_Outptr_result_maybenull_ T** ppT) throw() + { + ATLASSERT(ppT != NULL); + if (ppT == NULL) + return E_POINTER; + *ppT = p; + if (p) + p->AddRef(); + return S_OK; + } + _Check_return_ HRESULT SetSite(_Inout_opt_ IUnknown* punkParent) throw() + { + return AtlSetChildSite(p, punkParent); + } + _Check_return_ HRESULT Advise( + _Inout_ IUnknown* pUnk, + _In_ const IID& iid, + _Out_ LPDWORD pdw) throw() + { + return AtlAdvise(p, pUnk, iid, pdw); + } + _Check_return_ HRESULT CoCreateInstance( + _In_ REFCLSID rclsid, + _Inout_opt_ LPUNKNOWN pUnkOuter = NULL, + _In_ DWORD dwClsContext = CLSCTX_ALL) throw() + { + ATLASSERT(p == NULL); + return ::CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(T), (void**)&p); + } +#ifdef _ATL_USE_WINAPI_FAMILY_DESKTOP_APP + _Check_return_ HRESULT CoCreateInstance( + _In_z_ LPCOLESTR szProgID, + _Inout_opt_ LPUNKNOWN pUnkOuter = NULL, + _In_ DWORD dwClsContext = CLSCTX_ALL) throw() + { + CLSID clsid; + HRESULT hr = CLSIDFromProgID(szProgID, &clsid); + ATLASSERT(p == NULL); + if (SUCCEEDED(hr)) + hr = ::CoCreateInstance(clsid, pUnkOuter, dwClsContext, __uuidof(T), (void**)&p); + return hr; + } +#endif // _ATL_USE_WINAPI_FAMILY_DESKTOP_APP + template + _Check_return_ HRESULT QueryInterface(_Outptr_ Q** pp) const throw() + { + ATLASSERT(pp != NULL); + return p->QueryInterface(__uuidof(Q), (void**)pp); + } + T* p; +}; +// End code borrowed from Microsoft + +template +class CComPtr : + public CComPtrBase +{ +public: + T *p; +public: + CComPtr() + { + p = NULL; + } + + CComPtr(T *lp) + { + p = lp; + if (p != NULL) + p->AddRef(); + } + + CComPtr(const CComPtr &lp) + { + p = lp.p; + if (p != NULL) + p->AddRef(); + } + + ~CComPtr() + { + if (p != NULL) + p->Release(); + } + + T *operator = (T *lp) + { + T* pOld = p; + + p = lp; + if (p != NULL) + p->AddRef(); + + if (pOld != NULL) + pOld->Release(); + + return *this; + } + + T *operator = (const CComPtr &lp) + { + T* pOld = p; + + p = lp.p; + if (p != NULL) + p->AddRef(); + + if (pOld != NULL) + pOld->Release(); + + return *this; + } + + // We cannot enable this until gcc starts supporting __uuidof + // See CORE-12710 +#if 0 + template + T* operator=(const CComPtr& lp) + { + T* pOld = p; + + if (!lp.p || FAILED(lp.p->QueryInterface(__uuidof(T), (void**)(IUnknown**)&p))) + p = NULL; + + if (pOld != NULL) + pOld->Release(); + + return *this; + } +#endif + + void Release() + { + if (p != NULL) + { + p->Release(); + p = NULL; + } + } + + void Attach(T *lp) + { + if (p != NULL) + p->Release(); + p = lp; + } + + T *Detach() + { + T *saveP; + + saveP = p; + p = NULL; + return saveP; + } + + T **operator & () + { + ATLASSERT(p == NULL); + return &p; + } + + operator T * () + { + return p; + } + + _NoAddRefReleaseOnCComPtr *operator -> () const + { + ATLASSERT(p != NULL); + return (_NoAddRefReleaseOnCComPtr *)p; + } +}; + +// Begin code borrowed from Microsoft +//specialization for IDispatch +template <> +class CComPtr : + public CComPtrBase +{ +public: + CComPtr() throw() + { + } + CComPtr(_Inout_opt_ IDispatch* lp) throw() : + CComPtrBase(lp) + { + } + CComPtr(_Inout_ const CComPtr& lp) throw() : + CComPtrBase(lp.p) + { + } + IDispatch* operator=(_Inout_opt_ IDispatch* lp) throw() + { + if(*this!=lp) + { + CComPtr(lp).Swap(*this); + } + return *this; + } + IDispatch* operator=(_Inout_ const CComPtr& lp) throw() + { + if(*this!=lp) + { + CComPtr(lp).Swap(*this); + } + return *this; + } + CComPtr(_Inout_ CComPtr&& lp) throw() : + CComPtrBase() + { + this->p = lp.p; + lp.p = NULL; + } + IDispatch* operator=(_Inout_ CComPtr&& lp) throw() + { + CComPtr(static_cast(lp)).Swap(*this); + return *this; + } + _Check_return_ HRESULT GetPropertyByName( + _In_z_ LPCOLESTR lpsz, + _Out_ VARIANT* pVar) throw() + { + ATLASSERT(this->p); + ATLASSERT(pVar); + DISPID dwDispID; + HRESULT hr = GetIDOfName(lpsz, &dwDispID); + if (SUCCEEDED(hr)) + hr = GetProperty(dwDispID, pVar); + return hr; + } + _Check_return_ HRESULT GetProperty( + _In_ DISPID dwDispID, + _Out_ VARIANT* pVar) throw() + { + return GetProperty(this->p, dwDispID, pVar); + } + _Check_return_ HRESULT PutPropertyByName( + _In_z_ LPCOLESTR lpsz, + _In_ VARIANT* pVar) throw() + { + ATLASSERT(this->p); + ATLASSERT(pVar); + DISPID dwDispID; + HRESULT hr = GetIDOfName(lpsz, &dwDispID); + if (SUCCEEDED(hr)) + hr = PutProperty(dwDispID, pVar); + return hr; + } + _Check_return_ HRESULT PutProperty( + _In_ DISPID dwDispID, + _In_ VARIANT* pVar) throw() + { + return PutProperty(this->p, dwDispID, pVar); + } + _Check_return_ HRESULT GetIDOfName( + _In_z_ LPCOLESTR lpsz, + _Out_ DISPID* pdispid) throw() + { + return this->p->GetIDsOfNames(IID_NULL, const_cast(&lpsz), 1, LOCALE_USER_DEFAULT, pdispid); + } + // Invoke a method by DISPID with no parameters + _Check_return_ HRESULT Invoke0( + _In_ DISPID dispid, + _Out_opt_ VARIANT* pvarRet = NULL) throw() + { + DISPPARAMS dispparams = { NULL, NULL, 0, 0}; + return this->p->Invoke(dispid, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &dispparams, pvarRet, NULL, NULL); + } + // Invoke a method by name with no parameters + _Check_return_ HRESULT Invoke0( + _In_z_ LPCOLESTR lpszName, + _Out_opt_ VARIANT* pvarRet = NULL) throw() + { + HRESULT hr; + DISPID dispid; + hr = GetIDOfName(lpszName, &dispid); + if (SUCCEEDED(hr)) + hr = Invoke0(dispid, pvarRet); + return hr; + } + // Invoke a method by DISPID with a single parameter + _Check_return_ HRESULT Invoke1( + _In_ DISPID dispid, + _In_ VARIANT* pvarParam1, + _Out_opt_ VARIANT* pvarRet = NULL) throw() + { + DISPPARAMS dispparams = { pvarParam1, NULL, 1, 0}; + return this->p->Invoke(dispid, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &dispparams, pvarRet, NULL, NULL); + } + // Invoke a method by name with a single parameter + _Check_return_ HRESULT Invoke1( + _In_z_ LPCOLESTR lpszName, + _In_ VARIANT* pvarParam1, + _Out_opt_ VARIANT* pvarRet = NULL) throw() + { + DISPID dispid; + HRESULT hr = GetIDOfName(lpszName, &dispid); + if (SUCCEEDED(hr)) + hr = Invoke1(dispid, pvarParam1, pvarRet); + return hr; + } + // Invoke a method by DISPID with two parameters + _Check_return_ HRESULT Invoke2( + _In_ DISPID dispid, + _In_ VARIANT* pvarParam1, + _In_ VARIANT* pvarParam2, + _Out_opt_ VARIANT* pvarRet = NULL) throw(); + // Invoke a method by name with two parameters + _Check_return_ HRESULT Invoke2( + _In_z_ LPCOLESTR lpszName, + _In_ VARIANT* pvarParam1, + _In_ VARIANT* pvarParam2, + _Out_opt_ VARIANT* pvarRet = NULL) throw() + { + DISPID dispid; + HRESULT hr = GetIDOfName(lpszName, &dispid); + if (SUCCEEDED(hr)) + hr = Invoke2(dispid, pvarParam1, pvarParam2, pvarRet); + return hr; + } + // Invoke a method by DISPID with N parameters + _Check_return_ HRESULT InvokeN( + _In_ DISPID dispid, + _In_ VARIANT* pvarParams, + _In_ int nParams, + _Out_opt_ VARIANT* pvarRet = NULL) throw() + { + DISPPARAMS dispparams = {pvarParams, NULL, (unsigned int)nParams, 0}; + return this->p->Invoke(dispid, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &dispparams, pvarRet, NULL, NULL); + } + // Invoke a method by name with Nparameters + _Check_return_ HRESULT InvokeN( + _In_z_ LPCOLESTR lpszName, + _In_ VARIANT* pvarParams, + _In_ int nParams, + _Out_opt_ VARIANT* pvarRet = NULL) throw() + { + HRESULT hr; + DISPID dispid; + hr = GetIDOfName(lpszName, &dispid); + if (SUCCEEDED(hr)) + hr = InvokeN(dispid, pvarParams, nParams, pvarRet); + return hr; + } + + _Check_return_ static HRESULT PutProperty( + _In_ IDispatch* pDispatch, + _In_ DISPID dwDispID, + _In_ VARIANT* pVar) throw() + { + ATLASSERT(pDispatch); + ATLASSERT(pVar != NULL); + if (pVar == NULL) + return E_POINTER; + + if (pDispatch == NULL) + return E_INVALIDARG; + + DISPPARAMS dispparams = {NULL, NULL, 1, 1}; + dispparams.rgvarg = pVar; + DISPID dispidPut = DISPID_PROPERTYPUT; + dispparams.rgdispidNamedArgs = &dispidPut; + + if (pVar->vt == VT_UNKNOWN || pVar->vt == VT_DISPATCH || + (pVar->vt & VT_ARRAY) || (pVar->vt & VT_BYREF)) + { + HRESULT hr = pDispatch->Invoke(dwDispID, IID_NULL, + LOCALE_USER_DEFAULT, DISPATCH_PROPERTYPUTREF, + &dispparams, NULL, NULL, NULL); + if (SUCCEEDED(hr)) + return hr; + } + return pDispatch->Invoke(dwDispID, IID_NULL, + LOCALE_USER_DEFAULT, DISPATCH_PROPERTYPUT, + &dispparams, NULL, NULL, NULL); + } + + _Check_return_ static HRESULT GetProperty( + _In_ IDispatch* pDispatch, + _In_ DISPID dwDispID, + _Out_ VARIANT* pVar) throw() + { + ATLASSERT(pDispatch); + ATLASSERT(pVar != NULL); + if (pVar == NULL) + return E_POINTER; + + if (pDispatch == NULL) + return E_INVALIDARG; + + DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0}; + return pDispatch->Invoke(dwDispID, IID_NULL, + LOCALE_USER_DEFAULT, DISPATCH_PROPERTYGET, + &dispparamsNoArgs, pVar, NULL, NULL); + } +}; +// End code borrowed from Microsoft + + +//CComQIIDPtr is the gcc compatible version of CComQIPtr +#define I_ID(Itype) Itype,&IID_##Itype + +template +class CComQIIDPtr : + public CComPtr +{ +public: + // Let's tell GCC how to find a symbol. + using CComPtr::p; + + CComQIIDPtr() + { + } + CComQIIDPtr(_Inout_opt_ T* lp) : + CComPtr(lp) + { + } + CComQIIDPtr(_Inout_ const CComQIIDPtr& lp): + CComPtr(lp.p) + { + } + CComQIIDPtr(_Inout_opt_ IUnknown* lp) + { + if (lp != NULL) + { + if (FAILED(lp->QueryInterface(*piid, (void**)(IUnknown**)&p))) + p = NULL; + } + } + T *operator = (T *lp) + { + T* pOld = p; + + p = lp; + if (p != NULL) + p->AddRef(); + + if (pOld != NULL) + pOld->Release(); + + return *this; + } + + T *operator = (const CComQIIDPtr &lp) + { + T* pOld = p; + + p = lp.p; + if (p != NULL) + p->AddRef(); + + if (pOld != NULL) + pOld->Release(); + + return *this; + } + + T * operator=(IUnknown* lp) + { + T* pOld = p; + + if (!lp || FAILED(lp->QueryInterface(*piid, (void**)(IUnknown**)&p))) + p = NULL; + + if (pOld != NULL) + pOld->Release(); + + return *this; + } +}; + + +class CComBSTR +{ +public: + BSTR m_str; +public: + CComBSTR() : + m_str(NULL) + { + } + + CComBSTR(LPCOLESTR pSrc) + { + if (pSrc == NULL) + m_str = NULL; + else + m_str = ::SysAllocString(pSrc); + } + + CComBSTR(int length) + { + if (length == 0) + m_str = NULL; + else + m_str = ::SysAllocStringLen(NULL, length); + } + + CComBSTR(int length, LPCOLESTR pSrc) + { + if (length == 0) + m_str = NULL; + else + m_str = ::SysAllocStringLen(pSrc, length); + } + + CComBSTR(PCSTR pSrc) + { + if (pSrc) + { + int len = MultiByteToWideChar(CP_THREAD_ACP, 0, pSrc, -1, NULL, 0); + m_str = ::SysAllocStringLen(NULL, len - 1); + if (m_str) + { + int res = MultiByteToWideChar(CP_THREAD_ACP, 0, pSrc, -1, m_str, len); + ATLASSERT(res == len); + if (res != len) + { + ::SysFreeString(m_str); + m_str = NULL; + } + } + } + else + { + m_str = NULL; + } + } + + CComBSTR(const CComBSTR &other) + { + m_str = other.Copy(); + } + + CComBSTR(REFGUID guid) + { + OLECHAR szGuid[40]; + ::StringFromGUID2(guid, szGuid, 40); + m_str = ::SysAllocString(szGuid); + } + + ~CComBSTR() + { + ::SysFreeString(m_str); + m_str = NULL; + } + + operator BSTR () const + { + return m_str; + } + + BSTR *operator & () + { + return &m_str; + } + + CComBSTR &operator = (const CComBSTR &other) + { + ::SysFreeString(m_str); + m_str = other.Copy(); + return *this; + } + + void Attach(BSTR bstr) + { + ::SysFreeString(m_str); + m_str = bstr; + } + + BSTR Detach() + { + BSTR str = m_str; + m_str = NULL; + return str; + } + + BSTR Copy() const + { + if (!m_str) + return NULL; + return ::SysAllocStringLen(m_str, ::SysStringLen(m_str)); + } + + HRESULT CopyTo(BSTR *other) const + { + if (!other) + return E_POINTER; + *other = Copy(); + return S_OK; + } + + bool LoadString(HMODULE module, DWORD uID) + { + ::SysFreeString(m_str); + m_str = NULL; + const wchar_t *ptr = NULL; + int len = ::LoadStringW(module, uID, (PWSTR)&ptr, 0); + if (len) + m_str = ::SysAllocStringLen(ptr, len); + return m_str != NULL; + } + + unsigned int Length() const + { + return ::SysStringLen(m_str); + } + + unsigned int ByteLength() const + { + return ::SysStringByteLen(m_str); + } +}; + + +class CComVariant : public tagVARIANT +{ +public: + CComVariant() + { + ::VariantInit(this); + } + + CComVariant(const CComVariant& other) + { + V_VT(this) = VT_EMPTY; + Copy(&other); + } + + ~CComVariant() + { + Clear(); + } + + CComVariant(LPCOLESTR lpStr) + { + V_VT(this) = VT_BSTR; + V_BSTR(this) = ::SysAllocString(lpStr); + } + + CComVariant(LPCSTR lpStr) + { + V_VT(this) = VT_BSTR; + CComBSTR str(lpStr); + V_BSTR(this) = str.Detach(); + } + + CComVariant(bool value) + { + V_VT(this) = VT_BOOL; + V_BOOL(this) = value ? VARIANT_TRUE : VARIANT_FALSE; + } + + CComVariant(char value) + { + V_VT(this) = VT_I1; + V_I1(this) = value; + } + + CComVariant(BYTE value) + { + V_VT(this) = VT_UI1; + V_UI1(this) = value; + } + + CComVariant(short value) + { + V_VT(this) = VT_I2; + V_I2(this) = value; + } + + CComVariant(unsigned short value) + { + V_VT(this) = VT_UI2; + V_UI2(this) = value; + } + + CComVariant(int value, VARENUM type = VT_I4) + { + if (type == VT_I4 || type == VT_INT) + { + V_VT(this) = type; + V_I4(this) = value; + } + else + { + V_VT(this) = VT_ERROR; + V_ERROR(this) = E_INVALIDARG; + } + } + + CComVariant(unsigned int value, VARENUM type = VT_UI4) + { + if (type == VT_UI4 || type == VT_UINT) + { + V_VT(this) = type; + V_UI4(this) = value; + } + else + { + V_VT(this) = VT_ERROR; + V_ERROR(this) = E_INVALIDARG; + } + } + + CComVariant(long value, VARENUM type = VT_I4) + { + if (type == VT_I4 || type == VT_ERROR) + { + V_VT(this) = type; + V_I4(this) = value; + } + else + { + V_VT(this) = VT_ERROR; + V_ERROR(this) = E_INVALIDARG; + } + } + + CComVariant(unsigned long value) + { + V_VT(this) = VT_UI4; + V_UI4(this) = value; + } + + CComVariant(float value) + { + V_VT(this) = VT_R4; + V_R4(this) = value; + } + + CComVariant(double value, VARENUM type = VT_R8) + { + if (type == VT_R8 || type == VT_DATE) + { + V_VT(this) = type; + V_R8(this) = value; + } + else + { + V_VT(this) = VT_ERROR; + V_ERROR(this) = E_INVALIDARG; + } + } + + CComVariant(const LONGLONG& value) + { + V_VT(this) = VT_I8; + V_I8(this) = value; + } + + CComVariant(const ULONGLONG& value) + { + V_VT(this) = VT_UI8; + V_UI8(this) = value; + } + + CComVariant(const CY& value) + { + V_VT(this) = VT_CY; + V_I8(this) = value.int64; + } + + + HRESULT Clear() + { + return ::VariantClear(this); + } + + HRESULT Copy(_In_ const VARIANT* src) + { + return ::VariantCopy(this, const_cast(src)); + } + + HRESULT ChangeType(_In_ VARTYPE newType, _In_opt_ const LPVARIANT src = NULL) + { + const LPVARIANT lpSrc = src ? src : this; + return ::VariantChangeType(this, lpSrc, 0, newType); + } +}; + + + +}; // namespace ATL + +#ifndef _ATL_NO_AUTOMATIC_NAMESPACE +using namespace ATL; +#endif //!_ATL_NO_AUTOMATIC_NAMESPACE diff --git a/include/atlcore.h b/include/atlcore.h new file mode 100644 index 0000000..26f3ced --- /dev/null +++ b/include/atlcore.h @@ -0,0 +1,310 @@ +/* + * ReactOS ATL + * + * Copyright 2009 Andrew Hill + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#pragma once + +#include + +#ifdef __REACTOS__ + #define WIN32_NO_STATUS + #define _INC_WINDOWS + #define COM_NO_WINDOWS_H + #include + #include + #include + #include + #include +#else + #include +#endif +#include +#include +#include + +#ifndef ATLASSERT +#define ATLASSERT(expr) _ASSERTE(expr) +#endif // ATLASSERT + +namespace ATL +{ + +class CComCriticalSection +{ +public: + CRITICAL_SECTION m_sec; +public: + CComCriticalSection() + { + memset(&m_sec, 0, sizeof(CRITICAL_SECTION)); + } + + virtual ~CComCriticalSection() + { + } + + HRESULT Lock() + { + EnterCriticalSection(&m_sec); + return S_OK; + } + + HRESULT Unlock() + { + LeaveCriticalSection(&m_sec); + return S_OK; + } + + HRESULT Init() + { + InitializeCriticalSection(&m_sec); + return S_OK; + } + + HRESULT Term() + { + DeleteCriticalSection(&m_sec); + return S_OK; + } +}; + +class CComFakeCriticalSection +{ +public: + HRESULT Lock() + { + return S_OK; + } + + HRESULT Unlock() + { + return S_OK; + } + + HRESULT Init() + { + return S_OK; + } + + HRESULT Term() + { + return S_OK; + } +}; + +class CComAutoCriticalSection : public CComCriticalSection +{ +public: + CComAutoCriticalSection() + { + HRESULT hResult __MINGW_ATTRIB_UNUSED; + + hResult = CComCriticalSection::Init(); + ATLASSERT(SUCCEEDED(hResult)); + } + ~CComAutoCriticalSection() + { + CComCriticalSection::Term(); + } +}; + +class CComSafeDeleteCriticalSection : public CComCriticalSection +{ +private: + bool m_bInitialized; +public: + CComSafeDeleteCriticalSection() + { + m_bInitialized = false; + } + + ~CComSafeDeleteCriticalSection() + { + Term(); + } + + HRESULT Lock() + { + ATLASSERT(m_bInitialized); + return CComCriticalSection::Lock(); + } + + HRESULT Init() + { + HRESULT hResult; + + ATLASSERT(!m_bInitialized); + hResult = CComCriticalSection::Init(); + if (SUCCEEDED(hResult)) + m_bInitialized = true; + return hResult; + } + + HRESULT Term() + { + if (!m_bInitialized) + return S_OK; + m_bInitialized = false; + return CComCriticalSection::Term(); + } +}; + +class CComAutoDeleteCriticalSection : public CComSafeDeleteCriticalSection +{ +private: + // CComAutoDeleteCriticalSection::Term should never be called + HRESULT Term(); +}; + +struct _ATL_BASE_MODULE70 +{ + UINT cbSize; + HINSTANCE m_hInst; + HINSTANCE m_hInstResource; + bool m_bNT5orWin98; + DWORD dwAtlBuildVer; + GUID *pguidVer; + CRITICAL_SECTION m_csResource; +#ifdef NOTYET + CSimpleArray m_rgResourceInstance; +#endif +}; +typedef _ATL_BASE_MODULE70 _ATL_BASE_MODULE; + +class CAtlBaseModule : public _ATL_BASE_MODULE +{ +public : + static bool m_bInitFailed; +public: + CAtlBaseModule() + { + cbSize = sizeof(_ATL_BASE_MODULE); + GetModuleHandleExW(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, (LPCWSTR)this, &m_hInst); + m_hInstResource = m_hInst; + } + + HINSTANCE GetModuleInstance() + { + return m_hInst; + } + + HINSTANCE GetResourceInstance() + { + return m_hInstResource; + } + + HINSTANCE SetResourceInstance(HINSTANCE hInst) + { + return static_cast< HINSTANCE >(InterlockedExchangePointer((void**)&m_hInstResource, hInst)); + } + + HINSTANCE GetHInstanceAt(int i); +}; + +__declspec(selectany) CAtlBaseModule _AtlBaseModule; +__declspec(selectany) bool CAtlBaseModule::m_bInitFailed = false; + + +/// +// String Resource helper functions +// +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable:4200) +#endif +struct ATLSTRINGRESOURCEIMAGE +{ + WORD nLength; + WCHAR achString[]; +}; +#ifdef _MSC_VER +#pragma warning(pop) +#endif + +inline const ATLSTRINGRESOURCEIMAGE* _AtlGetStringResourceImage( + _In_ HINSTANCE hInstance, + _In_ HRSRC hResource, + _In_ UINT id) +{ + const ATLSTRINGRESOURCEIMAGE* pImage; + const ATLSTRINGRESOURCEIMAGE* pImageEnd; + ULONG nResourceSize; + HGLOBAL hGlobal; + UINT iIndex; + + hGlobal = ::LoadResource(hInstance, hResource); + if (hGlobal == NULL) return NULL; + + pImage = (const ATLSTRINGRESOURCEIMAGE*)::LockResource(hGlobal); + if (pImage == NULL) return NULL; + + nResourceSize = ::SizeofResource(hInstance, hResource); + pImageEnd = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE(pImage) + nResourceSize); + iIndex = id & 0x000f; + + while ((iIndex > 0) && (pImage < pImageEnd)) + { + pImage = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE(pImage) + (sizeof(ATLSTRINGRESOURCEIMAGE) + (pImage->nLength * sizeof(WCHAR)))); + iIndex--; + } + + if (pImage >= pImageEnd) return NULL; + if (pImage->nLength == 0) return NULL; + + return pImage; +} + +inline const ATLSTRINGRESOURCEIMAGE* AtlGetStringResourceImage( + _In_ HINSTANCE hInstance, + _In_ UINT id) throw() +{ + HRSRC hResource; + hResource = ::FindResourceW(hInstance, MAKEINTRESOURCEW((((id >> 4) + 1) & static_cast(~0))), (LPWSTR)RT_STRING); + if (hResource == NULL) return NULL; + return _AtlGetStringResourceImage(hInstance, hResource, id); +} + +inline const ATLSTRINGRESOURCEIMAGE* AtlGetStringResourceImage( + _In_ HINSTANCE hInstance, + _In_ UINT id, + _In_ WORD wLanguage) +{ + HRSRC hResource; + hResource = ::FindResourceExW(hInstance, (LPWSTR)RT_STRING, MAKEINTRESOURCEW((((id >> 4) + 1) & static_cast(~0))), wLanguage); + if (hResource == NULL) return NULL; + return _AtlGetStringResourceImage(hInstance, hResource, id); +} + +inline HINSTANCE AtlFindStringResourceInstance( + UINT nID, + WORD wLanguage = 0) +{ + const ATLSTRINGRESOURCEIMAGE* strRes = NULL; + HINSTANCE hInst = _AtlBaseModule.GetHInstanceAt(0); + + for (int i = 1; hInst != NULL && strRes == NULL; hInst = _AtlBaseModule.GetHInstanceAt(i++)) + { + strRes = AtlGetStringResourceImage(hInst, nID, wLanguage); + if (strRes != NULL) return hInst; + } + + return NULL; +} + +}; // namespace ATL diff --git a/include/nsis/api.h b/include/nsis/api.h new file mode 100644 index 0000000..8157f34 --- /dev/null +++ b/include/nsis/api.h @@ -0,0 +1,85 @@ +/* + * apih + * + * This file is a part of NSIS. + * + * Copyright (C) 1999-2023 Nullsoft and Contributors + * + * Licensed under the zlib/libpng license (the "License"); + * you may not use this file except in compliance with the License. + * + * Licence details can be found in the file COPYING. + * + * This software is provided 'as-is', without any express or implied + * warranty. + */ + +#ifndef _NSIS_EXEHEAD_API_H_ +#define _NSIS_EXEHEAD_API_H_ + +// Starting with NSIS 2.42, you can check the version of the plugin API in exec_flags->plugin_api_version +// The format is 0xXXXXYYYY where X is the major version and Y is the minor version (MAKELONG(y,x)) +// When doing version checks, always remember to use >=, ex: if (pX->exec_flags->plugin_api_version >= NSISPIAPIVER_1_0) {} + +#define NSISPIAPIVER_1_0 0x00010000 +#define NSISPIAPIVER_CURR NSISPIAPIVER_1_0 + +// NSIS Plug-In Callback Messages +enum NSPIM +{ + NSPIM_UNLOAD, // This is the last message a plugin gets, do final cleanup + NSPIM_GUIUNLOAD, // Called after .onGUIEnd +}; + +// Prototype for callbacks registered with extra_parameters->RegisterPluginCallback() +// Return NULL for unknown messages +// Should always be __cdecl for future expansion possibilities +typedef UINT_PTR (*NSISPLUGINCALLBACK)(enum NSPIM); + +// extra_parameters data structure containing other interesting stuff +// besides the stack, variables and HWND passed on to plug-ins. +typedef struct +{ + int autoclose; // SetAutoClose + int all_user_var; // SetShellVarContext: User context = 0, Machine context = 1 + int exec_error; // IfErrors/ClearErrors/SetErrors + int abort; // IfAbort + int exec_reboot; // IfRebootFlag/SetRebootFlag (NSIS_SUPPORT_REBOOT) + int reboot_called; // NSIS_SUPPORT_REBOOT + int XXX_cur_insttype; // Deprecated + int plugin_api_version; // Plug-in ABI. See NSISPIAPIVER_CURR (Note: used to be XXX_insttype_changed) + int silent; // IfSilent/SetSilent (NSIS_CONFIG_SILENT_SUPPORT) + int instdir_error; // GetInstDirError + int rtl; // IfRtlLanguage: 1 if $LANGUAGE is a RTL language + int errlvl; // SetErrorLevel + int alter_reg_view; // SetRegView: Default View = 0, Alternative View = (sizeof(void*) > 4 ? KEY_WOW64_32KEY : KEY_WOW64_64KEY) + int status_update; // SetDetailsPrint +} exec_flags_t; + +#ifndef NSISCALL +# define NSISCALL __stdcall +#endif +#if !defined(_WIN32) && !defined(LPTSTR) +# define LPTSTR TCHAR* +#endif + +typedef struct { + exec_flags_t *exec_flags; + int (NSISCALL *ExecuteCodeSegment)(int, HWND); + void (NSISCALL *validate_filename)(LPTSTR); + int (NSISCALL *RegisterPluginCallback)(HMODULE, NSISPLUGINCALLBACK); // returns 0 on success, 1 if already registered and < 0 on errors +} extra_parameters; + +// Definitions for page showing plug-ins +// See Ui.c to understand better how they're used + +// sent to the outer window to tell it to go to the next inner window +#define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8) + +// custom pages should send this message to let NSIS know they're ready +#define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd) + +// sent as wParam with WM_NOTIFY_OUTER_NEXT when user cancels - heed its warning +#define NOTIFY_BYE_BYE 'x' + +#endif /* _NSIS_EXEHEAD_API_H_ */ diff --git a/include/nsis/nsis_tchar.h b/include/nsis/nsis_tchar.h new file mode 100644 index 0000000..ba39d2a --- /dev/null +++ b/include/nsis/nsis_tchar.h @@ -0,0 +1,229 @@ +/* + * nsis_tchar.h + * + * This file is a part of NSIS. + * + * Copyright (C) 1999-2023 Nullsoft and Contributors + * + * This software is provided 'as-is', without any express or implied + * warranty. + * + * For Unicode support by Jim Park -- 08/30/2007 + */ + +// Jim Park: Only those we use are listed here. + +#pragma once + +#ifdef _UNICODE + +#ifndef _T +#define __T(x) L ## x +#define _T(x) __T(x) +#define _TEXT(x) __T(x) +#endif + +#ifndef _TCHAR_DEFINED +#define _TCHAR_DEFINED +#if !defined(_NATIVE_WCHAR_T_DEFINED) && !defined(_WCHAR_T_DEFINED) +typedef unsigned short TCHAR; +#else +typedef wchar_t TCHAR; +#endif +#endif + + +// program +#define _tenviron _wenviron +#define __targv __wargv + +// printfs +#define _ftprintf fwprintf +#define _sntprintf _snwprintf +#if (defined(_MSC_VER) && (_MSC_VER<=1310||_MSC_FULL_VER<=140040310)) || defined(__MINGW32__) +# define _stprintf swprintf +#else +# define _stprintf _swprintf +#endif +#define _tprintf wprintf +#define _vftprintf vfwprintf +#define _vsntprintf _vsnwprintf +#if defined(_MSC_VER) && (_MSC_VER<=1310) +# define _vstprintf vswprintf +#else +# define _vstprintf _vswprintf +#endif + +// scanfs +#define _tscanf wscanf +#define _stscanf swscanf + +// string manipulations +#define _tcscat wcscat +#define _tcschr wcschr +#define _tcsclen wcslen +#define _tcscpy wcscpy +#define _tcsdup _wcsdup +#define _tcslen wcslen +#define _tcsnccpy wcsncpy +#define _tcsncpy wcsncpy +#define _tcsrchr wcsrchr +#define _tcsstr wcsstr +#define _tcstok wcstok + +// string comparisons +#define _tcscmp wcscmp +#define _tcsicmp _wcsicmp +#define _tcsncicmp _wcsnicmp +#define _tcsncmp wcsncmp +#define _tcsnicmp _wcsnicmp + +// upper / lower +#define _tcslwr _wcslwr +#define _tcsupr _wcsupr +#define _totlower towlower +#define _totupper towupper + +// conversions to numbers +#define _tcstoi64 _wcstoi64 +#define _tcstol wcstol +#define _tcstoul wcstoul +#define _tstof _wtof +#define _tstoi _wtoi +#define _tstoi64 _wtoi64 +#define _ttoi _wtoi +#define _ttoi64 _wtoi64 +#define _ttol _wtol + +// conversion from numbers to strings +#define _itot _itow +#define _ltot _ltow +#define _i64tot _i64tow +#define _ui64tot _ui64tow + +// file manipulations +#define _tfopen _wfopen +#define _topen _wopen +#define _tremove _wremove +#define _tunlink _wunlink + +// reading and writing to i/o +#define _fgettc fgetwc +#define _fgetts fgetws +#define _fputts fputws +#define _gettchar getwchar + +// directory +#define _tchdir _wchdir + +// environment +#define _tgetenv _wgetenv +#define _tsystem _wsystem + +// time +#define _tcsftime wcsftime + +#else // ANSI + +#ifndef _T +#define _T(x) x +#define _TEXT(x) x +#endif + +#ifndef _TCHAR_DEFINED +#define _TCHAR_DEFINED +typedef char TCHAR; +#endif + +// program +#define _tenviron environ +#define __targv __argv + +// printfs +#define _ftprintf fprintf +#define _sntprintf _snprintf +#define _stprintf sprintf +#define _tprintf printf +#define _vftprintf vfprintf +#define _vsntprintf _vsnprintf +#define _vstprintf vsprintf + +// scanfs +#define _tscanf scanf +#define _stscanf sscanf + +// string manipulations +#define _tcscat strcat +#define _tcschr strchr +#define _tcsclen strlen +#define _tcscnlen strnlen +#define _tcscpy strcpy +#define _tcsdup _strdup +#define _tcslen strlen +#define _tcsnccpy strncpy +#define _tcsrchr strrchr +#define _tcsstr strstr +#define _tcstok strtok + +// string comparisons +#define _tcscmp strcmp +#define _tcsicmp _stricmp +#define _tcsncmp strncmp +#define _tcsncicmp _strnicmp +#define _tcsnicmp _strnicmp + +// upper / lower +#define _tcslwr _strlwr +#define _tcsupr _strupr + +#define _totupper toupper +#define _totlower tolower + +// conversions to numbers +#define _tcstol strtol +#define _tcstoul strtoul +#define _tstof atof +#define _tstoi atoi +#define _tstoi64 _atoi64 +#define _tstoi64 _atoi64 +#define _ttoi atoi +#define _ttoi64 _atoi64 +#define _ttol atol + +// conversion from numbers to strings +#define _i64tot _i64toa +#define _itot _itoa +#define _ltot _ltoa +#define _ui64tot _ui64toa + +// file manipulations +#define _tfopen fopen +#define _topen _open +#define _tremove remove +#define _tunlink _unlink + +// reading and writing to i/o +#define _fgettc fgetc +#define _fgetts fgets +#define _fputts fputs +#define _gettchar getchar + +// directory +#define _tchdir _chdir + +// environment +#define _tgetenv getenv +#define _tsystem system + +// time +#define _tcsftime strftime + +#endif + +// is functions (the same in Unicode / ANSI) +#define _istgraph isgraph +#define _istascii __isascii + +#define __TFILE__ _T(__FILE__) +#define __TDATE__ _T(__DATE__) +#define __TTIME__ _T(__TIME__) diff --git a/include/nsis/pluginapi.c b/include/nsis/pluginapi.c new file mode 100644 index 0000000..110f70e --- /dev/null +++ b/include/nsis/pluginapi.c @@ -0,0 +1,305 @@ +#include +#include "pluginapi.h" + +#ifndef COUNTOF +#define COUNTOF(a) (sizeof(a)/sizeof(a[0])) +#endif + +// minimal tchar.h emulation +#ifndef _T +# define _T TEXT +#endif +#if !defined(TCHAR) && !defined(_TCHAR_DEFINED) +# ifdef UNICODE +# define TCHAR WCHAR +# else +# define TCHAR char +# endif +#endif + +#define isvalidnsisvarindex(varnum) ( ((unsigned int)(varnum)) < (__INST_LAST) ) + +unsigned int g_stringsize; +stack_t **g_stacktop; +LPTSTR g_variables; + +// utility functions (not required but often useful) + +int NSISCALL popstring(LPTSTR str) +{ + stack_t *th; + if (!g_stacktop || !*g_stacktop) return 1; + th=(*g_stacktop); + if (str) lstrcpy(str,th->text); + *g_stacktop = th->next; + GlobalFree((HGLOBAL)th); + return 0; +} + +int NSISCALL popstringn(LPTSTR str, int maxlen) +{ + stack_t *th; + if (!g_stacktop || !*g_stacktop) return 1; + th=(*g_stacktop); + if (str) lstrcpyn(str,th->text,maxlen?maxlen:g_stringsize); + *g_stacktop = th->next; + GlobalFree((HGLOBAL)th); + return 0; +} + +void NSISCALL pushstring(LPCTSTR str) +{ + stack_t *th; + if (!g_stacktop) return; + th=(stack_t*)GlobalAlloc(GPTR,(sizeof(stack_t)+(g_stringsize)*sizeof(*str))); + lstrcpyn(th->text,str,g_stringsize); + th->next=*g_stacktop; + *g_stacktop=th; +} + +LPTSTR NSISCALL getuservariable(const int varnum) +{ + if (!isvalidnsisvarindex(varnum)) return NULL; + return g_variables+varnum*g_stringsize; +} + +void NSISCALL setuservariable(const int varnum, LPCTSTR var) +{ + if (var && isvalidnsisvarindex(varnum)) + lstrcpy(g_variables + varnum*g_stringsize, var); +} + +#ifdef UNICODE +int NSISCALL PopStringA(LPSTR ansiStr) +{ + LPWSTR wideStr = (LPWSTR) GlobalAlloc(GPTR, g_stringsize*sizeof(WCHAR)); + int rval = popstring(wideStr); + WideCharToMultiByte(CP_ACP, 0, wideStr, -1, ansiStr, g_stringsize, NULL, NULL); + GlobalFree((HGLOBAL)wideStr); + return rval; +} + +int NSISCALL PopStringNA(LPSTR ansiStr, int maxlen) +{ + int realLen = maxlen ? maxlen : g_stringsize; + LPWSTR wideStr = (LPWSTR) GlobalAlloc(GPTR, realLen*sizeof(WCHAR)); + int rval = popstringn(wideStr, realLen); + WideCharToMultiByte(CP_ACP, 0, wideStr, -1, ansiStr, realLen, NULL, NULL); + GlobalFree((HGLOBAL)wideStr); + return rval; +} + +void NSISCALL PushStringA(LPCSTR ansiStr) +{ + LPWSTR wideStr = (LPWSTR) GlobalAlloc(GPTR, g_stringsize*sizeof(WCHAR)); + MultiByteToWideChar(CP_ACP, 0, ansiStr, -1, wideStr, g_stringsize); + pushstring(wideStr); + GlobalFree((HGLOBAL)wideStr); + return; +} + +void NSISCALL GetUserVariableW(const int varnum, LPWSTR wideStr) +{ + lstrcpyW(wideStr, getuservariable(varnum)); +} + +void NSISCALL GetUserVariableA(const int varnum, LPSTR ansiStr) +{ + LPWSTR wideStr = getuservariable(varnum); + WideCharToMultiByte(CP_ACP, 0, wideStr, -1, ansiStr, g_stringsize, NULL, NULL); +} + +void NSISCALL SetUserVariableA(const int varnum, LPCSTR ansiStr) +{ + if (ansiStr && isvalidnsisvarindex(varnum)) + { + LPWSTR wideStr = g_variables + varnum * g_stringsize; + MultiByteToWideChar(CP_ACP, 0, ansiStr, -1, wideStr, g_stringsize); + } +} + +#else +// ANSI defs +int NSISCALL PopStringW(LPWSTR wideStr) +{ + LPSTR ansiStr = (LPSTR) GlobalAlloc(GPTR, g_stringsize); + int rval = popstring(ansiStr); + MultiByteToWideChar(CP_ACP, 0, ansiStr, -1, wideStr, g_stringsize); + GlobalFree((HGLOBAL)ansiStr); + return rval; +} + +int NSISCALL PopStringNW(LPWSTR wideStr, int maxlen) +{ + int realLen = maxlen ? maxlen : g_stringsize; + LPSTR ansiStr = (LPSTR) GlobalAlloc(GPTR, realLen); + int rval = popstringn(ansiStr, realLen); + MultiByteToWideChar(CP_ACP, 0, ansiStr, -1, wideStr, realLen); + GlobalFree((HGLOBAL)ansiStr); + return rval; +} + +void NSISCALL PushStringW(LPWSTR wideStr) +{ + LPSTR ansiStr = (LPSTR) GlobalAlloc(GPTR, g_stringsize); + WideCharToMultiByte(CP_ACP, 0, wideStr, -1, ansiStr, g_stringsize, NULL, NULL); + pushstring(ansiStr); + GlobalFree((HGLOBAL)ansiStr); +} + +void NSISCALL GetUserVariableW(const int varnum, LPWSTR wideStr) +{ + LPSTR ansiStr = getuservariable(varnum); + MultiByteToWideChar(CP_ACP, 0, ansiStr, -1, wideStr, g_stringsize); +} + +void NSISCALL GetUserVariableA(const int varnum, LPSTR ansiStr) +{ + lstrcpyA(ansiStr, getuservariable(varnum)); +} + +void NSISCALL SetUserVariableW(const int varnum, LPCWSTR wideStr) +{ + if (wideStr && isvalidnsisvarindex(varnum)) + { + LPSTR ansiStr = g_variables + varnum * g_stringsize; + WideCharToMultiByte(CP_ACP, 0, wideStr, -1, ansiStr, g_stringsize, NULL, NULL); + } +} +#endif + +// playing with integers + +INT_PTR NSISCALL nsishelper_str_to_ptr(LPCTSTR s) +{ + INT_PTR v=0; + if (*s == _T('0') && (s[1] == _T('x') || s[1] == _T('X'))) + { + s++; + for (;;) + { + int c=*(++s); + if (c >= _T('0') && c <= _T('9')) c-=_T('0'); + else if (c >= _T('a') && c <= _T('f')) c-=_T('a')-10; + else if (c >= _T('A') && c <= _T('F')) c-=_T('A')-10; + else break; + v<<=4; + v+=c; + } + } + else if (*s == _T('0') && s[1] <= _T('7') && s[1] >= _T('0')) + { + for (;;) + { + int c=*(++s); + if (c >= _T('0') && c <= _T('7')) c-=_T('0'); + else break; + v<<=3; + v+=c; + } + } + else + { + int sign=0; + if (*s == _T('-')) sign++; else s--; + for (;;) + { + int c=*(++s) - _T('0'); + if (c < 0 || c > 9) break; + v*=10; + v+=c; + } + if (sign) v = -v; + } + + return v; +} + +unsigned int NSISCALL myatou(LPCTSTR s) +{ + unsigned int v=0; + + for (;;) + { + unsigned int c=*s++; + if (c >= _T('0') && c <= _T('9')) c-=_T('0'); + else break; + v*=10; + v+=c; + } + return v; +} + +int NSISCALL myatoi_or(LPCTSTR s) +{ + int v=0; + if (*s == _T('0') && (s[1] == _T('x') || s[1] == _T('X'))) + { + s++; + for (;;) + { + int c=*(++s); + if (c >= _T('0') && c <= _T('9')) c-=_T('0'); + else if (c >= _T('a') && c <= _T('f')) c-=_T('a')-10; + else if (c >= _T('A') && c <= _T('F')) c-=_T('A')-10; + else break; + v<<=4; + v+=c; + } + } + else if (*s == _T('0') && s[1] <= _T('7') && s[1] >= _T('0')) + { + for (;;) + { + int c=*(++s); + if (c >= _T('0') && c <= _T('7')) c-=_T('0'); + else break; + v<<=3; + v+=c; + } + } + else + { + int sign=0; + if (*s == _T('-')) sign++; else s--; + for (;;) + { + int c=*(++s) - _T('0'); + if (c < 0 || c > 9) break; + v*=10; + v+=c; + } + if (sign) v = -v; + } + + // Support for simple ORed expressions + if (*s == _T('|')) + { + v |= myatoi_or(s+1); + } + + return v; +} + +INT_PTR NSISCALL popintptr() +{ + TCHAR buf[128]; + if (popstringn(buf,COUNTOF(buf))) + return 0; + return nsishelper_str_to_ptr(buf); +} + +int NSISCALL popint_or() +{ + TCHAR buf[128]; + if (popstringn(buf,COUNTOF(buf))) + return 0; + return myatoi_or(buf); +} + +void NSISCALL pushintptr(INT_PTR value) +{ + TCHAR buffer[30]; + wsprintf(buffer, sizeof(void*) > 4 ? _T("%Id") : _T("%d"), value); + pushstring(buffer); +} diff --git a/include/nsis/pluginapi.h b/include/nsis/pluginapi.h new file mode 100644 index 0000000..63fe790 --- /dev/null +++ b/include/nsis/pluginapi.h @@ -0,0 +1,108 @@ +#ifndef ___NSIS_PLUGIN__H___ +#define ___NSIS_PLUGIN__H___ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "api.h" +#include "nsis_tchar.h" // BUGBUG: Why cannot our plugins use the compilers tchar.h? + +#ifndef NSISCALL +# define NSISCALL WINAPI +#endif + +#define EXDLL_INIT() { \ + g_stringsize=string_size; \ + g_stacktop=stacktop; \ + g_variables=variables; } + +typedef struct _stack_t { + struct _stack_t *next; +#ifdef UNICODE + WCHAR text[1]; // this should be the length of g_stringsize when allocating +#else + char text[1]; +#endif +} stack_t; + +enum +{ +INST_0, // $0 +INST_1, // $1 +INST_2, // $2 +INST_3, // $3 +INST_4, // $4 +INST_5, // $5 +INST_6, // $6 +INST_7, // $7 +INST_8, // $8 +INST_9, // $9 +INST_R0, // $R0 +INST_R1, // $R1 +INST_R2, // $R2 +INST_R3, // $R3 +INST_R4, // $R4 +INST_R5, // $R5 +INST_R6, // $R6 +INST_R7, // $R7 +INST_R8, // $R8 +INST_R9, // $R9 +INST_CMDLINE, // $CMDLINE +INST_INSTDIR, // $INSTDIR +INST_OUTDIR, // $OUTDIR +INST_EXEDIR, // $EXEDIR +INST_LANG, // $LANGUAGE +__INST_LAST +}; + +extern unsigned int g_stringsize; +extern stack_t **g_stacktop; +extern LPTSTR g_variables; + +void NSISCALL pushstring(LPCTSTR str); +void NSISCALL pushintptr(INT_PTR value); +#define pushint(v) pushintptr((INT_PTR)(v)) +int NSISCALL popstring(LPTSTR str); // 0 on success, 1 on empty stack +int NSISCALL popstringn(LPTSTR str, int maxlen); // with length limit, pass 0 for g_stringsize +INT_PTR NSISCALL popintptr(); +#define popint() ( (int) popintptr() ) +int NSISCALL popint_or(); // with support for or'ing (2|4|8) +INT_PTR NSISCALL nsishelper_str_to_ptr(LPCTSTR s); +#define myatoi(s) ( (int) nsishelper_str_to_ptr(s) ) // converts a string to an integer +unsigned int NSISCALL myatou(LPCTSTR s); // converts a string to an unsigned integer, decimal only +int NSISCALL myatoi_or(LPCTSTR s); // with support for or'ing (2|4|8) +LPTSTR NSISCALL getuservariable(const int varnum); +void NSISCALL setuservariable(const int varnum, LPCTSTR var); + +#ifdef UNICODE +#define PopStringW(x) popstring(x) +#define PushStringW(x) pushstring(x) +#define SetUserVariableW(x,y) setuservariable(x,y) + +int NSISCALL PopStringA(LPSTR ansiStr); +void NSISCALL PushStringA(LPCSTR ansiStr); +void NSISCALL GetUserVariableW(const int varnum, LPWSTR wideStr); +void NSISCALL GetUserVariableA(const int varnum, LPSTR ansiStr); +void NSISCALL SetUserVariableA(const int varnum, LPCSTR ansiStr); + +#else +// ANSI defs + +#define PopStringA(x) popstring(x) +#define PushStringA(x) pushstring(x) +#define SetUserVariableA(x,y) setuservariable(x,y) + +int NSISCALL PopStringW(LPWSTR wideStr); +void NSISCALL PushStringW(LPWSTR wideStr); +void NSISCALL GetUserVariableW(const int varnum, LPWSTR wideStr); +void NSISCALL GetUserVariableA(const int varnum, LPSTR ansiStr); +void NSISCALL SetUserVariableW(const int varnum, LPCWSTR wideStr); + +#endif + +#ifdef __cplusplus +} +#endif + +#endif//!___NSIS_PLUGIN__H___ diff --git a/include/wuapi.h b/include/wuapi.h new file mode 100644 index 0000000..4f85ce0 --- /dev/null +++ b/include/wuapi.h @@ -0,0 +1,17341 @@ + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 7.00.0555 */ +/* Compiler settings for wuapi.idl: + Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +/* @@MIDL_FILE_HEADING( ) */ + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCSAL_H_VERSION__ +#define __REQUIRED_RPCSAL_H_VERSION__ 100 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of +#endif // __RPCNDR_H_VERSION__ + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif /*COM_NO_WINDOWS_H*/ + +#ifndef __wuapi_h__ +#define __wuapi_h__ + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +/* Forward Declarations */ + +#ifndef __IUpdateLockdown_FWD_DEFINED__ +#define __IUpdateLockdown_FWD_DEFINED__ +typedef interface IUpdateLockdown IUpdateLockdown; +#endif /* __IUpdateLockdown_FWD_DEFINED__ */ + + +#ifndef __IStringCollection_FWD_DEFINED__ +#define __IStringCollection_FWD_DEFINED__ +typedef interface IStringCollection IStringCollection; +#endif /* __IStringCollection_FWD_DEFINED__ */ + + +#ifndef __IWebProxy_FWD_DEFINED__ +#define __IWebProxy_FWD_DEFINED__ +typedef interface IWebProxy IWebProxy; +#endif /* __IWebProxy_FWD_DEFINED__ */ + + +#ifndef __ISystemInformation_FWD_DEFINED__ +#define __ISystemInformation_FWD_DEFINED__ +typedef interface ISystemInformation ISystemInformation; +#endif /* __ISystemInformation_FWD_DEFINED__ */ + + +#ifndef __IWindowsUpdateAgentInfo_FWD_DEFINED__ +#define __IWindowsUpdateAgentInfo_FWD_DEFINED__ +typedef interface IWindowsUpdateAgentInfo IWindowsUpdateAgentInfo; +#endif /* __IWindowsUpdateAgentInfo_FWD_DEFINED__ */ + + +#ifndef __IAutomaticUpdatesResults_FWD_DEFINED__ +#define __IAutomaticUpdatesResults_FWD_DEFINED__ +typedef interface IAutomaticUpdatesResults IAutomaticUpdatesResults; +#endif /* __IAutomaticUpdatesResults_FWD_DEFINED__ */ + + +#ifndef __IAutomaticUpdatesSettings_FWD_DEFINED__ +#define __IAutomaticUpdatesSettings_FWD_DEFINED__ +typedef interface IAutomaticUpdatesSettings IAutomaticUpdatesSettings; +#endif /* __IAutomaticUpdatesSettings_FWD_DEFINED__ */ + + +#ifndef __IAutomaticUpdatesSettings2_FWD_DEFINED__ +#define __IAutomaticUpdatesSettings2_FWD_DEFINED__ +typedef interface IAutomaticUpdatesSettings2 IAutomaticUpdatesSettings2; +#endif /* __IAutomaticUpdatesSettings2_FWD_DEFINED__ */ + + +#ifndef __IAutomaticUpdatesSettings3_FWD_DEFINED__ +#define __IAutomaticUpdatesSettings3_FWD_DEFINED__ +typedef interface IAutomaticUpdatesSettings3 IAutomaticUpdatesSettings3; +#endif /* __IAutomaticUpdatesSettings3_FWD_DEFINED__ */ + + +#ifndef __IAutomaticUpdates_FWD_DEFINED__ +#define __IAutomaticUpdates_FWD_DEFINED__ +typedef interface IAutomaticUpdates IAutomaticUpdates; +#endif /* __IAutomaticUpdates_FWD_DEFINED__ */ + + +#ifndef __IAutomaticUpdates2_FWD_DEFINED__ +#define __IAutomaticUpdates2_FWD_DEFINED__ +typedef interface IAutomaticUpdates2 IAutomaticUpdates2; +#endif /* __IAutomaticUpdates2_FWD_DEFINED__ */ + + +#ifndef __IUpdateIdentity_FWD_DEFINED__ +#define __IUpdateIdentity_FWD_DEFINED__ +typedef interface IUpdateIdentity IUpdateIdentity; +#endif /* __IUpdateIdentity_FWD_DEFINED__ */ + + +#ifndef __IImageInformation_FWD_DEFINED__ +#define __IImageInformation_FWD_DEFINED__ +typedef interface IImageInformation IImageInformation; +#endif /* __IImageInformation_FWD_DEFINED__ */ + + +#ifndef __ICategory_FWD_DEFINED__ +#define __ICategory_FWD_DEFINED__ +typedef interface ICategory ICategory; +#endif /* __ICategory_FWD_DEFINED__ */ + + +#ifndef __ICategoryCollection_FWD_DEFINED__ +#define __ICategoryCollection_FWD_DEFINED__ +typedef interface ICategoryCollection ICategoryCollection; +#endif /* __ICategoryCollection_FWD_DEFINED__ */ + + +#ifndef __IInstallationBehavior_FWD_DEFINED__ +#define __IInstallationBehavior_FWD_DEFINED__ +typedef interface IInstallationBehavior IInstallationBehavior; +#endif /* __IInstallationBehavior_FWD_DEFINED__ */ + + +#ifndef __IUpdateDownloadContent_FWD_DEFINED__ +#define __IUpdateDownloadContent_FWD_DEFINED__ +typedef interface IUpdateDownloadContent IUpdateDownloadContent; +#endif /* __IUpdateDownloadContent_FWD_DEFINED__ */ + + +#ifndef __IUpdateDownloadContent2_FWD_DEFINED__ +#define __IUpdateDownloadContent2_FWD_DEFINED__ +typedef interface IUpdateDownloadContent2 IUpdateDownloadContent2; +#endif /* __IUpdateDownloadContent2_FWD_DEFINED__ */ + + +#ifndef __IUpdateDownloadContentCollection_FWD_DEFINED__ +#define __IUpdateDownloadContentCollection_FWD_DEFINED__ +typedef interface IUpdateDownloadContentCollection IUpdateDownloadContentCollection; +#endif /* __IUpdateDownloadContentCollection_FWD_DEFINED__ */ + + +#ifndef __IUpdate_FWD_DEFINED__ +#define __IUpdate_FWD_DEFINED__ +typedef interface IUpdate IUpdate; +#endif /* __IUpdate_FWD_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdate_FWD_DEFINED__ +#define __IWindowsDriverUpdate_FWD_DEFINED__ +typedef interface IWindowsDriverUpdate IWindowsDriverUpdate; +#endif /* __IWindowsDriverUpdate_FWD_DEFINED__ */ + + +#ifndef __IUpdate2_FWD_DEFINED__ +#define __IUpdate2_FWD_DEFINED__ +typedef interface IUpdate2 IUpdate2; +#endif /* __IUpdate2_FWD_DEFINED__ */ + + +#ifndef __IUpdate3_FWD_DEFINED__ +#define __IUpdate3_FWD_DEFINED__ +typedef interface IUpdate3 IUpdate3; +#endif /* __IUpdate3_FWD_DEFINED__ */ + + +#ifndef __IUpdate4_FWD_DEFINED__ +#define __IUpdate4_FWD_DEFINED__ +typedef interface IUpdate4 IUpdate4; +#endif /* __IUpdate4_FWD_DEFINED__ */ + + +#ifndef __IUpdate5_FWD_DEFINED__ +#define __IUpdate5_FWD_DEFINED__ +typedef interface IUpdate5 IUpdate5; +#endif /* __IUpdate5_FWD_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdate2_FWD_DEFINED__ +#define __IWindowsDriverUpdate2_FWD_DEFINED__ +typedef interface IWindowsDriverUpdate2 IWindowsDriverUpdate2; +#endif /* __IWindowsDriverUpdate2_FWD_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdate3_FWD_DEFINED__ +#define __IWindowsDriverUpdate3_FWD_DEFINED__ +typedef interface IWindowsDriverUpdate3 IWindowsDriverUpdate3; +#endif /* __IWindowsDriverUpdate3_FWD_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdateEntry_FWD_DEFINED__ +#define __IWindowsDriverUpdateEntry_FWD_DEFINED__ +typedef interface IWindowsDriverUpdateEntry IWindowsDriverUpdateEntry; +#endif /* __IWindowsDriverUpdateEntry_FWD_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdateEntryCollection_FWD_DEFINED__ +#define __IWindowsDriverUpdateEntryCollection_FWD_DEFINED__ +typedef interface IWindowsDriverUpdateEntryCollection IWindowsDriverUpdateEntryCollection; +#endif /* __IWindowsDriverUpdateEntryCollection_FWD_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdate4_FWD_DEFINED__ +#define __IWindowsDriverUpdate4_FWD_DEFINED__ +typedef interface IWindowsDriverUpdate4 IWindowsDriverUpdate4; +#endif /* __IWindowsDriverUpdate4_FWD_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdate5_FWD_DEFINED__ +#define __IWindowsDriverUpdate5_FWD_DEFINED__ +typedef interface IWindowsDriverUpdate5 IWindowsDriverUpdate5; +#endif /* __IWindowsDriverUpdate5_FWD_DEFINED__ */ + + +#ifndef __IUpdateCollection_FWD_DEFINED__ +#define __IUpdateCollection_FWD_DEFINED__ +typedef interface IUpdateCollection IUpdateCollection; +#endif /* __IUpdateCollection_FWD_DEFINED__ */ + + +#ifndef __IUpdateException_FWD_DEFINED__ +#define __IUpdateException_FWD_DEFINED__ +typedef interface IUpdateException IUpdateException; +#endif /* __IUpdateException_FWD_DEFINED__ */ + + +#ifndef __IInvalidProductLicenseException_FWD_DEFINED__ +#define __IInvalidProductLicenseException_FWD_DEFINED__ +typedef interface IInvalidProductLicenseException IInvalidProductLicenseException; +#endif /* __IInvalidProductLicenseException_FWD_DEFINED__ */ + + +#ifndef __IUpdateExceptionCollection_FWD_DEFINED__ +#define __IUpdateExceptionCollection_FWD_DEFINED__ +typedef interface IUpdateExceptionCollection IUpdateExceptionCollection; +#endif /* __IUpdateExceptionCollection_FWD_DEFINED__ */ + + +#ifndef __ISearchResult_FWD_DEFINED__ +#define __ISearchResult_FWD_DEFINED__ +typedef interface ISearchResult ISearchResult; +#endif /* __ISearchResult_FWD_DEFINED__ */ + + +#ifndef __ISearchJob_FWD_DEFINED__ +#define __ISearchJob_FWD_DEFINED__ +typedef interface ISearchJob ISearchJob; +#endif /* __ISearchJob_FWD_DEFINED__ */ + + +#ifndef __ISearchCompletedCallbackArgs_FWD_DEFINED__ +#define __ISearchCompletedCallbackArgs_FWD_DEFINED__ +typedef interface ISearchCompletedCallbackArgs ISearchCompletedCallbackArgs; +#endif /* __ISearchCompletedCallbackArgs_FWD_DEFINED__ */ + + +#ifndef __ISearchCompletedCallback_FWD_DEFINED__ +#define __ISearchCompletedCallback_FWD_DEFINED__ +typedef interface ISearchCompletedCallback ISearchCompletedCallback; +#endif /* __ISearchCompletedCallback_FWD_DEFINED__ */ + + +#ifndef __IUpdateHistoryEntry_FWD_DEFINED__ +#define __IUpdateHistoryEntry_FWD_DEFINED__ +typedef interface IUpdateHistoryEntry IUpdateHistoryEntry; +#endif /* __IUpdateHistoryEntry_FWD_DEFINED__ */ + + +#ifndef __IUpdateHistoryEntry2_FWD_DEFINED__ +#define __IUpdateHistoryEntry2_FWD_DEFINED__ +typedef interface IUpdateHistoryEntry2 IUpdateHistoryEntry2; +#endif /* __IUpdateHistoryEntry2_FWD_DEFINED__ */ + + +#ifndef __IUpdateHistoryEntryCollection_FWD_DEFINED__ +#define __IUpdateHistoryEntryCollection_FWD_DEFINED__ +typedef interface IUpdateHistoryEntryCollection IUpdateHistoryEntryCollection; +#endif /* __IUpdateHistoryEntryCollection_FWD_DEFINED__ */ + + +#ifndef __IUpdateSearcher_FWD_DEFINED__ +#define __IUpdateSearcher_FWD_DEFINED__ +typedef interface IUpdateSearcher IUpdateSearcher; +#endif /* __IUpdateSearcher_FWD_DEFINED__ */ + + +#ifndef __IUpdateSearcher2_FWD_DEFINED__ +#define __IUpdateSearcher2_FWD_DEFINED__ +typedef interface IUpdateSearcher2 IUpdateSearcher2; +#endif /* __IUpdateSearcher2_FWD_DEFINED__ */ + + +#ifndef __IUpdateSearcher3_FWD_DEFINED__ +#define __IUpdateSearcher3_FWD_DEFINED__ +typedef interface IUpdateSearcher3 IUpdateSearcher3; +#endif /* __IUpdateSearcher3_FWD_DEFINED__ */ + + +#ifndef __IUpdateDownloadResult_FWD_DEFINED__ +#define __IUpdateDownloadResult_FWD_DEFINED__ +typedef interface IUpdateDownloadResult IUpdateDownloadResult; +#endif /* __IUpdateDownloadResult_FWD_DEFINED__ */ + + +#ifndef __IDownloadResult_FWD_DEFINED__ +#define __IDownloadResult_FWD_DEFINED__ +typedef interface IDownloadResult IDownloadResult; +#endif /* __IDownloadResult_FWD_DEFINED__ */ + + +#ifndef __IDownloadProgress_FWD_DEFINED__ +#define __IDownloadProgress_FWD_DEFINED__ +typedef interface IDownloadProgress IDownloadProgress; +#endif /* __IDownloadProgress_FWD_DEFINED__ */ + + +#ifndef __IDownloadJob_FWD_DEFINED__ +#define __IDownloadJob_FWD_DEFINED__ +typedef interface IDownloadJob IDownloadJob; +#endif /* __IDownloadJob_FWD_DEFINED__ */ + + +#ifndef __IDownloadCompletedCallbackArgs_FWD_DEFINED__ +#define __IDownloadCompletedCallbackArgs_FWD_DEFINED__ +typedef interface IDownloadCompletedCallbackArgs IDownloadCompletedCallbackArgs; +#endif /* __IDownloadCompletedCallbackArgs_FWD_DEFINED__ */ + + +#ifndef __IDownloadCompletedCallback_FWD_DEFINED__ +#define __IDownloadCompletedCallback_FWD_DEFINED__ +typedef interface IDownloadCompletedCallback IDownloadCompletedCallback; +#endif /* __IDownloadCompletedCallback_FWD_DEFINED__ */ + + +#ifndef __IDownloadProgressChangedCallbackArgs_FWD_DEFINED__ +#define __IDownloadProgressChangedCallbackArgs_FWD_DEFINED__ +typedef interface IDownloadProgressChangedCallbackArgs IDownloadProgressChangedCallbackArgs; +#endif /* __IDownloadProgressChangedCallbackArgs_FWD_DEFINED__ */ + + +#ifndef __IDownloadProgressChangedCallback_FWD_DEFINED__ +#define __IDownloadProgressChangedCallback_FWD_DEFINED__ +typedef interface IDownloadProgressChangedCallback IDownloadProgressChangedCallback; +#endif /* __IDownloadProgressChangedCallback_FWD_DEFINED__ */ + + +#ifndef __IUpdateDownloader_FWD_DEFINED__ +#define __IUpdateDownloader_FWD_DEFINED__ +typedef interface IUpdateDownloader IUpdateDownloader; +#endif /* __IUpdateDownloader_FWD_DEFINED__ */ + + +#ifndef __IUpdateInstallationResult_FWD_DEFINED__ +#define __IUpdateInstallationResult_FWD_DEFINED__ +typedef interface IUpdateInstallationResult IUpdateInstallationResult; +#endif /* __IUpdateInstallationResult_FWD_DEFINED__ */ + + +#ifndef __IInstallationResult_FWD_DEFINED__ +#define __IInstallationResult_FWD_DEFINED__ +typedef interface IInstallationResult IInstallationResult; +#endif /* __IInstallationResult_FWD_DEFINED__ */ + + +#ifndef __IInstallationProgress_FWD_DEFINED__ +#define __IInstallationProgress_FWD_DEFINED__ +typedef interface IInstallationProgress IInstallationProgress; +#endif /* __IInstallationProgress_FWD_DEFINED__ */ + + +#ifndef __IInstallationJob_FWD_DEFINED__ +#define __IInstallationJob_FWD_DEFINED__ +typedef interface IInstallationJob IInstallationJob; +#endif /* __IInstallationJob_FWD_DEFINED__ */ + + +#ifndef __IInstallationCompletedCallbackArgs_FWD_DEFINED__ +#define __IInstallationCompletedCallbackArgs_FWD_DEFINED__ +typedef interface IInstallationCompletedCallbackArgs IInstallationCompletedCallbackArgs; +#endif /* __IInstallationCompletedCallbackArgs_FWD_DEFINED__ */ + + +#ifndef __IInstallationCompletedCallback_FWD_DEFINED__ +#define __IInstallationCompletedCallback_FWD_DEFINED__ +typedef interface IInstallationCompletedCallback IInstallationCompletedCallback; +#endif /* __IInstallationCompletedCallback_FWD_DEFINED__ */ + + +#ifndef __IInstallationProgressChangedCallbackArgs_FWD_DEFINED__ +#define __IInstallationProgressChangedCallbackArgs_FWD_DEFINED__ +typedef interface IInstallationProgressChangedCallbackArgs IInstallationProgressChangedCallbackArgs; +#endif /* __IInstallationProgressChangedCallbackArgs_FWD_DEFINED__ */ + + +#ifndef __IInstallationProgressChangedCallback_FWD_DEFINED__ +#define __IInstallationProgressChangedCallback_FWD_DEFINED__ +typedef interface IInstallationProgressChangedCallback IInstallationProgressChangedCallback; +#endif /* __IInstallationProgressChangedCallback_FWD_DEFINED__ */ + + +#ifndef __IUpdateInstaller_FWD_DEFINED__ +#define __IUpdateInstaller_FWD_DEFINED__ +typedef interface IUpdateInstaller IUpdateInstaller; +#endif /* __IUpdateInstaller_FWD_DEFINED__ */ + + +#ifndef __IUpdateInstaller2_FWD_DEFINED__ +#define __IUpdateInstaller2_FWD_DEFINED__ +typedef interface IUpdateInstaller2 IUpdateInstaller2; +#endif /* __IUpdateInstaller2_FWD_DEFINED__ */ + + +#ifndef __IUpdateSession_FWD_DEFINED__ +#define __IUpdateSession_FWD_DEFINED__ +typedef interface IUpdateSession IUpdateSession; +#endif /* __IUpdateSession_FWD_DEFINED__ */ + + +#ifndef __IUpdateSession2_FWD_DEFINED__ +#define __IUpdateSession2_FWD_DEFINED__ +typedef interface IUpdateSession2 IUpdateSession2; +#endif /* __IUpdateSession2_FWD_DEFINED__ */ + + +#ifndef __IUpdateSession3_FWD_DEFINED__ +#define __IUpdateSession3_FWD_DEFINED__ +typedef interface IUpdateSession3 IUpdateSession3; +#endif /* __IUpdateSession3_FWD_DEFINED__ */ + + +#ifndef __IUpdateService_FWD_DEFINED__ +#define __IUpdateService_FWD_DEFINED__ +typedef interface IUpdateService IUpdateService; +#endif /* __IUpdateService_FWD_DEFINED__ */ + + +#ifndef __IUpdateService2_FWD_DEFINED__ +#define __IUpdateService2_FWD_DEFINED__ +typedef interface IUpdateService2 IUpdateService2; +#endif /* __IUpdateService2_FWD_DEFINED__ */ + + +#ifndef __IUpdateServiceCollection_FWD_DEFINED__ +#define __IUpdateServiceCollection_FWD_DEFINED__ +typedef interface IUpdateServiceCollection IUpdateServiceCollection; +#endif /* __IUpdateServiceCollection_FWD_DEFINED__ */ + + +#ifndef __IUpdateServiceRegistration_FWD_DEFINED__ +#define __IUpdateServiceRegistration_FWD_DEFINED__ +typedef interface IUpdateServiceRegistration IUpdateServiceRegistration; +#endif /* __IUpdateServiceRegistration_FWD_DEFINED__ */ + + +#ifndef __IUpdateServiceManager_FWD_DEFINED__ +#define __IUpdateServiceManager_FWD_DEFINED__ +typedef interface IUpdateServiceManager IUpdateServiceManager; +#endif /* __IUpdateServiceManager_FWD_DEFINED__ */ + + +#ifndef __IUpdateServiceManager2_FWD_DEFINED__ +#define __IUpdateServiceManager2_FWD_DEFINED__ +typedef interface IUpdateServiceManager2 IUpdateServiceManager2; +#endif /* __IUpdateServiceManager2_FWD_DEFINED__ */ + + +#ifndef __IInstallationAgent_FWD_DEFINED__ +#define __IInstallationAgent_FWD_DEFINED__ +typedef interface IInstallationAgent IInstallationAgent; +#endif /* __IInstallationAgent_FWD_DEFINED__ */ + + +#ifndef __IUpdateLockdown_FWD_DEFINED__ +#define __IUpdateLockdown_FWD_DEFINED__ +typedef interface IUpdateLockdown IUpdateLockdown; +#endif /* __IUpdateLockdown_FWD_DEFINED__ */ + + +#ifndef __IUpdateException_FWD_DEFINED__ +#define __IUpdateException_FWD_DEFINED__ +typedef interface IUpdateException IUpdateException; +#endif /* __IUpdateException_FWD_DEFINED__ */ + + +#ifndef __IInvalidProductLicenseException_FWD_DEFINED__ +#define __IInvalidProductLicenseException_FWD_DEFINED__ +typedef interface IInvalidProductLicenseException IInvalidProductLicenseException; +#endif /* __IInvalidProductLicenseException_FWD_DEFINED__ */ + + +#ifndef __IAutomaticUpdatesSettings_FWD_DEFINED__ +#define __IAutomaticUpdatesSettings_FWD_DEFINED__ +typedef interface IAutomaticUpdatesSettings IAutomaticUpdatesSettings; +#endif /* __IAutomaticUpdatesSettings_FWD_DEFINED__ */ + + +#ifndef __IAutomaticUpdatesSettings2_FWD_DEFINED__ +#define __IAutomaticUpdatesSettings2_FWD_DEFINED__ +typedef interface IAutomaticUpdatesSettings2 IAutomaticUpdatesSettings2; +#endif /* __IAutomaticUpdatesSettings2_FWD_DEFINED__ */ + + +#ifndef __IAutomaticUpdatesSettings3_FWD_DEFINED__ +#define __IAutomaticUpdatesSettings3_FWD_DEFINED__ +typedef interface IAutomaticUpdatesSettings3 IAutomaticUpdatesSettings3; +#endif /* __IAutomaticUpdatesSettings3_FWD_DEFINED__ */ + + +#ifndef __IUpdate_FWD_DEFINED__ +#define __IUpdate_FWD_DEFINED__ +typedef interface IUpdate IUpdate; +#endif /* __IUpdate_FWD_DEFINED__ */ + + +#ifndef __IUpdate2_FWD_DEFINED__ +#define __IUpdate2_FWD_DEFINED__ +typedef interface IUpdate2 IUpdate2; +#endif /* __IUpdate2_FWD_DEFINED__ */ + + +#ifndef __IUpdate3_FWD_DEFINED__ +#define __IUpdate3_FWD_DEFINED__ +typedef interface IUpdate3 IUpdate3; +#endif /* __IUpdate3_FWD_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdateEntry_FWD_DEFINED__ +#define __IWindowsDriverUpdateEntry_FWD_DEFINED__ +typedef interface IWindowsDriverUpdateEntry IWindowsDriverUpdateEntry; +#endif /* __IWindowsDriverUpdateEntry_FWD_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdateEntryCollection_FWD_DEFINED__ +#define __IWindowsDriverUpdateEntryCollection_FWD_DEFINED__ +typedef interface IWindowsDriverUpdateEntryCollection IWindowsDriverUpdateEntryCollection; +#endif /* __IWindowsDriverUpdateEntryCollection_FWD_DEFINED__ */ + + +#ifndef __IUpdate4_FWD_DEFINED__ +#define __IUpdate4_FWD_DEFINED__ +typedef interface IUpdate4 IUpdate4; +#endif /* __IUpdate4_FWD_DEFINED__ */ + + +#ifndef __IUpdate5_FWD_DEFINED__ +#define __IUpdate5_FWD_DEFINED__ +typedef interface IUpdate5 IUpdate5; +#endif /* __IUpdate5_FWD_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdate_FWD_DEFINED__ +#define __IWindowsDriverUpdate_FWD_DEFINED__ +typedef interface IWindowsDriverUpdate IWindowsDriverUpdate; +#endif /* __IWindowsDriverUpdate_FWD_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdate2_FWD_DEFINED__ +#define __IWindowsDriverUpdate2_FWD_DEFINED__ +typedef interface IWindowsDriverUpdate2 IWindowsDriverUpdate2; +#endif /* __IWindowsDriverUpdate2_FWD_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdate3_FWD_DEFINED__ +#define __IWindowsDriverUpdate3_FWD_DEFINED__ +typedef interface IWindowsDriverUpdate3 IWindowsDriverUpdate3; +#endif /* __IWindowsDriverUpdate3_FWD_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdate4_FWD_DEFINED__ +#define __IWindowsDriverUpdate4_FWD_DEFINED__ +typedef interface IWindowsDriverUpdate4 IWindowsDriverUpdate4; +#endif /* __IWindowsDriverUpdate4_FWD_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdate5_FWD_DEFINED__ +#define __IWindowsDriverUpdate5_FWD_DEFINED__ +typedef interface IWindowsDriverUpdate5 IWindowsDriverUpdate5; +#endif /* __IWindowsDriverUpdate5_FWD_DEFINED__ */ + + +#ifndef __ISearchCompletedCallback_FWD_DEFINED__ +#define __ISearchCompletedCallback_FWD_DEFINED__ +typedef interface ISearchCompletedCallback ISearchCompletedCallback; +#endif /* __ISearchCompletedCallback_FWD_DEFINED__ */ + + +#ifndef __IDownloadCompletedCallback_FWD_DEFINED__ +#define __IDownloadCompletedCallback_FWD_DEFINED__ +typedef interface IDownloadCompletedCallback IDownloadCompletedCallback; +#endif /* __IDownloadCompletedCallback_FWD_DEFINED__ */ + + +#ifndef __IDownloadProgressChangedCallback_FWD_DEFINED__ +#define __IDownloadProgressChangedCallback_FWD_DEFINED__ +typedef interface IDownloadProgressChangedCallback IDownloadProgressChangedCallback; +#endif /* __IDownloadProgressChangedCallback_FWD_DEFINED__ */ + + +#ifndef __IInstallationCompletedCallback_FWD_DEFINED__ +#define __IInstallationCompletedCallback_FWD_DEFINED__ +typedef interface IInstallationCompletedCallback IInstallationCompletedCallback; +#endif /* __IInstallationCompletedCallback_FWD_DEFINED__ */ + + +#ifndef __IInstallationProgressChangedCallback_FWD_DEFINED__ +#define __IInstallationProgressChangedCallback_FWD_DEFINED__ +typedef interface IInstallationProgressChangedCallback IInstallationProgressChangedCallback; +#endif /* __IInstallationProgressChangedCallback_FWD_DEFINED__ */ + + +#ifndef __IUpdateHistoryEntry_FWD_DEFINED__ +#define __IUpdateHistoryEntry_FWD_DEFINED__ +typedef interface IUpdateHistoryEntry IUpdateHistoryEntry; +#endif /* __IUpdateHistoryEntry_FWD_DEFINED__ */ + + +#ifndef __IUpdateHistoryEntry2_FWD_DEFINED__ +#define __IUpdateHistoryEntry2_FWD_DEFINED__ +typedef interface IUpdateHistoryEntry2 IUpdateHistoryEntry2; +#endif /* __IUpdateHistoryEntry2_FWD_DEFINED__ */ + + +#ifndef __IUpdateDownloadContent_FWD_DEFINED__ +#define __IUpdateDownloadContent_FWD_DEFINED__ +typedef interface IUpdateDownloadContent IUpdateDownloadContent; +#endif /* __IUpdateDownloadContent_FWD_DEFINED__ */ + + +#ifndef __IUpdateDownloadContent2_FWD_DEFINED__ +#define __IUpdateDownloadContent2_FWD_DEFINED__ +typedef interface IUpdateDownloadContent2 IUpdateDownloadContent2; +#endif /* __IUpdateDownloadContent2_FWD_DEFINED__ */ + + +#ifndef __StringCollection_FWD_DEFINED__ +#define __StringCollection_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class StringCollection StringCollection; +#else +typedef struct StringCollection StringCollection; +#endif /* __cplusplus */ + +#endif /* __StringCollection_FWD_DEFINED__ */ + + +#ifndef __UpdateSearcher_FWD_DEFINED__ +#define __UpdateSearcher_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class UpdateSearcher UpdateSearcher; +#else +typedef struct UpdateSearcher UpdateSearcher; +#endif /* __cplusplus */ + +#endif /* __UpdateSearcher_FWD_DEFINED__ */ + + +#ifndef __WebProxy_FWD_DEFINED__ +#define __WebProxy_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class WebProxy WebProxy; +#else +typedef struct WebProxy WebProxy; +#endif /* __cplusplus */ + +#endif /* __WebProxy_FWD_DEFINED__ */ + + +#ifndef __SystemInformation_FWD_DEFINED__ +#define __SystemInformation_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class SystemInformation SystemInformation; +#else +typedef struct SystemInformation SystemInformation; +#endif /* __cplusplus */ + +#endif /* __SystemInformation_FWD_DEFINED__ */ + + +#ifndef __WindowsUpdateAgentInfo_FWD_DEFINED__ +#define __WindowsUpdateAgentInfo_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class WindowsUpdateAgentInfo WindowsUpdateAgentInfo; +#else +typedef struct WindowsUpdateAgentInfo WindowsUpdateAgentInfo; +#endif /* __cplusplus */ + +#endif /* __WindowsUpdateAgentInfo_FWD_DEFINED__ */ + + +#ifndef __AutomaticUpdates_FWD_DEFINED__ +#define __AutomaticUpdates_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class AutomaticUpdates AutomaticUpdates; +#else +typedef struct AutomaticUpdates AutomaticUpdates; +#endif /* __cplusplus */ + +#endif /* __AutomaticUpdates_FWD_DEFINED__ */ + + +#ifndef __UpdateCollection_FWD_DEFINED__ +#define __UpdateCollection_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class UpdateCollection UpdateCollection; +#else +typedef struct UpdateCollection UpdateCollection; +#endif /* __cplusplus */ + +#endif /* __UpdateCollection_FWD_DEFINED__ */ + + +#ifndef __UpdateDownloader_FWD_DEFINED__ +#define __UpdateDownloader_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class UpdateDownloader UpdateDownloader; +#else +typedef struct UpdateDownloader UpdateDownloader; +#endif /* __cplusplus */ + +#endif /* __UpdateDownloader_FWD_DEFINED__ */ + + +#ifndef __UpdateInstaller_FWD_DEFINED__ +#define __UpdateInstaller_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class UpdateInstaller UpdateInstaller; +#else +typedef struct UpdateInstaller UpdateInstaller; +#endif /* __cplusplus */ + +#endif /* __UpdateInstaller_FWD_DEFINED__ */ + + +#ifndef __UpdateSession_FWD_DEFINED__ +#define __UpdateSession_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class UpdateSession UpdateSession; +#else +typedef struct UpdateSession UpdateSession; +#endif /* __cplusplus */ + +#endif /* __UpdateSession_FWD_DEFINED__ */ + + +#ifndef __UpdateServiceManager_FWD_DEFINED__ +#define __UpdateServiceManager_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class UpdateServiceManager UpdateServiceManager; +#else +typedef struct UpdateServiceManager UpdateServiceManager; +#endif /* __cplusplus */ + +#endif /* __UpdateServiceManager_FWD_DEFINED__ */ + + +#ifndef __InstallationAgent_FWD_DEFINED__ +#define __InstallationAgent_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class InstallationAgent InstallationAgent; +#else +typedef struct InstallationAgent InstallationAgent; +#endif /* __cplusplus */ + +#endif /* __InstallationAgent_FWD_DEFINED__ */ + + +/* header files for imported files */ +#include "oaidl.h" + +#ifdef __cplusplus +extern "C"{ +#endif + + +/* interface __MIDL_itf_wuapi_0000_0000 */ +/* [local] */ + +//=--------------------------------------------------------------------------= +// wuapi.h +//=--------------------------------------------------------------------------= +// (C) Copyright 2003-2004 Microsoft Corporation. All Rights Reserved. +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +// PARTICULAR PURPOSE. +//=--------------------------------------------------------------------------= + +#pragma comment(lib, "wuguid.lib") + +//-------------------------------------------------------------------------- +// Windows Update Services Client Interfaces. +// -------------------------------------------------------------------------------- +// GUIDS +// -------------------------------------------------------------------------------- +// {B596CC9F-56E5-419E-A622-E01BB457431E} +DEFINE_GUID(LIBID_WUApiLib,0xB596CC9F,0x56E5,0x419E,0xA6,0x22,0xE0,0x1B,0xB4,0x57,0x43,0x1E); + +// {A976C28D-75A1-42AA-94AE-8AF8B872089A} +DEFINE_GUID(IID_IUpdateLockdown,0xa976c28d,0x75a1,0x42aa,0x94,0xae,0x8a,0xf8,0xb8,0x72,0x08,0x9a); + +// {EFF90582-2DDC-480F-A06D-60F3FBC362C3} +DEFINE_GUID(IID_IStringCollection,0xeff90582,0x2ddc,0x480f,0xa0,0x6d,0x60,0xf3,0xfb,0xc3,0x62,0xc3); + +// {174C81FE-AECD-4DAE-B8A0-2C6318DD86A8} +DEFINE_GUID(IID_IWebProxy,0x174c81fe,0xaecd,0x4dae,0xb8,0xa0,0x2c,0x63,0x18,0xdd,0x86,0xa8); + +// {ADE87BF7-7B56-4275-8FAB-B9B0E591844B} +DEFINE_GUID(IID_ISystemInformation,0xade87bf7,0x7b56,0x4275,0x8f,0xab,0xb9,0xb0,0xe5,0x91,0x84,0x4b); + +// {85713FA1-7796-4FA2-BE3B-E2D6124DD373} +DEFINE_GUID(IID_IWindowsUpdateAgentInfo,0x85713FA1,0x7796,0x4FA2,0xBE,0x3B,0xE2,0xD6,0x12,0x4D,0xD3,0x73); + +// {E7A4D634-7942-4DD9-A111-82228BA33901} +DEFINE_GUID(IID_IAutomaticUpdatesResults,0xe7a4d634,0x7942,0x4DD9,0xA1,0x11,0x82,0x22,0x8b,0xa3,0x39,0x1); + +// {2EE48F22-AF3C-405F-8970-F71BE12EE9A2} +DEFINE_GUID(IID_IAutomaticUpdatesSettings,0x2ee48f22,0xaf3c,0x405f,0x89,0x70,0xf7,0x1b,0xe1,0x2e,0xe9,0xa2); + +// {6ABC136A-C3CA-4384-8171-CB2B1E59B8DC} +DEFINE_GUID(IID_IAutomaticUpdatesSettings2,0x6abc136a,0xc3ca,0x4384,0x81,0x71,0xcb,0x2b,0x1e,0x59,0xb8,0xdc); + +// {B587F5C3-F57E-485F-BBF5-0D181C5CD0DC} +DEFINE_GUID(IID_IAutomaticUpdatesSettings3,0xb587f5c3,0xf57e,0x485f,0xbb,0xf5,0x0d,0x18,0x1c,0x5c,0xd0,0xdc); + +// {673425BF-C082-4C7C-BDFD-569464B8E0CE} +DEFINE_GUID(IID_IAutomaticUpdates,0x673425bf,0xc082,0x4c7c,0xbd,0xfd,0x56,0x94,0x64,0xb8,0xe0,0xce); + +// {4A2F5C31-CFD9-410E-B7FB-29A653973A0F} +DEFINE_GUID(IID_IAutomaticUpdates2,0x4A2f5C31,0xCFD9,0x410E,0xB7,0xFB,0x29,0xA6,0x53,0x97,0x3A,0xF); + +// {46297823-9940-4C09-AED9-CD3EA6D05968} +DEFINE_GUID(IID_IUpdateIdentity,0x46297823,0x9940,0x4c09,0xae,0xd9,0xcd,0x3e,0xa6,0xd0,0x59,0x68); + +// {7C907864-346C-4AEB-8F3F-57DA289F969F} +DEFINE_GUID(IID_IImageInformation,0x7c907864,0x346c,0x4aeb,0x8f,0x3f,0x57,0xda,0x28,0x9f,0x96,0x9f); + +// {81DDC1B8-9D35-47A6-B471-5B80F519223B} +DEFINE_GUID(IID_ICategory,0x81ddc1b8,0x9d35,0x47a6,0xb4,0x71,0x5b,0x80,0xf5,0x19,0x22,0x3b); + +// {3A56BFB8-576C-43F7-9335-FE4838FD7E37} +DEFINE_GUID(IID_ICategoryCollection,0x3a56bfb8,0x576c,0x43f7,0x93,0x35,0xfe,0x48,0x38,0xfd,0x7e,0x37); + +// {D9A59339-E245-4DBD-9686-4D5763E39624} +DEFINE_GUID(IID_IInstallationBehavior,0xd9a59339,0xe245,0x4dbd,0x96,0x86,0x4d,0x57,0x63,0xe3,0x96,0x24); + +// {54A2CB2D-9A0C-48B6-8A50-9ABB69EE2D02} +DEFINE_GUID(IID_IUpdateDownloadContent,0x54a2cb2d,0x9a0c,0x48b6,0x8a,0x50,0x9a,0xbb,0x69,0xee,0x2d,0x02); + +// {C97AD11B-F257-420B-9D9F-377F733F6F68} +DEFINE_GUID(IID_IUpdateDownloadContent2,0xc97ad11b,0xf257,0x420b,0x9d,0x9f,0x37,0x7f,0x73,0x3f,0x6f,0x68); + +// {BC5513C8-B3B8-4BF7-A4D4-361C0D8C88BA} +DEFINE_GUID(IID_IUpdateDownloadContentCollection,0xbc5513c8,0xb3b8,0x4bf7,0xa4,0xd4,0x36,0x1c,0x0d,0x8c,0x88,0xba); + +// {6A92B07A-D821-4682-B423-5C805022CC4D} +DEFINE_GUID(IID_IUpdate,0x6a92b07a,0xd821,0x4682,0xb4,0x23,0x5c,0x80,0x50,0x22,0xcc,0x4d); + +// {144fe9b0-d23d-4a8b-8634-fb4457533b7a} +DEFINE_GUID(IID_IUpdate2,0x144fe9b0,0xd23d,0x4a8b,0x86,0x34,0xfb,0x44,0x57,0x53,0x3b,0x7a); + +// {112EDA6B-95B3-476F-9D90-AEE82C6B8181} +DEFINE_GUID(IID_IUpdate3,0x112EDA6B,0x95B3,0x476F,0x9D,0x90,0xAE,0xE8,0x2C,0x6B,0x81,0x81); + +// {27E94B0D-5139-49A2-9A61-93522DC54652} +DEFINE_GUID(IID_IUpdate4,0x27e94b0d,0x5139,0x49a2,0x9a, 0x61, 0x93, 0x52, 0x2d, 0xc5, 0x46, 0x52); + +// {C1C2F21A-D2F4-4902-B5C6-8A081C19A890} +DEFINE_GUID(IID_IUpdate5,0xc1c2f21a,0xd2f4,0x4902,0xb5, 0xc6, 0x8a, 0x08, 0x1c, 0x19, 0xa8, 0x90); + +// {B383CD1A-5CE9-4504-9F63-764B1236F191} +DEFINE_GUID(IID_IWindowsDriverUpdate,0xb383cd1a,0x5ce9,0x4504,0x9f,0x63,0x76,0x4b,0x12,0x36,0xf1,0x91); + +// {615c4269-7a48-43bd-96b7-bf6ca27d6c3e} +DEFINE_GUID(IID_IWindowsDriverUpdate2,0x615c4269,0x7a48,0x43bd,0x96,0xb7,0xbf,0x6c,0xa2,0x7d,0x6c,0x3e); + +// {49EBD502-4A96-41BD-9E3E-4C5057F4250C} +DEFINE_GUID(IID_IWindowsDriverUpdate3,0x49EBD502,0x4A96,0x41BD,0x9E,0x3E,0x4C,0x50,0x57,0xF4,0x25,0x0C); + +// {004C6A2B-0C19-4c69-9F5C-A269B2560DB9} +DEFINE_GUID(IID_IWindowsDriverUpdate4,0x004C6A2B,0x0C19,0x4c69,0x9F,0x5C,0xA2,0x69,0xB2,0x56,0x0D,0xB9); + +// {70CF5C82-8642-42bb-9DBC-0CFD263C6C4F} +DEFINE_GUID(IID_IWindowsDriverUpdate5,0x70CF5C82,0x8642,0x42bb,0x9d,0xbc,0x0c,0xfd,0x26,0x3c,0x6c,0x4f); + +// {0D521700-A372-4bef-828B-3D00C10ADEBD} +DEFINE_GUID(IID_IWindowsDriverUpdateEntryCollection,0x0D521700,0xA372,0x4bef,0x82,0x8B,0x3D,0x00,0xC1,0x0A,0xDE,0xBD); + +// {ED8BFE40-A60B-42ea-9652-817DFCFA23EC} +DEFINE_GUID(IID_IWindowsDriverUpdateEntry,0xED8BFE40,0xA60B,0x42ea,0x96,0x52,0x81,0x7D,0xFC,0xFA,0x23,0xEC); + +// {07F7438C-7709-4CA5-B518-91279288134E} +DEFINE_GUID(IID_IUpdateCollection,0x07f7438c,0x7709,0x4ca5,0xb5,0x18,0x91,0x27,0x92,0x88,0x13,0x4e); + +// {A376DD5E-09D4-427F-AF7C-FED5B6E1C1D6} +DEFINE_GUID(IID_IUpdateException,0xa376dd5e,0x09d4,0x427f,0xaf,0x7c,0xfe,0xd5,0xb6,0xe1,0xc1,0xd6); + +// {A37D00F5-7BB0-4953-B414-F9E98326F2E8} +DEFINE_GUID(IID_IInvalidProductLicenseException,0xa37d00f5,0x7bb0,0x4953,0xb4,0x14,0xf9,0xe9,0x83,0x26,0xf2,0xe8); + +// {A37D00F5-7BB0-4953-B414-F9E98326F2E8} +DEFINE_GUID(IID_IUpdateExceptionCollection,0x503626a3,0x8e14,0x4729,0x93,0x55,0x0f,0xe6,0x64,0xbd,0x23,0x21); + +// {D40CFF62-E08C-4498-941A-01E25F0FD33C} +DEFINE_GUID(IID_ISearchResult,0xd40cff62,0xe08c,0x4498,0x94,0x1a,0x01,0xe2,0x5f,0x0f,0xd3,0x3c); + +// {7366EA16-7A1A-4EA2-B042-973D3E9CD99B} +DEFINE_GUID(IID_ISearchJob,0x7366ea16,0x7a1a,0x4ea2,0xb0,0x42,0x97,0x3d,0x3e,0x9c,0xd9,0x9b); + +// {A700A634-2850-4C47-938A-9E4B6E5AF9A6} +DEFINE_GUID(IID_ISearchCompletedCallbackArgs,0xa700a634,0x2850,0x4c47,0x93,0x8a,0x9e,0x4b,0x6e,0x5a,0xf9,0xa6); + +// {88AEE058-D4B0-4725-A2F1-814A67AE964C} +DEFINE_GUID(IID_ISearchCompletedCallback,0x88aee058,0xd4b0,0x4725,0xa2,0xf1,0x81,0x4a,0x67,0xae,0x96,0x4c); + +// {BE56A644-AF0E-4E0E-A311-C1D8E695CBFF} +DEFINE_GUID(IID_IUpdateHistoryEntry,0xbe56a644,0xaf0e,0x4e0e,0xa3,0x11,0xc1,0xd8,0xe6,0x95,0xcb,0xff); + +// {C2BFB780-4539-4132-AB8C-0A8772013AB6} +DEFINE_GUID(IID_IUpdateHistoryEntry2,0xc2bfb780,0x4539,0x4132,0xab,0x8c,0x0a,0x87,0x72,0x01,0x3a,0xb6); + +// {A7F04F3C-A290-435B-AADF-A116C3357A5C} +DEFINE_GUID(IID_IUpdateHistoryEntryCollection,0xa7f04f3c,0xa290,0x435b,0xaa,0xdf,0xa1,0x16,0xc3,0x35,0x7a,0x5c); + +// {8F45ABF1-F9AE-4B95-A933-F0F66E5056EA} +DEFINE_GUID(IID_IUpdateSearcher,0x8f45abf1,0xf9ae,0x4b95,0xa9,0x33,0xf0,0xf6,0x6e,0x50,0x56,0xea); + +// {4CBDCB2D-1589-4BEB-BD1C-3E582FF0ADD0} +DEFINE_GUID(IID_IUpdateSearcher2,0x4cbdcb2d,0x1589,0x4beb,0xbd,0x1c,0x3e,0x58,0x2f,0xf0,0xad,0xd0); + +// {04C6895D-EAF2-4034-97F3-311DE9BE413A} +DEFINE_GUID(IID_IUpdateSearcher3,0x4c6895d,0xeaf2,0x4034,0x97,0xf3,0x31,0x1d,0xe9,0xbe,0x41,0x3a); + +// {BF99AF76-B575-42AD-8AA4-33CBB5477AF1} +DEFINE_GUID(IID_IUpdateDownloadResult,0xbf99af76,0xb575,0x42ad,0x8a,0xa4,0x33,0xcb,0xb5,0x47,0x7a,0xf1); + +// {DAA4FDD0-4727-4DBE-A1E7-745DCA317144} +DEFINE_GUID(IID_IDownloadResult,0xdaa4fdd0,0x4727,0x4dbe,0xa1,0xe7,0x74,0x5d,0xca,0x31,0x71,0x44); + +// {D31A5BAC-F719-4178-9DBB-5E2CB47FD18A} +DEFINE_GUID(IID_IDownloadProgress,0xd31a5bac,0xf719,0x4178,0x9d,0xbb,0x5e,0x2c,0xb4,0x7f,0xd1,0x8a); + +// {C574DE85-7358-43F6-AAE8-8697E62D8BA7} +DEFINE_GUID(IID_IDownloadJob,0xc574de85,0x7358,0x43f6,0xaa,0xe8,0x86,0x97,0xe6,0x2d,0x8b,0xa7); + +// {FA565B23-498C-47A0-979D-E7D5B1813360} +DEFINE_GUID(IID_IDownloadCompletedCallbackArgs,0xfa565b23,0x498c,0x47a0,0x97,0x9d,0xe7,0xd5,0xb1,0x81,0x33,0x60); + +// {77254866-9F5B-4C8E-B9E2-C77A8530D64B} +DEFINE_GUID(IID_IDownloadCompletedCallback,0x77254866,0x9f5b,0x4c8e,0xb9,0xe2,0xc7,0x7a,0x85,0x30,0xd6,0x4b); + +// {324FF2C6-4981-4B04-9412-57481745AB24} +DEFINE_GUID(IID_IDownloadProgressChangedCallbackArgs,0x324ff2c6,0x4981,0x4b04,0x94,0x12,0x57,0x48,0x17,0x45,0xab,0x24); + +// {8C3F1CDD-6173-4591-AEBD-A56A53CA77C1} +DEFINE_GUID(IID_IDownloadProgressChangedCallback,0x8c3f1cdd,0x6173,0x4591,0xae,0xbd,0xa5,0x6a,0x53,0xca,0x77,0xc1); + +// {68F1C6F9-7ECC-4666-A464-247FE12496C3} +DEFINE_GUID(IID_IUpdateDownloader,0x68f1c6f9,0x7ecc,0x4666,0xa4,0x64,0x24,0x7f,0xe1,0x24,0x96,0xc3); + +// {D940F0F8-3CBB-4FD0-993F-471E7F2328AD} +DEFINE_GUID(IID_IUpdateInstallationResult,0xd940f0f8,0x3cbb,0x4fd0,0x99,0x3f,0x47,0x1e,0x7f,0x23,0x28,0xad); + +// {A43C56D6-7451-48D4-AF96-B6CD2D0D9B7A} +DEFINE_GUID(IID_IInstallationResult,0xa43c56d6,0x7451,0x48d4,0xaf,0x96,0xb6,0xcd,0x2d,0x0d,0x9b,0x7a); + +// {345C8244-43A3-4E32-A368-65F073B76F36} +DEFINE_GUID(IID_IInstallationProgress,0x345c8244,0x43a3,0x4e32,0xa3,0x68,0x65,0xf0,0x73,0xb7,0x6f,0x36); + +// {5C209F0B-BAD5-432A-9556-4699BED2638A} +DEFINE_GUID(IID_IInstallationJob,0x5c209f0b,0xbad5,0x432a,0x95,0x56,0x46,0x99,0xbe,0xd2,0x63,0x8a); + +// {250E2106-8EFB-4705-9653-EF13C581B6A1} +DEFINE_GUID(IID_IInstallationCompletedCallbackArgs,0x250e2106,0x8efb,0x4705,0x96,0x53,0xef,0x13,0xc5,0x81,0xb6,0xa1); + +// {45F4F6F3-D602-4F98-9A8A-3EFA152AD2D3} +DEFINE_GUID(IID_IInstallationCompletedCallback,0x45f4f6f3,0xd602,0x4f98,0x9a,0x8a,0x3e,0xfa,0x15,0x2a,0xd2,0xd3); + +// {E4F14E1E-689D-4218-A0B9-BC189C484A01} +DEFINE_GUID(IID_IInstallationProgressChangedCallbackArgs,0xe4f14e1e,0x689d,0x4218,0xa0,0xb9,0xbc,0x18,0x9c,0x48,0x4a,0x01); + +// {E01402D5-F8DA-43BA-A012-38894BD048F1} +DEFINE_GUID(IID_IInstallationProgressChangedCallback,0xe01402d5,0xf8da,0x43ba,0xa0,0x12,0x38,0x89,0x4b,0xd0,0x48,0xf1); + +// {7B929C68-CCDC-4226-96B1-8724600B54C2} +DEFINE_GUID(IID_IUpdateInstaller,0x7b929c68,0xccdc,0x4226,0x96,0xb1,0x87,0x24,0x60,0x0b,0x54,0xc2); + +// {3442d4fe-224d-4cee-98cf-30e0c4d229e6} +DEFINE_GUID(IID_IUpdateInstaller2,0x3442d4fe,0x224d,0x4cee,0x98,0xcf,0x30,0xe0,0xc4,0xd2,0x29,0xe6); + +// {816858A4-260D-4260-933A-2585F1ABC76B} +DEFINE_GUID(IID_IUpdateSession,0x816858a4,0x260d,0x4260,0x93,0x3a,0x25,0x85,0xf1,0xab,0xc7,0x6b); + +// {91CAF7B0-EB23-49ED-9937-C52D817F46F7} +DEFINE_GUID(IID_IUpdateSession2,0x91caf7b0,0xeb23,0x49ed,0x99,0x37,0xc5,0x2d,0x81,0x7f,0x46,0xf7); + +// {918EFD1E-B5D8-4c90-8540-AEB9BDC56F9D} +DEFINE_GUID(IID_IUpdateSession3,0x918efd1e,0xb5d8,0x4c90,0x85,0x40,0xae,0xb9,0xbd,0xc5,0x6f,0x9d); + +// {76B3B17E-AED6-4DA5-85F0-83587F81ABE3} +DEFINE_GUID(IID_IUpdateService,0x76b3b17e,0xaed6,0x4da5,0x85,0xf0,0x83,0x58,0x7f,0x81,0xab,0xe3); + +// {1518B460-6518-4172-940F-C75883B24CEB} +DEFINE_GUID(IID_IUpdateService2,0x1518b460,0x6518,0x4172,0x94,0x0f,0xc7,0x58,0x83,0xb2,0x4c,0xeb); + +// {9B0353AA-0E52-44FF-B8B0-1F7FA0437F88} +DEFINE_GUID(IID_IUpdateServiceCollection,0x9b0353aa,0x0e52,0x44ff,0xb8,0xb0,0x1f,0x7f,0xa0,0x43,0x7f,0x88); + +// {DDE02280-12B3-4E0B-937B-6747F6ACB286} +DEFINE_GUID(IID_IUpdateServiceRegistration,0xdde02280,0x12b3,0x4e0b,0x93,0x7b,0x67,0x47,0xf6,0xac,0xb2,0x86); + +// {23857E3C-02BA-44A3-9423-B1C900805F37} +DEFINE_GUID(IID_IUpdateServiceManager,0x23857E3C,0x02BA,0x44A3,0x94,0x23,0xB1,0xC9,0x00,0x80,0x5F,0x37); + +// {0BB8531D-7E8D-424F-986C-A0B8F60A3E7B} +DEFINE_GUID(IID_IUpdateServiceManager2,0x0BB8531D,0x7E8D,0x424F,0x98,0x6C,0xA0,0xB8,0xF6,0x0A,0x3E,0x7B); + +// {925CBC18-A2EA-4648-BF1C-EC8BADCFE20A} +DEFINE_GUID(IID_IInstallationAgent,0x925CBC18,0xA2EA,0x4648,0xBF,0x1C,0xEC,0x8B,0xAD,0xCF,0xE2,0x0A); + +// {72C97D74-7C3B-40AE-B77D-ABDB22EBA6FB} +DEFINE_GUID(CLSID_StringCollection,0x72C97D74,0x7C3B,0x40AE,0xB7,0x7D,0xAB,0xDB,0x22,0xEB,0xA6,0xFB); + +// {B699E5E8-67FF-4177-88B0-3684A3388BFB} +DEFINE_GUID(CLSID_UpdateSearcher,0xB699E5E8,0x67FF,0x4177,0x88,0xB0,0x36,0x84,0xA3,0x38,0x8B,0xFB); + +// {650503cf-9108-4ddc-a2ce-6c2341e1c582} +DEFINE_GUID(CLSID_WebProxy,0x650503cf,0x9108,0x4ddc,0xa2,0xce,0x6c,0x23,0x41,0xe1,0xc5,0x82); + +// {C01B9BA0-BEA7-41BA-B604-D0A36F469133} +DEFINE_GUID(CLSID_SystemInformation,0xC01B9BA0,0xBEA7,0x41BA,0xB6,0x04,0xD0,0xA3,0x6F,0x46,0x91,0x33); + +// {C2E88C2F-6F5B-4AAA-894B-55C847AD3A2D} +DEFINE_GUID(CLSID_WindowsUpdateAgentInfo,0xC2E88C2F,0x6F5B,0x4AAA,0x89,0x4B,0x55,0xC8,0x47,0xAD,0x3A,0x2D); + +// {BFE18E9C-6D87-4450-B37C-E02F0B373803} +DEFINE_GUID(CLSID_AutomaticUpdates,0xBFE18E9C,0x6D87,0x4450,0xB3,0x7C,0xE0,0x2F,0x0B,0x37,0x38,0x03); + +// {13639463-00DB-4646-803D-528026140D88} +DEFINE_GUID(CLSID_UpdateCollection,0x13639463,0x00DB,0x4646,0x80,0x3D,0x52,0x80,0x26,0x14,0x0D,0x88); + +// {5BAF654A-5A07-4264-A255-9FF54C7151E7} +DEFINE_GUID(CLSID_UpdateDownloader,0x5BAF654A,0x5A07,0x4264,0xA2,0x55,0x9F,0xF5,0x4C,0x71,0x51,0xE7); + +// {D2E0FE7F-D23E-48E1-93C0-6FA8CC346474} +DEFINE_GUID(CLSID_UpdateInstaller,0xD2E0FE7F,0xD23E,0x48E1,0x93,0xC0,0x6F,0xA8,0xCC,0x34,0x64,0x74); + +// {4CB43D7F-7EEE-4906-8698-60DA1C38F2FE} +DEFINE_GUID(CLSID_UpdateSession,0x4CB43D7F,0x7EEE,0x4906,0x86,0x98,0x60,0xDA,0x1C,0x38,0xF2,0xFE); + +// {F8D253D9-89A4-4DAA-87B6-1168369F0B21} +DEFINE_GUID(CLSID_UpdateServiceManager,0xF8D253D9,0x89A4,0x4DAA,0x87,0xB6,0x11,0x68,0x36,0x9F,0x0B,0x21); + +// {317E92FC-1679-46FD-A0B5-F08914DD8623} +DEFINE_GUID(CLSID_InstallationAgent,0x317E92FC,0x1679,0x46FD,0xA0,0xB5,0xF0,0x89,0x14,0xDD,0x86,0x23); + +typedef /* [v1_enum][helpstring][public] */ +enum tagAutomaticUpdatesNotificationLevel + { aunlNotConfigured = 0, + aunlDisabled = 1, + aunlNotifyBeforeDownload = 2, + aunlNotifyBeforeInstallation = 3, + aunlScheduledInstallation = 4 + } AutomaticUpdatesNotificationLevel; + +typedef /* [v1_enum][helpstring][public] */ +enum tagAutomaticUpdatesScheduledInstallationDay + { ausidEveryDay = 0, + ausidEverySunday = 1, + ausidEveryMonday = 2, + ausidEveryTuesday = 3, + ausidEveryWednesday = 4, + ausidEveryThursday = 5, + ausidEveryFriday = 6, + ausidEverySaturday = 7 + } AutomaticUpdatesScheduledInstallationDay; + +typedef /* [v1_enum][helpstring][public] */ +enum tagDownloadPhase + { dphInitializing = 1, + dphDownloading = 2, + dphVerifying = 3 + } DownloadPhase; + +typedef /* [v1_enum][helpstring][public] */ +enum tagDownloadPriority + { dpLow = 1, + dpNormal = 2, + dpHigh = 3 + } DownloadPriority; + +typedef /* [v1_enum][helpstring][public] */ +enum tagAutoSelectionMode + { asLetWindowsUpdateDecide = 0, + asAutoSelectIfDownloaded = 1, + asNeverAutoSelect = 2, + asAlwaysAutoSelect = 3 + } AutoSelectionMode; + +typedef /* [v1_enum][helpstring][public] */ +enum tagAutoDownloadMode + { adLetWindowsUpdateDecide = 0, + adNeverAutoDownload = 1, + adAlwaysAutoDownload = 2 + } AutoDownloadMode; + +typedef /* [v1_enum][helpstring][public] */ +enum tagInstallationImpact + { iiNormal = 0, + iiMinor = 1, + iiRequiresExclusiveHandling = 2 + } InstallationImpact; + +typedef /* [v1_enum][helpstring][public] */ +enum tagInstallationRebootBehavior + { irbNeverReboots = 0, + irbAlwaysRequiresReboot = 1, + irbCanRequestReboot = 2 + } InstallationRebootBehavior; + +typedef /* [v1_enum][helpstring][public] */ +enum tagOperationResultCode + { orcNotStarted = 0, + orcInProgress = 1, + orcSucceeded = 2, + orcSucceededWithErrors = 3, + orcFailed = 4, + orcAborted = 5 + } OperationResultCode; + +typedef /* [v1_enum][helpstring][public] */ +enum tagServerSelection + { ssDefault = 0, + ssManagedServer = 1, + ssWindowsUpdate = 2, + ssOthers = 3 + } ServerSelection; + +typedef /* [v1_enum][helpstring][public] */ +enum tagUpdateType + { utSoftware = 1, + utDriver = 2 + } UpdateType; + +typedef /* [v1_enum][helpstring][public] */ +enum tagUpdateOperation + { uoInstallation = 1, + uoUninstallation = 2 + } UpdateOperation; + +typedef /* [v1_enum][helpstring][public] */ +enum tagDeploymentAction + { daNone = 0, + daInstallation = 1, + daUninstallation = 2, + daDetection = 3 + } DeploymentAction; + +typedef /* [v1_enum][helpstring][public] */ +enum tagUpdateExceptionContext + { uecGeneral = 1, + uecWindowsDriver = 2, + uecWindowsInstaller = 3 + } UpdateExceptionContext; + +typedef /* [v1_enum][helpstring][public] */ +enum tagAutomaticUpdatesUserType + { auutCurrentUser = 1, + auutLocalAdministrator = 2 + } AutomaticUpdatesUserType; + +typedef /* [v1_enum][helpstring][public] */ +enum tagAutomaticUpdatesPermissionType + { auptSetNotificationLevel = 1, + auptDisableAutomaticUpdates = 2, + auptSetIncludeRecommendedUpdates = 3, + auptSetFeaturedUpdatesEnabled = 4, + auptSetNonAdministratorsElevated = 5 + } AutomaticUpdatesPermissionType; + +typedef /* [v1_enum][helpstring][public] */ +enum tagUpdateServiceRegistrationState + { usrsNotRegistered = 1, + usrsRegistrationPending = 2, + usrsRegistered = 3 + } UpdateServiceRegistrationState; + +typedef /* [v1_enum][helpstring][public] */ +enum tagSearchScope + { searchScopeDefault = 0, + searchScopeMachineOnly = 1, + searchScopeCurrentUserOnly = 2, + searchScopeMachineAndCurrentUser = 3, + searchScopeMachineAndAllUsers = 4, + searchScopeAllUsers = 5 + } SearchScope; + +#define UPDATE_LOCKDOWN_WEBSITE_ACCESS ( 0x1 ) + + + + + + + +extern RPC_IF_HANDLE __MIDL_itf_wuapi_0000_0000_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_wuapi_0000_0000_v0_0_s_ifspec; + +#ifndef __IUpdateLockdown_INTERFACE_DEFINED__ +#define __IUpdateLockdown_INTERFACE_DEFINED__ + +/* interface IUpdateLockdown */ +/* [unique][uuid][nonextensible][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateLockdown; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("a976c28d-75a1-42aa-94ae-8af8b872089a") + IUpdateLockdown : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE LockDown( + /* [in] */ LONG flags) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateLockdownVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateLockdown * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateLockdown * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateLockdown * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *LockDown )( + __RPC__in IUpdateLockdown * This, + /* [in] */ LONG flags); + + END_INTERFACE + } IUpdateLockdownVtbl; + + interface IUpdateLockdown + { + CONST_VTBL struct IUpdateLockdownVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateLockdown_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateLockdown_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateLockdown_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateLockdown_LockDown(This,flags) \ + ( (This)->lpVtbl -> LockDown(This,flags) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateLockdown_INTERFACE_DEFINED__ */ + + +#ifndef __IStringCollection_INTERFACE_DEFINED__ +#define __IStringCollection_INTERFACE_DEFINED__ + +/* interface IStringCollection */ +/* [hidden][unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IStringCollection; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("eff90582-2ddc-480f-a06d-60f3fbc362c3") + IStringCollection : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( + /* [in] */ LONG index, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Item( + /* [in] */ LONG index, + /* [in] */ __RPC__in BSTR value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ReadOnly( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Add( + /* [in] */ __RPC__in BSTR value, + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Copy( + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Insert( + /* [in] */ LONG index, + /* [in] */ __RPC__in BSTR value) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveAt( + /* [in] */ LONG index) = 0; + + }; + +#else /* C style interface */ + + typedef struct IStringCollectionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IStringCollection * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IStringCollection * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IStringCollection * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IStringCollection * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IStringCollection * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IStringCollection * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IStringCollection * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( + __RPC__in IStringCollection * This, + /* [in] */ LONG index, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Item )( + __RPC__in IStringCollection * This, + /* [in] */ LONG index, + /* [in] */ __RPC__in BSTR value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( + __RPC__in IStringCollection * This, + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( + __RPC__in IStringCollection * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadOnly )( + __RPC__in IStringCollection * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( + __RPC__in IStringCollection * This, + /* [in] */ __RPC__in BSTR value, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Clear )( + __RPC__in IStringCollection * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( + __RPC__in IStringCollection * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Insert )( + __RPC__in IStringCollection * This, + /* [in] */ LONG index, + /* [in] */ __RPC__in BSTR value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveAt )( + __RPC__in IStringCollection * This, + /* [in] */ LONG index); + + END_INTERFACE + } IStringCollectionVtbl; + + interface IStringCollection + { + CONST_VTBL struct IStringCollectionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IStringCollection_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IStringCollection_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IStringCollection_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IStringCollection_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IStringCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IStringCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IStringCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IStringCollection_get_Item(This,index,retval) \ + ( (This)->lpVtbl -> get_Item(This,index,retval) ) + +#define IStringCollection_put_Item(This,index,value) \ + ( (This)->lpVtbl -> put_Item(This,index,value) ) + +#define IStringCollection_get__NewEnum(This,retval) \ + ( (This)->lpVtbl -> get__NewEnum(This,retval) ) + +#define IStringCollection_get_Count(This,retval) \ + ( (This)->lpVtbl -> get_Count(This,retval) ) + +#define IStringCollection_get_ReadOnly(This,retval) \ + ( (This)->lpVtbl -> get_ReadOnly(This,retval) ) + +#define IStringCollection_Add(This,value,retval) \ + ( (This)->lpVtbl -> Add(This,value,retval) ) + +#define IStringCollection_Clear(This) \ + ( (This)->lpVtbl -> Clear(This) ) + +#define IStringCollection_Copy(This,retval) \ + ( (This)->lpVtbl -> Copy(This,retval) ) + +#define IStringCollection_Insert(This,index,value) \ + ( (This)->lpVtbl -> Insert(This,index,value) ) + +#define IStringCollection_RemoveAt(This,index) \ + ( (This)->lpVtbl -> RemoveAt(This,index) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IStringCollection_INTERFACE_DEFINED__ */ + + +#ifndef __IWebProxy_INTERFACE_DEFINED__ +#define __IWebProxy_INTERFACE_DEFINED__ + +/* interface IWebProxy */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IWebProxy; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("174c81fe-aecd-4dae-b8a0-2c6318dd86a8") + IWebProxy : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Address( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Address( + /* [in] */ __RPC__in BSTR value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_BypassList( + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_BypassList( + /* [in] */ __RPC__in_opt IStringCollection *value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_BypassProxyOnLocal( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_BypassProxyOnLocal( + /* [in] */ VARIANT_BOOL value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ReadOnly( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_UserName( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_UserName( + /* [in] */ __RPC__in BSTR value) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetPassword( + /* [in] */ __RPC__in BSTR value) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PromptForCredentials( + /* [unique][in] */ __RPC__in_opt IUnknown *parentWindow, + /* [in] */ __RPC__in BSTR title) = 0; + + virtual /* [helpstring][restricted][id] */ HRESULT STDMETHODCALLTYPE PromptForCredentialsFromHwnd( + /* [unique][in] */ __RPC__in_opt HWND parentWindow, + /* [in] */ __RPC__in BSTR title) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoDetect( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoDetect( + /* [in] */ VARIANT_BOOL value) = 0; + + }; + +#else /* C style interface */ + + typedef struct IWebProxyVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IWebProxy * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IWebProxy * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IWebProxy * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IWebProxy * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IWebProxy * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IWebProxy * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IWebProxy * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Address )( + __RPC__in IWebProxy * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Address )( + __RPC__in IWebProxy * This, + /* [in] */ __RPC__in BSTR value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BypassList )( + __RPC__in IWebProxy * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BypassList )( + __RPC__in IWebProxy * This, + /* [in] */ __RPC__in_opt IStringCollection *value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BypassProxyOnLocal )( + __RPC__in IWebProxy * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BypassProxyOnLocal )( + __RPC__in IWebProxy * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadOnly )( + __RPC__in IWebProxy * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( + __RPC__in IWebProxy * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )( + __RPC__in IWebProxy * This, + /* [in] */ __RPC__in BSTR value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetPassword )( + __RPC__in IWebProxy * This, + /* [in] */ __RPC__in BSTR value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PromptForCredentials )( + __RPC__in IWebProxy * This, + /* [unique][in] */ __RPC__in_opt IUnknown *parentWindow, + /* [in] */ __RPC__in BSTR title); + + /* [helpstring][restricted][id] */ HRESULT ( STDMETHODCALLTYPE *PromptForCredentialsFromHwnd )( + __RPC__in IWebProxy * This, + /* [unique][in] */ __RPC__in_opt HWND parentWindow, + /* [in] */ __RPC__in BSTR title); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoDetect )( + __RPC__in IWebProxy * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoDetect )( + __RPC__in IWebProxy * This, + /* [in] */ VARIANT_BOOL value); + + END_INTERFACE + } IWebProxyVtbl; + + interface IWebProxy + { + CONST_VTBL struct IWebProxyVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IWebProxy_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IWebProxy_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IWebProxy_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IWebProxy_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IWebProxy_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IWebProxy_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IWebProxy_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IWebProxy_get_Address(This,retval) \ + ( (This)->lpVtbl -> get_Address(This,retval) ) + +#define IWebProxy_put_Address(This,value) \ + ( (This)->lpVtbl -> put_Address(This,value) ) + +#define IWebProxy_get_BypassList(This,retval) \ + ( (This)->lpVtbl -> get_BypassList(This,retval) ) + +#define IWebProxy_put_BypassList(This,value) \ + ( (This)->lpVtbl -> put_BypassList(This,value) ) + +#define IWebProxy_get_BypassProxyOnLocal(This,retval) \ + ( (This)->lpVtbl -> get_BypassProxyOnLocal(This,retval) ) + +#define IWebProxy_put_BypassProxyOnLocal(This,value) \ + ( (This)->lpVtbl -> put_BypassProxyOnLocal(This,value) ) + +#define IWebProxy_get_ReadOnly(This,retval) \ + ( (This)->lpVtbl -> get_ReadOnly(This,retval) ) + +#define IWebProxy_get_UserName(This,retval) \ + ( (This)->lpVtbl -> get_UserName(This,retval) ) + +#define IWebProxy_put_UserName(This,value) \ + ( (This)->lpVtbl -> put_UserName(This,value) ) + +#define IWebProxy_SetPassword(This,value) \ + ( (This)->lpVtbl -> SetPassword(This,value) ) + +#define IWebProxy_PromptForCredentials(This,parentWindow,title) \ + ( (This)->lpVtbl -> PromptForCredentials(This,parentWindow,title) ) + +#define IWebProxy_PromptForCredentialsFromHwnd(This,parentWindow,title) \ + ( (This)->lpVtbl -> PromptForCredentialsFromHwnd(This,parentWindow,title) ) + +#define IWebProxy_get_AutoDetect(This,retval) \ + ( (This)->lpVtbl -> get_AutoDetect(This,retval) ) + +#define IWebProxy_put_AutoDetect(This,value) \ + ( (This)->lpVtbl -> put_AutoDetect(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IWebProxy_INTERFACE_DEFINED__ */ + + +#ifndef __ISystemInformation_INTERFACE_DEFINED__ +#define __ISystemInformation_INTERFACE_DEFINED__ + +/* interface ISystemInformation */ +/* [hidden][unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_ISystemInformation; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("ade87bf7-7b56-4275-8fab-b9b0e591844b") + ISystemInformation : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_OemHardwareSupportLink( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RebootRequired( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct ISystemInformationVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in ISystemInformation * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in ISystemInformation * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in ISystemInformation * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in ISystemInformation * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in ISystemInformation * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in ISystemInformation * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + ISystemInformation * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OemHardwareSupportLink )( + __RPC__in ISystemInformation * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RebootRequired )( + __RPC__in ISystemInformation * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + END_INTERFACE + } ISystemInformationVtbl; + + interface ISystemInformation + { + CONST_VTBL struct ISystemInformationVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ISystemInformation_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ISystemInformation_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ISystemInformation_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ISystemInformation_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define ISystemInformation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define ISystemInformation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define ISystemInformation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define ISystemInformation_get_OemHardwareSupportLink(This,retval) \ + ( (This)->lpVtbl -> get_OemHardwareSupportLink(This,retval) ) + +#define ISystemInformation_get_RebootRequired(This,retval) \ + ( (This)->lpVtbl -> get_RebootRequired(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ISystemInformation_INTERFACE_DEFINED__ */ + + +#ifndef __IWindowsUpdateAgentInfo_INTERFACE_DEFINED__ +#define __IWindowsUpdateAgentInfo_INTERFACE_DEFINED__ + +/* interface IWindowsUpdateAgentInfo */ +/* [hidden][unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IWindowsUpdateAgentInfo; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("85713fa1-7796-4fa2-be3b-e2d6124dd373") + IWindowsUpdateAgentInfo : public IDispatch + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetInfo( + /* [in] */ VARIANT varInfoIdentifier, + /* [retval][out] */ __RPC__out VARIANT *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IWindowsUpdateAgentInfoVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IWindowsUpdateAgentInfo * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IWindowsUpdateAgentInfo * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IWindowsUpdateAgentInfo * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IWindowsUpdateAgentInfo * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IWindowsUpdateAgentInfo * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IWindowsUpdateAgentInfo * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IWindowsUpdateAgentInfo * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetInfo )( + __RPC__in IWindowsUpdateAgentInfo * This, + /* [in] */ VARIANT varInfoIdentifier, + /* [retval][out] */ __RPC__out VARIANT *retval); + + END_INTERFACE + } IWindowsUpdateAgentInfoVtbl; + + interface IWindowsUpdateAgentInfo + { + CONST_VTBL struct IWindowsUpdateAgentInfoVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IWindowsUpdateAgentInfo_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IWindowsUpdateAgentInfo_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IWindowsUpdateAgentInfo_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IWindowsUpdateAgentInfo_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IWindowsUpdateAgentInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IWindowsUpdateAgentInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IWindowsUpdateAgentInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IWindowsUpdateAgentInfo_GetInfo(This,varInfoIdentifier,retval) \ + ( (This)->lpVtbl -> GetInfo(This,varInfoIdentifier,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IWindowsUpdateAgentInfo_INTERFACE_DEFINED__ */ + + +#ifndef __IAutomaticUpdatesResults_INTERFACE_DEFINED__ +#define __IAutomaticUpdatesResults_INTERFACE_DEFINED__ + +/* interface IAutomaticUpdatesResults */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IAutomaticUpdatesResults; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("E7A4D634-7942-4DD9-A111-82228BA33901") + IAutomaticUpdatesResults : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_LastSearchSuccessDate( + /* [retval][out] */ __RPC__out VARIANT *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_LastInstallationSuccessDate( + /* [retval][out] */ __RPC__out VARIANT *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAutomaticUpdatesResultsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IAutomaticUpdatesResults * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IAutomaticUpdatesResults * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IAutomaticUpdatesResults * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IAutomaticUpdatesResults * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IAutomaticUpdatesResults * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IAutomaticUpdatesResults * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IAutomaticUpdatesResults * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LastSearchSuccessDate )( + __RPC__in IAutomaticUpdatesResults * This, + /* [retval][out] */ __RPC__out VARIANT *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LastInstallationSuccessDate )( + __RPC__in IAutomaticUpdatesResults * This, + /* [retval][out] */ __RPC__out VARIANT *retval); + + END_INTERFACE + } IAutomaticUpdatesResultsVtbl; + + interface IAutomaticUpdatesResults + { + CONST_VTBL struct IAutomaticUpdatesResultsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAutomaticUpdatesResults_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAutomaticUpdatesResults_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAutomaticUpdatesResults_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAutomaticUpdatesResults_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IAutomaticUpdatesResults_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IAutomaticUpdatesResults_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IAutomaticUpdatesResults_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IAutomaticUpdatesResults_get_LastSearchSuccessDate(This,retval) \ + ( (This)->lpVtbl -> get_LastSearchSuccessDate(This,retval) ) + +#define IAutomaticUpdatesResults_get_LastInstallationSuccessDate(This,retval) \ + ( (This)->lpVtbl -> get_LastInstallationSuccessDate(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAutomaticUpdatesResults_INTERFACE_DEFINED__ */ + + +#ifndef __IAutomaticUpdatesSettings_INTERFACE_DEFINED__ +#define __IAutomaticUpdatesSettings_INTERFACE_DEFINED__ + +/* interface IAutomaticUpdatesSettings */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IAutomaticUpdatesSettings; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("2ee48f22-af3c-405f-8970-f71be12ee9a2") + IAutomaticUpdatesSettings : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_NotificationLevel( + /* [retval][out] */ __RPC__out AutomaticUpdatesNotificationLevel *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_NotificationLevel( + /* [in] */ AutomaticUpdatesNotificationLevel value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ReadOnly( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Required( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ScheduledInstallationDay( + /* [retval][out] */ __RPC__out AutomaticUpdatesScheduledInstallationDay *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_ScheduledInstallationDay( + /* [in] */ AutomaticUpdatesScheduledInstallationDay value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ScheduledInstallationTime( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_ScheduledInstallationTime( + /* [in] */ LONG value) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Refresh( void) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Save( void) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAutomaticUpdatesSettingsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IAutomaticUpdatesSettings * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IAutomaticUpdatesSettings * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IAutomaticUpdatesSettings * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IAutomaticUpdatesSettings * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IAutomaticUpdatesSettings * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IAutomaticUpdatesSettings * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IAutomaticUpdatesSettings * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NotificationLevel )( + __RPC__in IAutomaticUpdatesSettings * This, + /* [retval][out] */ __RPC__out AutomaticUpdatesNotificationLevel *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NotificationLevel )( + __RPC__in IAutomaticUpdatesSettings * This, + /* [in] */ AutomaticUpdatesNotificationLevel value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadOnly )( + __RPC__in IAutomaticUpdatesSettings * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Required )( + __RPC__in IAutomaticUpdatesSettings * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScheduledInstallationDay )( + __RPC__in IAutomaticUpdatesSettings * This, + /* [retval][out] */ __RPC__out AutomaticUpdatesScheduledInstallationDay *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScheduledInstallationDay )( + __RPC__in IAutomaticUpdatesSettings * This, + /* [in] */ AutomaticUpdatesScheduledInstallationDay value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScheduledInstallationTime )( + __RPC__in IAutomaticUpdatesSettings * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScheduledInstallationTime )( + __RPC__in IAutomaticUpdatesSettings * This, + /* [in] */ LONG value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Refresh )( + __RPC__in IAutomaticUpdatesSettings * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Save )( + __RPC__in IAutomaticUpdatesSettings * This); + + END_INTERFACE + } IAutomaticUpdatesSettingsVtbl; + + interface IAutomaticUpdatesSettings + { + CONST_VTBL struct IAutomaticUpdatesSettingsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAutomaticUpdatesSettings_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAutomaticUpdatesSettings_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAutomaticUpdatesSettings_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAutomaticUpdatesSettings_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IAutomaticUpdatesSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IAutomaticUpdatesSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IAutomaticUpdatesSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IAutomaticUpdatesSettings_get_NotificationLevel(This,retval) \ + ( (This)->lpVtbl -> get_NotificationLevel(This,retval) ) + +#define IAutomaticUpdatesSettings_put_NotificationLevel(This,value) \ + ( (This)->lpVtbl -> put_NotificationLevel(This,value) ) + +#define IAutomaticUpdatesSettings_get_ReadOnly(This,retval) \ + ( (This)->lpVtbl -> get_ReadOnly(This,retval) ) + +#define IAutomaticUpdatesSettings_get_Required(This,retval) \ + ( (This)->lpVtbl -> get_Required(This,retval) ) + +#define IAutomaticUpdatesSettings_get_ScheduledInstallationDay(This,retval) \ + ( (This)->lpVtbl -> get_ScheduledInstallationDay(This,retval) ) + +#define IAutomaticUpdatesSettings_put_ScheduledInstallationDay(This,value) \ + ( (This)->lpVtbl -> put_ScheduledInstallationDay(This,value) ) + +#define IAutomaticUpdatesSettings_get_ScheduledInstallationTime(This,retval) \ + ( (This)->lpVtbl -> get_ScheduledInstallationTime(This,retval) ) + +#define IAutomaticUpdatesSettings_put_ScheduledInstallationTime(This,value) \ + ( (This)->lpVtbl -> put_ScheduledInstallationTime(This,value) ) + +#define IAutomaticUpdatesSettings_Refresh(This) \ + ( (This)->lpVtbl -> Refresh(This) ) + +#define IAutomaticUpdatesSettings_Save(This) \ + ( (This)->lpVtbl -> Save(This) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAutomaticUpdatesSettings_INTERFACE_DEFINED__ */ + + +#ifndef __IAutomaticUpdatesSettings2_INTERFACE_DEFINED__ +#define __IAutomaticUpdatesSettings2_INTERFACE_DEFINED__ + +/* interface IAutomaticUpdatesSettings2 */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IAutomaticUpdatesSettings2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("6abc136a-c3ca-4384-8171-cb2b1e59b8dc") + IAutomaticUpdatesSettings2 : public IAutomaticUpdatesSettings + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IncludeRecommendedUpdates( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_IncludeRecommendedUpdates( + /* [in] */ VARIANT_BOOL value) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CheckPermission( + /* [in] */ AutomaticUpdatesUserType userType, + /* [in] */ AutomaticUpdatesPermissionType permissionType, + /* [retval][out] */ __RPC__out VARIANT_BOOL *userHasPermission) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAutomaticUpdatesSettings2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IAutomaticUpdatesSettings2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IAutomaticUpdatesSettings2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IAutomaticUpdatesSettings2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IAutomaticUpdatesSettings2 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IAutomaticUpdatesSettings2 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IAutomaticUpdatesSettings2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IAutomaticUpdatesSettings2 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NotificationLevel )( + __RPC__in IAutomaticUpdatesSettings2 * This, + /* [retval][out] */ __RPC__out AutomaticUpdatesNotificationLevel *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NotificationLevel )( + __RPC__in IAutomaticUpdatesSettings2 * This, + /* [in] */ AutomaticUpdatesNotificationLevel value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadOnly )( + __RPC__in IAutomaticUpdatesSettings2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Required )( + __RPC__in IAutomaticUpdatesSettings2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScheduledInstallationDay )( + __RPC__in IAutomaticUpdatesSettings2 * This, + /* [retval][out] */ __RPC__out AutomaticUpdatesScheduledInstallationDay *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScheduledInstallationDay )( + __RPC__in IAutomaticUpdatesSettings2 * This, + /* [in] */ AutomaticUpdatesScheduledInstallationDay value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScheduledInstallationTime )( + __RPC__in IAutomaticUpdatesSettings2 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScheduledInstallationTime )( + __RPC__in IAutomaticUpdatesSettings2 * This, + /* [in] */ LONG value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Refresh )( + __RPC__in IAutomaticUpdatesSettings2 * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Save )( + __RPC__in IAutomaticUpdatesSettings2 * This); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IncludeRecommendedUpdates )( + __RPC__in IAutomaticUpdatesSettings2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IncludeRecommendedUpdates )( + __RPC__in IAutomaticUpdatesSettings2 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CheckPermission )( + __RPC__in IAutomaticUpdatesSettings2 * This, + /* [in] */ AutomaticUpdatesUserType userType, + /* [in] */ AutomaticUpdatesPermissionType permissionType, + /* [retval][out] */ __RPC__out VARIANT_BOOL *userHasPermission); + + END_INTERFACE + } IAutomaticUpdatesSettings2Vtbl; + + interface IAutomaticUpdatesSettings2 + { + CONST_VTBL struct IAutomaticUpdatesSettings2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAutomaticUpdatesSettings2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAutomaticUpdatesSettings2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAutomaticUpdatesSettings2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAutomaticUpdatesSettings2_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IAutomaticUpdatesSettings2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IAutomaticUpdatesSettings2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IAutomaticUpdatesSettings2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IAutomaticUpdatesSettings2_get_NotificationLevel(This,retval) \ + ( (This)->lpVtbl -> get_NotificationLevel(This,retval) ) + +#define IAutomaticUpdatesSettings2_put_NotificationLevel(This,value) \ + ( (This)->lpVtbl -> put_NotificationLevel(This,value) ) + +#define IAutomaticUpdatesSettings2_get_ReadOnly(This,retval) \ + ( (This)->lpVtbl -> get_ReadOnly(This,retval) ) + +#define IAutomaticUpdatesSettings2_get_Required(This,retval) \ + ( (This)->lpVtbl -> get_Required(This,retval) ) + +#define IAutomaticUpdatesSettings2_get_ScheduledInstallationDay(This,retval) \ + ( (This)->lpVtbl -> get_ScheduledInstallationDay(This,retval) ) + +#define IAutomaticUpdatesSettings2_put_ScheduledInstallationDay(This,value) \ + ( (This)->lpVtbl -> put_ScheduledInstallationDay(This,value) ) + +#define IAutomaticUpdatesSettings2_get_ScheduledInstallationTime(This,retval) \ + ( (This)->lpVtbl -> get_ScheduledInstallationTime(This,retval) ) + +#define IAutomaticUpdatesSettings2_put_ScheduledInstallationTime(This,value) \ + ( (This)->lpVtbl -> put_ScheduledInstallationTime(This,value) ) + +#define IAutomaticUpdatesSettings2_Refresh(This) \ + ( (This)->lpVtbl -> Refresh(This) ) + +#define IAutomaticUpdatesSettings2_Save(This) \ + ( (This)->lpVtbl -> Save(This) ) + + +#define IAutomaticUpdatesSettings2_get_IncludeRecommendedUpdates(This,retval) \ + ( (This)->lpVtbl -> get_IncludeRecommendedUpdates(This,retval) ) + +#define IAutomaticUpdatesSettings2_put_IncludeRecommendedUpdates(This,value) \ + ( (This)->lpVtbl -> put_IncludeRecommendedUpdates(This,value) ) + +#define IAutomaticUpdatesSettings2_CheckPermission(This,userType,permissionType,userHasPermission) \ + ( (This)->lpVtbl -> CheckPermission(This,userType,permissionType,userHasPermission) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAutomaticUpdatesSettings2_INTERFACE_DEFINED__ */ + + +#ifndef __IAutomaticUpdatesSettings3_INTERFACE_DEFINED__ +#define __IAutomaticUpdatesSettings3_INTERFACE_DEFINED__ + +/* interface IAutomaticUpdatesSettings3 */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IAutomaticUpdatesSettings3; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("b587f5c3-f57e-485f-bbf5-0d181c5cd0dc") + IAutomaticUpdatesSettings3 : public IAutomaticUpdatesSettings2 + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_NonAdministratorsElevated( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_NonAdministratorsElevated( + /* [in] */ VARIANT_BOOL value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_FeaturedUpdatesEnabled( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_FeaturedUpdatesEnabled( + /* [in] */ VARIANT_BOOL value) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAutomaticUpdatesSettings3Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IAutomaticUpdatesSettings3 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IAutomaticUpdatesSettings3 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IAutomaticUpdatesSettings3 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NotificationLevel )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [retval][out] */ __RPC__out AutomaticUpdatesNotificationLevel *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NotificationLevel )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [in] */ AutomaticUpdatesNotificationLevel value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadOnly )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Required )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScheduledInstallationDay )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [retval][out] */ __RPC__out AutomaticUpdatesScheduledInstallationDay *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScheduledInstallationDay )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [in] */ AutomaticUpdatesScheduledInstallationDay value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScheduledInstallationTime )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScheduledInstallationTime )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [in] */ LONG value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Refresh )( + __RPC__in IAutomaticUpdatesSettings3 * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Save )( + __RPC__in IAutomaticUpdatesSettings3 * This); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IncludeRecommendedUpdates )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IncludeRecommendedUpdates )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CheckPermission )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [in] */ AutomaticUpdatesUserType userType, + /* [in] */ AutomaticUpdatesPermissionType permissionType, + /* [retval][out] */ __RPC__out VARIANT_BOOL *userHasPermission); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NonAdministratorsElevated )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NonAdministratorsElevated )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FeaturedUpdatesEnabled )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FeaturedUpdatesEnabled )( + __RPC__in IAutomaticUpdatesSettings3 * This, + /* [in] */ VARIANT_BOOL value); + + END_INTERFACE + } IAutomaticUpdatesSettings3Vtbl; + + interface IAutomaticUpdatesSettings3 + { + CONST_VTBL struct IAutomaticUpdatesSettings3Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAutomaticUpdatesSettings3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAutomaticUpdatesSettings3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAutomaticUpdatesSettings3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAutomaticUpdatesSettings3_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IAutomaticUpdatesSettings3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IAutomaticUpdatesSettings3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IAutomaticUpdatesSettings3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IAutomaticUpdatesSettings3_get_NotificationLevel(This,retval) \ + ( (This)->lpVtbl -> get_NotificationLevel(This,retval) ) + +#define IAutomaticUpdatesSettings3_put_NotificationLevel(This,value) \ + ( (This)->lpVtbl -> put_NotificationLevel(This,value) ) + +#define IAutomaticUpdatesSettings3_get_ReadOnly(This,retval) \ + ( (This)->lpVtbl -> get_ReadOnly(This,retval) ) + +#define IAutomaticUpdatesSettings3_get_Required(This,retval) \ + ( (This)->lpVtbl -> get_Required(This,retval) ) + +#define IAutomaticUpdatesSettings3_get_ScheduledInstallationDay(This,retval) \ + ( (This)->lpVtbl -> get_ScheduledInstallationDay(This,retval) ) + +#define IAutomaticUpdatesSettings3_put_ScheduledInstallationDay(This,value) \ + ( (This)->lpVtbl -> put_ScheduledInstallationDay(This,value) ) + +#define IAutomaticUpdatesSettings3_get_ScheduledInstallationTime(This,retval) \ + ( (This)->lpVtbl -> get_ScheduledInstallationTime(This,retval) ) + +#define IAutomaticUpdatesSettings3_put_ScheduledInstallationTime(This,value) \ + ( (This)->lpVtbl -> put_ScheduledInstallationTime(This,value) ) + +#define IAutomaticUpdatesSettings3_Refresh(This) \ + ( (This)->lpVtbl -> Refresh(This) ) + +#define IAutomaticUpdatesSettings3_Save(This) \ + ( (This)->lpVtbl -> Save(This) ) + + +#define IAutomaticUpdatesSettings3_get_IncludeRecommendedUpdates(This,retval) \ + ( (This)->lpVtbl -> get_IncludeRecommendedUpdates(This,retval) ) + +#define IAutomaticUpdatesSettings3_put_IncludeRecommendedUpdates(This,value) \ + ( (This)->lpVtbl -> put_IncludeRecommendedUpdates(This,value) ) + +#define IAutomaticUpdatesSettings3_CheckPermission(This,userType,permissionType,userHasPermission) \ + ( (This)->lpVtbl -> CheckPermission(This,userType,permissionType,userHasPermission) ) + + +#define IAutomaticUpdatesSettings3_get_NonAdministratorsElevated(This,retval) \ + ( (This)->lpVtbl -> get_NonAdministratorsElevated(This,retval) ) + +#define IAutomaticUpdatesSettings3_put_NonAdministratorsElevated(This,value) \ + ( (This)->lpVtbl -> put_NonAdministratorsElevated(This,value) ) + +#define IAutomaticUpdatesSettings3_get_FeaturedUpdatesEnabled(This,retval) \ + ( (This)->lpVtbl -> get_FeaturedUpdatesEnabled(This,retval) ) + +#define IAutomaticUpdatesSettings3_put_FeaturedUpdatesEnabled(This,value) \ + ( (This)->lpVtbl -> put_FeaturedUpdatesEnabled(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAutomaticUpdatesSettings3_INTERFACE_DEFINED__ */ + + +#ifndef __IAutomaticUpdates_INTERFACE_DEFINED__ +#define __IAutomaticUpdates_INTERFACE_DEFINED__ + +/* interface IAutomaticUpdates */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IAutomaticUpdates; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("673425bf-c082-4c7c-bdfd-569464b8e0ce") + IAutomaticUpdates : public IDispatch + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DetectNow( void) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Pause( void) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Resume( void) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ShowSettingsDialog( void) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Settings( + /* [retval][out] */ __RPC__deref_out_opt IAutomaticUpdatesSettings **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ServiceEnabled( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EnableService( void) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAutomaticUpdatesVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IAutomaticUpdates * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IAutomaticUpdates * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IAutomaticUpdates * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IAutomaticUpdates * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IAutomaticUpdates * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IAutomaticUpdates * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IAutomaticUpdates * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DetectNow )( + __RPC__in IAutomaticUpdates * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Pause )( + __RPC__in IAutomaticUpdates * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Resume )( + __RPC__in IAutomaticUpdates * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ShowSettingsDialog )( + __RPC__in IAutomaticUpdates * This); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( + __RPC__in IAutomaticUpdates * This, + /* [retval][out] */ __RPC__deref_out_opt IAutomaticUpdatesSettings **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceEnabled )( + __RPC__in IAutomaticUpdates * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EnableService )( + __RPC__in IAutomaticUpdates * This); + + END_INTERFACE + } IAutomaticUpdatesVtbl; + + interface IAutomaticUpdates + { + CONST_VTBL struct IAutomaticUpdatesVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAutomaticUpdates_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAutomaticUpdates_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAutomaticUpdates_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAutomaticUpdates_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IAutomaticUpdates_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IAutomaticUpdates_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IAutomaticUpdates_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IAutomaticUpdates_DetectNow(This) \ + ( (This)->lpVtbl -> DetectNow(This) ) + +#define IAutomaticUpdates_Pause(This) \ + ( (This)->lpVtbl -> Pause(This) ) + +#define IAutomaticUpdates_Resume(This) \ + ( (This)->lpVtbl -> Resume(This) ) + +#define IAutomaticUpdates_ShowSettingsDialog(This) \ + ( (This)->lpVtbl -> ShowSettingsDialog(This) ) + +#define IAutomaticUpdates_get_Settings(This,retval) \ + ( (This)->lpVtbl -> get_Settings(This,retval) ) + +#define IAutomaticUpdates_get_ServiceEnabled(This,retval) \ + ( (This)->lpVtbl -> get_ServiceEnabled(This,retval) ) + +#define IAutomaticUpdates_EnableService(This) \ + ( (This)->lpVtbl -> EnableService(This) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAutomaticUpdates_INTERFACE_DEFINED__ */ + + +#ifndef __IAutomaticUpdates2_INTERFACE_DEFINED__ +#define __IAutomaticUpdates2_INTERFACE_DEFINED__ + +/* interface IAutomaticUpdates2 */ +/* [hidden][unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IAutomaticUpdates2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("4A2F5C31-CFD9-410E-B7FB-29A653973A0F") + IAutomaticUpdates2 : public IAutomaticUpdates + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Results( + /* [retval][out] */ __RPC__deref_out_opt IAutomaticUpdatesResults **retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAutomaticUpdates2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IAutomaticUpdates2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IAutomaticUpdates2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IAutomaticUpdates2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IAutomaticUpdates2 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IAutomaticUpdates2 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IAutomaticUpdates2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IAutomaticUpdates2 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DetectNow )( + __RPC__in IAutomaticUpdates2 * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Pause )( + __RPC__in IAutomaticUpdates2 * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Resume )( + __RPC__in IAutomaticUpdates2 * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ShowSettingsDialog )( + __RPC__in IAutomaticUpdates2 * This); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( + __RPC__in IAutomaticUpdates2 * This, + /* [retval][out] */ __RPC__deref_out_opt IAutomaticUpdatesSettings **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceEnabled )( + __RPC__in IAutomaticUpdates2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EnableService )( + __RPC__in IAutomaticUpdates2 * This); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Results )( + __RPC__in IAutomaticUpdates2 * This, + /* [retval][out] */ __RPC__deref_out_opt IAutomaticUpdatesResults **retval); + + END_INTERFACE + } IAutomaticUpdates2Vtbl; + + interface IAutomaticUpdates2 + { + CONST_VTBL struct IAutomaticUpdates2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAutomaticUpdates2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAutomaticUpdates2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAutomaticUpdates2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAutomaticUpdates2_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IAutomaticUpdates2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IAutomaticUpdates2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IAutomaticUpdates2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IAutomaticUpdates2_DetectNow(This) \ + ( (This)->lpVtbl -> DetectNow(This) ) + +#define IAutomaticUpdates2_Pause(This) \ + ( (This)->lpVtbl -> Pause(This) ) + +#define IAutomaticUpdates2_Resume(This) \ + ( (This)->lpVtbl -> Resume(This) ) + +#define IAutomaticUpdates2_ShowSettingsDialog(This) \ + ( (This)->lpVtbl -> ShowSettingsDialog(This) ) + +#define IAutomaticUpdates2_get_Settings(This,retval) \ + ( (This)->lpVtbl -> get_Settings(This,retval) ) + +#define IAutomaticUpdates2_get_ServiceEnabled(This,retval) \ + ( (This)->lpVtbl -> get_ServiceEnabled(This,retval) ) + +#define IAutomaticUpdates2_EnableService(This) \ + ( (This)->lpVtbl -> EnableService(This) ) + + +#define IAutomaticUpdates2_get_Results(This,retval) \ + ( (This)->lpVtbl -> get_Results(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAutomaticUpdates2_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateIdentity_INTERFACE_DEFINED__ +#define __IUpdateIdentity_INTERFACE_DEFINED__ + +/* interface IUpdateIdentity */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateIdentity; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("46297823-9940-4c09-aed9-cd3ea6d05968") + IUpdateIdentity : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RevisionNumber( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_UpdateID( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateIdentityVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateIdentity * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateIdentity * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateIdentity * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateIdentity * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateIdentity * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateIdentity * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateIdentity * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RevisionNumber )( + __RPC__in IUpdateIdentity * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UpdateID )( + __RPC__in IUpdateIdentity * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + END_INTERFACE + } IUpdateIdentityVtbl; + + interface IUpdateIdentity + { + CONST_VTBL struct IUpdateIdentityVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateIdentity_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateIdentity_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateIdentity_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateIdentity_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateIdentity_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateIdentity_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateIdentity_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateIdentity_get_RevisionNumber(This,retval) \ + ( (This)->lpVtbl -> get_RevisionNumber(This,retval) ) + +#define IUpdateIdentity_get_UpdateID(This,retval) \ + ( (This)->lpVtbl -> get_UpdateID(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateIdentity_INTERFACE_DEFINED__ */ + + +#ifndef __IImageInformation_INTERFACE_DEFINED__ +#define __IImageInformation_INTERFACE_DEFINED__ + +/* interface IImageInformation */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IImageInformation; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("7c907864-346c-4aeb-8f3f-57da289f969f") + IImageInformation : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AltText( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Height( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Source( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Width( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IImageInformationVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IImageInformation * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IImageInformation * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IImageInformation * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IImageInformation * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IImageInformation * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IImageInformation * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IImageInformation * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AltText )( + __RPC__in IImageInformation * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( + __RPC__in IImageInformation * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( + __RPC__in IImageInformation * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( + __RPC__in IImageInformation * This, + /* [retval][out] */ __RPC__out LONG *retval); + + END_INTERFACE + } IImageInformationVtbl; + + interface IImageInformation + { + CONST_VTBL struct IImageInformationVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IImageInformation_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IImageInformation_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IImageInformation_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IImageInformation_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IImageInformation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IImageInformation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IImageInformation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IImageInformation_get_AltText(This,retval) \ + ( (This)->lpVtbl -> get_AltText(This,retval) ) + +#define IImageInformation_get_Height(This,retval) \ + ( (This)->lpVtbl -> get_Height(This,retval) ) + +#define IImageInformation_get_Source(This,retval) \ + ( (This)->lpVtbl -> get_Source(This,retval) ) + +#define IImageInformation_get_Width(This,retval) \ + ( (This)->lpVtbl -> get_Width(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IImageInformation_INTERFACE_DEFINED__ */ + + +#ifndef __ICategory_INTERFACE_DEFINED__ +#define __ICategory_INTERFACE_DEFINED__ + +/* interface ICategory */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_ICategory; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("81ddc1b8-9d35-47a6-b471-5b80f519223b") + ICategory : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_CategoryID( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Children( + /* [retval][out] */ __RPC__deref_out_opt ICategoryCollection **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Description( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Image( + /* [retval][out] */ __RPC__deref_out_opt IImageInformation **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Order( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( + /* [retval][out] */ __RPC__deref_out_opt ICategory **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Updates( + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct ICategoryVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in ICategory * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in ICategory * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in ICategory * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in ICategory * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in ICategory * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in ICategory * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + ICategory * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + __RPC__in ICategory * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CategoryID )( + __RPC__in ICategory * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Children )( + __RPC__in ICategory * This, + /* [retval][out] */ __RPC__deref_out_opt ICategoryCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( + __RPC__in ICategory * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( + __RPC__in ICategory * This, + /* [retval][out] */ __RPC__deref_out_opt IImageInformation **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Order )( + __RPC__in ICategory * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( + __RPC__in ICategory * This, + /* [retval][out] */ __RPC__deref_out_opt ICategory **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( + __RPC__in ICategory * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Updates )( + __RPC__in ICategory * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + END_INTERFACE + } ICategoryVtbl; + + interface ICategory + { + CONST_VTBL struct ICategoryVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ICategory_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ICategory_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ICategory_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ICategory_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define ICategory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define ICategory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define ICategory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define ICategory_get_Name(This,retval) \ + ( (This)->lpVtbl -> get_Name(This,retval) ) + +#define ICategory_get_CategoryID(This,retval) \ + ( (This)->lpVtbl -> get_CategoryID(This,retval) ) + +#define ICategory_get_Children(This,retval) \ + ( (This)->lpVtbl -> get_Children(This,retval) ) + +#define ICategory_get_Description(This,retval) \ + ( (This)->lpVtbl -> get_Description(This,retval) ) + +#define ICategory_get_Image(This,retval) \ + ( (This)->lpVtbl -> get_Image(This,retval) ) + +#define ICategory_get_Order(This,retval) \ + ( (This)->lpVtbl -> get_Order(This,retval) ) + +#define ICategory_get_Parent(This,retval) \ + ( (This)->lpVtbl -> get_Parent(This,retval) ) + +#define ICategory_get_Type(This,retval) \ + ( (This)->lpVtbl -> get_Type(This,retval) ) + +#define ICategory_get_Updates(This,retval) \ + ( (This)->lpVtbl -> get_Updates(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ICategory_INTERFACE_DEFINED__ */ + + +#ifndef __ICategoryCollection_INTERFACE_DEFINED__ +#define __ICategoryCollection_INTERFACE_DEFINED__ + +/* interface ICategoryCollection */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_ICategoryCollection; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("3a56bfb8-576c-43f7-9335-fe4838fd7e37") + ICategoryCollection : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( + /* [in] */ LONG index, + /* [retval][out] */ __RPC__deref_out_opt ICategory **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct ICategoryCollectionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in ICategoryCollection * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in ICategoryCollection * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in ICategoryCollection * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in ICategoryCollection * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in ICategoryCollection * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in ICategoryCollection * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + ICategoryCollection * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( + __RPC__in ICategoryCollection * This, + /* [in] */ LONG index, + /* [retval][out] */ __RPC__deref_out_opt ICategory **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( + __RPC__in ICategoryCollection * This, + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( + __RPC__in ICategoryCollection * This, + /* [retval][out] */ __RPC__out LONG *retval); + + END_INTERFACE + } ICategoryCollectionVtbl; + + interface ICategoryCollection + { + CONST_VTBL struct ICategoryCollectionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ICategoryCollection_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ICategoryCollection_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ICategoryCollection_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ICategoryCollection_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define ICategoryCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define ICategoryCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define ICategoryCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define ICategoryCollection_get_Item(This,index,retval) \ + ( (This)->lpVtbl -> get_Item(This,index,retval) ) + +#define ICategoryCollection_get__NewEnum(This,retval) \ + ( (This)->lpVtbl -> get__NewEnum(This,retval) ) + +#define ICategoryCollection_get_Count(This,retval) \ + ( (This)->lpVtbl -> get_Count(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ICategoryCollection_INTERFACE_DEFINED__ */ + + +#ifndef __IInstallationBehavior_INTERFACE_DEFINED__ +#define __IInstallationBehavior_INTERFACE_DEFINED__ + +/* interface IInstallationBehavior */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IInstallationBehavior; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("d9a59339-e245-4dbd-9686-4d5763e39624") + IInstallationBehavior : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_CanRequestUserInput( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Impact( + /* [retval][out] */ __RPC__out InstallationImpact *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RebootBehavior( + /* [retval][out] */ __RPC__out InstallationRebootBehavior *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RequiresNetworkConnectivity( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IInstallationBehaviorVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IInstallationBehavior * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IInstallationBehavior * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IInstallationBehavior * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IInstallationBehavior * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IInstallationBehavior * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IInstallationBehavior * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IInstallationBehavior * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanRequestUserInput )( + __RPC__in IInstallationBehavior * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Impact )( + __RPC__in IInstallationBehavior * This, + /* [retval][out] */ __RPC__out InstallationImpact *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RebootBehavior )( + __RPC__in IInstallationBehavior * This, + /* [retval][out] */ __RPC__out InstallationRebootBehavior *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RequiresNetworkConnectivity )( + __RPC__in IInstallationBehavior * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + END_INTERFACE + } IInstallationBehaviorVtbl; + + interface IInstallationBehavior + { + CONST_VTBL struct IInstallationBehaviorVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IInstallationBehavior_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IInstallationBehavior_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IInstallationBehavior_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IInstallationBehavior_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IInstallationBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IInstallationBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IInstallationBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IInstallationBehavior_get_CanRequestUserInput(This,retval) \ + ( (This)->lpVtbl -> get_CanRequestUserInput(This,retval) ) + +#define IInstallationBehavior_get_Impact(This,retval) \ + ( (This)->lpVtbl -> get_Impact(This,retval) ) + +#define IInstallationBehavior_get_RebootBehavior(This,retval) \ + ( (This)->lpVtbl -> get_RebootBehavior(This,retval) ) + +#define IInstallationBehavior_get_RequiresNetworkConnectivity(This,retval) \ + ( (This)->lpVtbl -> get_RequiresNetworkConnectivity(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IInstallationBehavior_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateDownloadContent_INTERFACE_DEFINED__ +#define __IUpdateDownloadContent_INTERFACE_DEFINED__ + +/* interface IUpdateDownloadContent */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateDownloadContent; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("54a2cb2d-9a0c-48b6-8a50-9abb69ee2d02") + IUpdateDownloadContent : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DownloadUrl( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateDownloadContentVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateDownloadContent * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateDownloadContent * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateDownloadContent * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateDownloadContent * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateDownloadContent * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateDownloadContent * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateDownloadContent * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadUrl )( + __RPC__in IUpdateDownloadContent * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + END_INTERFACE + } IUpdateDownloadContentVtbl; + + interface IUpdateDownloadContent + { + CONST_VTBL struct IUpdateDownloadContentVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateDownloadContent_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateDownloadContent_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateDownloadContent_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateDownloadContent_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateDownloadContent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateDownloadContent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateDownloadContent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateDownloadContent_get_DownloadUrl(This,retval) \ + ( (This)->lpVtbl -> get_DownloadUrl(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateDownloadContent_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateDownloadContent2_INTERFACE_DEFINED__ +#define __IUpdateDownloadContent2_INTERFACE_DEFINED__ + +/* interface IUpdateDownloadContent2 */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateDownloadContent2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("c97ad11b-f257-420b-9d9f-377f733f6f68") + IUpdateDownloadContent2 : public IUpdateDownloadContent + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsDeltaCompressedContent( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateDownloadContent2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateDownloadContent2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateDownloadContent2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateDownloadContent2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateDownloadContent2 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateDownloadContent2 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateDownloadContent2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateDownloadContent2 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadUrl )( + __RPC__in IUpdateDownloadContent2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsDeltaCompressedContent )( + __RPC__in IUpdateDownloadContent2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + END_INTERFACE + } IUpdateDownloadContent2Vtbl; + + interface IUpdateDownloadContent2 + { + CONST_VTBL struct IUpdateDownloadContent2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateDownloadContent2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateDownloadContent2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateDownloadContent2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateDownloadContent2_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateDownloadContent2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateDownloadContent2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateDownloadContent2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateDownloadContent2_get_DownloadUrl(This,retval) \ + ( (This)->lpVtbl -> get_DownloadUrl(This,retval) ) + + +#define IUpdateDownloadContent2_get_IsDeltaCompressedContent(This,retval) \ + ( (This)->lpVtbl -> get_IsDeltaCompressedContent(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateDownloadContent2_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateDownloadContentCollection_INTERFACE_DEFINED__ +#define __IUpdateDownloadContentCollection_INTERFACE_DEFINED__ + +/* interface IUpdateDownloadContentCollection */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateDownloadContentCollection; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("bc5513c8-b3b8-4bf7-a4d4-361c0d8c88ba") + IUpdateDownloadContentCollection : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( + /* [in] */ LONG index, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloadContent **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateDownloadContentCollectionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateDownloadContentCollection * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateDownloadContentCollection * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateDownloadContentCollection * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateDownloadContentCollection * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateDownloadContentCollection * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateDownloadContentCollection * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateDownloadContentCollection * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( + __RPC__in IUpdateDownloadContentCollection * This, + /* [in] */ LONG index, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloadContent **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( + __RPC__in IUpdateDownloadContentCollection * This, + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( + __RPC__in IUpdateDownloadContentCollection * This, + /* [retval][out] */ __RPC__out LONG *retval); + + END_INTERFACE + } IUpdateDownloadContentCollectionVtbl; + + interface IUpdateDownloadContentCollection + { + CONST_VTBL struct IUpdateDownloadContentCollectionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateDownloadContentCollection_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateDownloadContentCollection_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateDownloadContentCollection_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateDownloadContentCollection_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateDownloadContentCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateDownloadContentCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateDownloadContentCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateDownloadContentCollection_get_Item(This,index,retval) \ + ( (This)->lpVtbl -> get_Item(This,index,retval) ) + +#define IUpdateDownloadContentCollection_get__NewEnum(This,retval) \ + ( (This)->lpVtbl -> get__NewEnum(This,retval) ) + +#define IUpdateDownloadContentCollection_get_Count(This,retval) \ + ( (This)->lpVtbl -> get_Count(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateDownloadContentCollection_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdate_INTERFACE_DEFINED__ +#define __IUpdate_INTERFACE_DEFINED__ + +/* interface IUpdate */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdate; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("6a92b07a-d821-4682-b423-5c805022cc4d") + IUpdate : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Title( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoSelectOnWebSites( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_BundledUpdates( + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_CanRequireSource( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Categories( + /* [retval][out] */ __RPC__deref_out_opt ICategoryCollection **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Deadline( + /* [retval][out] */ __RPC__out VARIANT *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DeltaCompressedContentAvailable( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DeltaCompressedContentPreferred( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Description( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_EulaAccepted( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_EulaText( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_HandlerID( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Identity( + /* [retval][out] */ __RPC__deref_out_opt IUpdateIdentity **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Image( + /* [retval][out] */ __RPC__deref_out_opt IImageInformation **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_InstallationBehavior( + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsBeta( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsDownloaded( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsHidden( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_IsHidden( + /* [in] */ VARIANT_BOOL value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsInstalled( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsMandatory( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsUninstallable( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Languages( + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_LastDeploymentChangeTime( + /* [retval][out] */ __RPC__out DATE *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_MaxDownloadSize( + /* [retval][out] */ __RPC__out DECIMAL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_MinDownloadSize( + /* [retval][out] */ __RPC__out DECIMAL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_MoreInfoUrls( + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_MsrcSeverity( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RecommendedCpuSpeed( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RecommendedHardDiskSpace( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RecommendedMemory( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ReleaseNotes( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SecurityBulletinIDs( + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SupersededUpdateIDs( + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SupportUrl( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( + /* [retval][out] */ __RPC__out UpdateType *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_UninstallationNotes( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_UninstallationBehavior( + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_UninstallationSteps( + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_KBArticleIDs( + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AcceptEula( void) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DeploymentAction( + /* [retval][out] */ __RPC__out DeploymentAction *retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CopyFromCache( + /* [ref][in] */ __RPC__in BSTR path, + /* [in] */ VARIANT_BOOL toExtractCabFiles) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DownloadPriority( + /* [retval][out] */ __RPC__out DownloadPriority *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DownloadContents( + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloadContentCollection **retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdate * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdate * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdate * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdate * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdate * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdate * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdate * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSelectOnWebSites )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BundledUpdates )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanRequireSource )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Categories )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt ICategoryCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Deadline )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out VARIANT *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentAvailable )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentPreferred )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaAccepted )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaText )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HandlerID )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Identity )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateIdentity **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IImageInformation **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstallationBehavior )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsBeta )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsDownloaded )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsHidden )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IsHidden )( + __RPC__in IUpdate * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsInstalled )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsMandatory )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsUninstallable )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Languages )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LastDeploymentChangeTime )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxDownloadSize )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinDownloadSize )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MoreInfoUrls )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MsrcSeverity )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedCpuSpeed )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedHardDiskSpace )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedMemory )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReleaseNotes )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecurityBulletinIDs )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupersededUpdateIDs )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupportUrl )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out UpdateType *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationNotes )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationBehavior )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationSteps )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KBArticleIDs )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AcceptEula )( + __RPC__in IUpdate * This); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeploymentAction )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out DeploymentAction *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyFromCache )( + __RPC__in IUpdate * This, + /* [ref][in] */ __RPC__in BSTR path, + /* [in] */ VARIANT_BOOL toExtractCabFiles); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadPriority )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__out DownloadPriority *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadContents )( + __RPC__in IUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloadContentCollection **retval); + + END_INTERFACE + } IUpdateVtbl; + + interface IUpdate + { + CONST_VTBL struct IUpdateVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdate_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdate_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdate_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdate_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdate_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdate_get_Title(This,retval) \ + ( (This)->lpVtbl -> get_Title(This,retval) ) + +#define IUpdate_get_AutoSelectOnWebSites(This,retval) \ + ( (This)->lpVtbl -> get_AutoSelectOnWebSites(This,retval) ) + +#define IUpdate_get_BundledUpdates(This,retval) \ + ( (This)->lpVtbl -> get_BundledUpdates(This,retval) ) + +#define IUpdate_get_CanRequireSource(This,retval) \ + ( (This)->lpVtbl -> get_CanRequireSource(This,retval) ) + +#define IUpdate_get_Categories(This,retval) \ + ( (This)->lpVtbl -> get_Categories(This,retval) ) + +#define IUpdate_get_Deadline(This,retval) \ + ( (This)->lpVtbl -> get_Deadline(This,retval) ) + +#define IUpdate_get_DeltaCompressedContentAvailable(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentAvailable(This,retval) ) + +#define IUpdate_get_DeltaCompressedContentPreferred(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentPreferred(This,retval) ) + +#define IUpdate_get_Description(This,retval) \ + ( (This)->lpVtbl -> get_Description(This,retval) ) + +#define IUpdate_get_EulaAccepted(This,retval) \ + ( (This)->lpVtbl -> get_EulaAccepted(This,retval) ) + +#define IUpdate_get_EulaText(This,retval) \ + ( (This)->lpVtbl -> get_EulaText(This,retval) ) + +#define IUpdate_get_HandlerID(This,retval) \ + ( (This)->lpVtbl -> get_HandlerID(This,retval) ) + +#define IUpdate_get_Identity(This,retval) \ + ( (This)->lpVtbl -> get_Identity(This,retval) ) + +#define IUpdate_get_Image(This,retval) \ + ( (This)->lpVtbl -> get_Image(This,retval) ) + +#define IUpdate_get_InstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_InstallationBehavior(This,retval) ) + +#define IUpdate_get_IsBeta(This,retval) \ + ( (This)->lpVtbl -> get_IsBeta(This,retval) ) + +#define IUpdate_get_IsDownloaded(This,retval) \ + ( (This)->lpVtbl -> get_IsDownloaded(This,retval) ) + +#define IUpdate_get_IsHidden(This,retval) \ + ( (This)->lpVtbl -> get_IsHidden(This,retval) ) + +#define IUpdate_put_IsHidden(This,value) \ + ( (This)->lpVtbl -> put_IsHidden(This,value) ) + +#define IUpdate_get_IsInstalled(This,retval) \ + ( (This)->lpVtbl -> get_IsInstalled(This,retval) ) + +#define IUpdate_get_IsMandatory(This,retval) \ + ( (This)->lpVtbl -> get_IsMandatory(This,retval) ) + +#define IUpdate_get_IsUninstallable(This,retval) \ + ( (This)->lpVtbl -> get_IsUninstallable(This,retval) ) + +#define IUpdate_get_Languages(This,retval) \ + ( (This)->lpVtbl -> get_Languages(This,retval) ) + +#define IUpdate_get_LastDeploymentChangeTime(This,retval) \ + ( (This)->lpVtbl -> get_LastDeploymentChangeTime(This,retval) ) + +#define IUpdate_get_MaxDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MaxDownloadSize(This,retval) ) + +#define IUpdate_get_MinDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MinDownloadSize(This,retval) ) + +#define IUpdate_get_MoreInfoUrls(This,retval) \ + ( (This)->lpVtbl -> get_MoreInfoUrls(This,retval) ) + +#define IUpdate_get_MsrcSeverity(This,retval) \ + ( (This)->lpVtbl -> get_MsrcSeverity(This,retval) ) + +#define IUpdate_get_RecommendedCpuSpeed(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedCpuSpeed(This,retval) ) + +#define IUpdate_get_RecommendedHardDiskSpace(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedHardDiskSpace(This,retval) ) + +#define IUpdate_get_RecommendedMemory(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedMemory(This,retval) ) + +#define IUpdate_get_ReleaseNotes(This,retval) \ + ( (This)->lpVtbl -> get_ReleaseNotes(This,retval) ) + +#define IUpdate_get_SecurityBulletinIDs(This,retval) \ + ( (This)->lpVtbl -> get_SecurityBulletinIDs(This,retval) ) + +#define IUpdate_get_SupersededUpdateIDs(This,retval) \ + ( (This)->lpVtbl -> get_SupersededUpdateIDs(This,retval) ) + +#define IUpdate_get_SupportUrl(This,retval) \ + ( (This)->lpVtbl -> get_SupportUrl(This,retval) ) + +#define IUpdate_get_Type(This,retval) \ + ( (This)->lpVtbl -> get_Type(This,retval) ) + +#define IUpdate_get_UninstallationNotes(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationNotes(This,retval) ) + +#define IUpdate_get_UninstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationBehavior(This,retval) ) + +#define IUpdate_get_UninstallationSteps(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationSteps(This,retval) ) + +#define IUpdate_get_KBArticleIDs(This,retval) \ + ( (This)->lpVtbl -> get_KBArticleIDs(This,retval) ) + +#define IUpdate_AcceptEula(This) \ + ( (This)->lpVtbl -> AcceptEula(This) ) + +#define IUpdate_get_DeploymentAction(This,retval) \ + ( (This)->lpVtbl -> get_DeploymentAction(This,retval) ) + +#define IUpdate_CopyFromCache(This,path,toExtractCabFiles) \ + ( (This)->lpVtbl -> CopyFromCache(This,path,toExtractCabFiles) ) + +#define IUpdate_get_DownloadPriority(This,retval) \ + ( (This)->lpVtbl -> get_DownloadPriority(This,retval) ) + +#define IUpdate_get_DownloadContents(This,retval) \ + ( (This)->lpVtbl -> get_DownloadContents(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdate_INTERFACE_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdate_INTERFACE_DEFINED__ +#define __IWindowsDriverUpdate_INTERFACE_DEFINED__ + +/* interface IWindowsDriverUpdate */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IWindowsDriverUpdate; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("b383cd1a-5ce9-4504-9f63-764b1236f191") + IWindowsDriverUpdate : public IUpdate + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DriverClass( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DriverHardwareID( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DriverManufacturer( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DriverModel( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DriverProvider( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DriverVerDate( + /* [retval][out] */ __RPC__out DATE *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DeviceProblemNumber( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DeviceStatus( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IWindowsDriverUpdateVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IWindowsDriverUpdate * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IWindowsDriverUpdate * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IWindowsDriverUpdate * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IWindowsDriverUpdate * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IWindowsDriverUpdate * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IWindowsDriverUpdate * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IWindowsDriverUpdate * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSelectOnWebSites )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BundledUpdates )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanRequireSource )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Categories )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt ICategoryCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Deadline )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out VARIANT *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentAvailable )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentPreferred )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaAccepted )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaText )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HandlerID )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Identity )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateIdentity **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IImageInformation **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstallationBehavior )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsBeta )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsDownloaded )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsHidden )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IsHidden )( + __RPC__in IWindowsDriverUpdate * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsInstalled )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsMandatory )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsUninstallable )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Languages )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LastDeploymentChangeTime )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxDownloadSize )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinDownloadSize )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MoreInfoUrls )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MsrcSeverity )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedCpuSpeed )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedHardDiskSpace )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedMemory )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReleaseNotes )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecurityBulletinIDs )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupersededUpdateIDs )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupportUrl )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out UpdateType *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationNotes )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationBehavior )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationSteps )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KBArticleIDs )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AcceptEula )( + __RPC__in IWindowsDriverUpdate * This); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeploymentAction )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out DeploymentAction *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyFromCache )( + __RPC__in IWindowsDriverUpdate * This, + /* [ref][in] */ __RPC__in BSTR path, + /* [in] */ VARIANT_BOOL toExtractCabFiles); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadPriority )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out DownloadPriority *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadContents )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloadContentCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverClass )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverHardwareID )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverManufacturer )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverModel )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverProvider )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverVerDate )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceProblemNumber )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceStatus )( + __RPC__in IWindowsDriverUpdate * This, + /* [retval][out] */ __RPC__out LONG *retval); + + END_INTERFACE + } IWindowsDriverUpdateVtbl; + + interface IWindowsDriverUpdate + { + CONST_VTBL struct IWindowsDriverUpdateVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IWindowsDriverUpdate_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IWindowsDriverUpdate_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IWindowsDriverUpdate_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IWindowsDriverUpdate_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IWindowsDriverUpdate_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IWindowsDriverUpdate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IWindowsDriverUpdate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IWindowsDriverUpdate_get_Title(This,retval) \ + ( (This)->lpVtbl -> get_Title(This,retval) ) + +#define IWindowsDriverUpdate_get_AutoSelectOnWebSites(This,retval) \ + ( (This)->lpVtbl -> get_AutoSelectOnWebSites(This,retval) ) + +#define IWindowsDriverUpdate_get_BundledUpdates(This,retval) \ + ( (This)->lpVtbl -> get_BundledUpdates(This,retval) ) + +#define IWindowsDriverUpdate_get_CanRequireSource(This,retval) \ + ( (This)->lpVtbl -> get_CanRequireSource(This,retval) ) + +#define IWindowsDriverUpdate_get_Categories(This,retval) \ + ( (This)->lpVtbl -> get_Categories(This,retval) ) + +#define IWindowsDriverUpdate_get_Deadline(This,retval) \ + ( (This)->lpVtbl -> get_Deadline(This,retval) ) + +#define IWindowsDriverUpdate_get_DeltaCompressedContentAvailable(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentAvailable(This,retval) ) + +#define IWindowsDriverUpdate_get_DeltaCompressedContentPreferred(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentPreferred(This,retval) ) + +#define IWindowsDriverUpdate_get_Description(This,retval) \ + ( (This)->lpVtbl -> get_Description(This,retval) ) + +#define IWindowsDriverUpdate_get_EulaAccepted(This,retval) \ + ( (This)->lpVtbl -> get_EulaAccepted(This,retval) ) + +#define IWindowsDriverUpdate_get_EulaText(This,retval) \ + ( (This)->lpVtbl -> get_EulaText(This,retval) ) + +#define IWindowsDriverUpdate_get_HandlerID(This,retval) \ + ( (This)->lpVtbl -> get_HandlerID(This,retval) ) + +#define IWindowsDriverUpdate_get_Identity(This,retval) \ + ( (This)->lpVtbl -> get_Identity(This,retval) ) + +#define IWindowsDriverUpdate_get_Image(This,retval) \ + ( (This)->lpVtbl -> get_Image(This,retval) ) + +#define IWindowsDriverUpdate_get_InstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_InstallationBehavior(This,retval) ) + +#define IWindowsDriverUpdate_get_IsBeta(This,retval) \ + ( (This)->lpVtbl -> get_IsBeta(This,retval) ) + +#define IWindowsDriverUpdate_get_IsDownloaded(This,retval) \ + ( (This)->lpVtbl -> get_IsDownloaded(This,retval) ) + +#define IWindowsDriverUpdate_get_IsHidden(This,retval) \ + ( (This)->lpVtbl -> get_IsHidden(This,retval) ) + +#define IWindowsDriverUpdate_put_IsHidden(This,value) \ + ( (This)->lpVtbl -> put_IsHidden(This,value) ) + +#define IWindowsDriverUpdate_get_IsInstalled(This,retval) \ + ( (This)->lpVtbl -> get_IsInstalled(This,retval) ) + +#define IWindowsDriverUpdate_get_IsMandatory(This,retval) \ + ( (This)->lpVtbl -> get_IsMandatory(This,retval) ) + +#define IWindowsDriverUpdate_get_IsUninstallable(This,retval) \ + ( (This)->lpVtbl -> get_IsUninstallable(This,retval) ) + +#define IWindowsDriverUpdate_get_Languages(This,retval) \ + ( (This)->lpVtbl -> get_Languages(This,retval) ) + +#define IWindowsDriverUpdate_get_LastDeploymentChangeTime(This,retval) \ + ( (This)->lpVtbl -> get_LastDeploymentChangeTime(This,retval) ) + +#define IWindowsDriverUpdate_get_MaxDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MaxDownloadSize(This,retval) ) + +#define IWindowsDriverUpdate_get_MinDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MinDownloadSize(This,retval) ) + +#define IWindowsDriverUpdate_get_MoreInfoUrls(This,retval) \ + ( (This)->lpVtbl -> get_MoreInfoUrls(This,retval) ) + +#define IWindowsDriverUpdate_get_MsrcSeverity(This,retval) \ + ( (This)->lpVtbl -> get_MsrcSeverity(This,retval) ) + +#define IWindowsDriverUpdate_get_RecommendedCpuSpeed(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedCpuSpeed(This,retval) ) + +#define IWindowsDriverUpdate_get_RecommendedHardDiskSpace(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedHardDiskSpace(This,retval) ) + +#define IWindowsDriverUpdate_get_RecommendedMemory(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedMemory(This,retval) ) + +#define IWindowsDriverUpdate_get_ReleaseNotes(This,retval) \ + ( (This)->lpVtbl -> get_ReleaseNotes(This,retval) ) + +#define IWindowsDriverUpdate_get_SecurityBulletinIDs(This,retval) \ + ( (This)->lpVtbl -> get_SecurityBulletinIDs(This,retval) ) + +#define IWindowsDriverUpdate_get_SupersededUpdateIDs(This,retval) \ + ( (This)->lpVtbl -> get_SupersededUpdateIDs(This,retval) ) + +#define IWindowsDriverUpdate_get_SupportUrl(This,retval) \ + ( (This)->lpVtbl -> get_SupportUrl(This,retval) ) + +#define IWindowsDriverUpdate_get_Type(This,retval) \ + ( (This)->lpVtbl -> get_Type(This,retval) ) + +#define IWindowsDriverUpdate_get_UninstallationNotes(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationNotes(This,retval) ) + +#define IWindowsDriverUpdate_get_UninstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationBehavior(This,retval) ) + +#define IWindowsDriverUpdate_get_UninstallationSteps(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationSteps(This,retval) ) + +#define IWindowsDriverUpdate_get_KBArticleIDs(This,retval) \ + ( (This)->lpVtbl -> get_KBArticleIDs(This,retval) ) + +#define IWindowsDriverUpdate_AcceptEula(This) \ + ( (This)->lpVtbl -> AcceptEula(This) ) + +#define IWindowsDriverUpdate_get_DeploymentAction(This,retval) \ + ( (This)->lpVtbl -> get_DeploymentAction(This,retval) ) + +#define IWindowsDriverUpdate_CopyFromCache(This,path,toExtractCabFiles) \ + ( (This)->lpVtbl -> CopyFromCache(This,path,toExtractCabFiles) ) + +#define IWindowsDriverUpdate_get_DownloadPriority(This,retval) \ + ( (This)->lpVtbl -> get_DownloadPriority(This,retval) ) + +#define IWindowsDriverUpdate_get_DownloadContents(This,retval) \ + ( (This)->lpVtbl -> get_DownloadContents(This,retval) ) + + +#define IWindowsDriverUpdate_get_DriverClass(This,retval) \ + ( (This)->lpVtbl -> get_DriverClass(This,retval) ) + +#define IWindowsDriverUpdate_get_DriverHardwareID(This,retval) \ + ( (This)->lpVtbl -> get_DriverHardwareID(This,retval) ) + +#define IWindowsDriverUpdate_get_DriverManufacturer(This,retval) \ + ( (This)->lpVtbl -> get_DriverManufacturer(This,retval) ) + +#define IWindowsDriverUpdate_get_DriverModel(This,retval) \ + ( (This)->lpVtbl -> get_DriverModel(This,retval) ) + +#define IWindowsDriverUpdate_get_DriverProvider(This,retval) \ + ( (This)->lpVtbl -> get_DriverProvider(This,retval) ) + +#define IWindowsDriverUpdate_get_DriverVerDate(This,retval) \ + ( (This)->lpVtbl -> get_DriverVerDate(This,retval) ) + +#define IWindowsDriverUpdate_get_DeviceProblemNumber(This,retval) \ + ( (This)->lpVtbl -> get_DeviceProblemNumber(This,retval) ) + +#define IWindowsDriverUpdate_get_DeviceStatus(This,retval) \ + ( (This)->lpVtbl -> get_DeviceStatus(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IWindowsDriverUpdate_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdate2_INTERFACE_DEFINED__ +#define __IUpdate2_INTERFACE_DEFINED__ + +/* interface IUpdate2 */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdate2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("144fe9b0-d23d-4a8b-8634-fb4457533b7a") + IUpdate2 : public IUpdate + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RebootRequired( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsPresent( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_CveIDs( + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CopyToCache( + /* [in] */ __RPC__in_opt IStringCollection *pFiles) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdate2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdate2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdate2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdate2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdate2 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdate2 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdate2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdate2 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSelectOnWebSites )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BundledUpdates )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanRequireSource )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Categories )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt ICategoryCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Deadline )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentAvailable )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentPreferred )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaAccepted )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaText )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HandlerID )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Identity )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateIdentity **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IImageInformation **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstallationBehavior )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsBeta )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsDownloaded )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsHidden )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IsHidden )( + __RPC__in IUpdate2 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsInstalled )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsMandatory )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsUninstallable )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Languages )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LastDeploymentChangeTime )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxDownloadSize )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinDownloadSize )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MoreInfoUrls )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MsrcSeverity )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedCpuSpeed )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedHardDiskSpace )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedMemory )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReleaseNotes )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecurityBulletinIDs )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupersededUpdateIDs )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupportUrl )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out UpdateType *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationNotes )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationBehavior )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationSteps )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KBArticleIDs )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AcceptEula )( + __RPC__in IUpdate2 * This); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeploymentAction )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out DeploymentAction *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyFromCache )( + __RPC__in IUpdate2 * This, + /* [ref][in] */ __RPC__in BSTR path, + /* [in] */ VARIANT_BOOL toExtractCabFiles); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadPriority )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out DownloadPriority *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadContents )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloadContentCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RebootRequired )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsPresent )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CveIDs )( + __RPC__in IUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyToCache )( + __RPC__in IUpdate2 * This, + /* [in] */ __RPC__in_opt IStringCollection *pFiles); + + END_INTERFACE + } IUpdate2Vtbl; + + interface IUpdate2 + { + CONST_VTBL struct IUpdate2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdate2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdate2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdate2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdate2_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdate2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdate2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdate2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdate2_get_Title(This,retval) \ + ( (This)->lpVtbl -> get_Title(This,retval) ) + +#define IUpdate2_get_AutoSelectOnWebSites(This,retval) \ + ( (This)->lpVtbl -> get_AutoSelectOnWebSites(This,retval) ) + +#define IUpdate2_get_BundledUpdates(This,retval) \ + ( (This)->lpVtbl -> get_BundledUpdates(This,retval) ) + +#define IUpdate2_get_CanRequireSource(This,retval) \ + ( (This)->lpVtbl -> get_CanRequireSource(This,retval) ) + +#define IUpdate2_get_Categories(This,retval) \ + ( (This)->lpVtbl -> get_Categories(This,retval) ) + +#define IUpdate2_get_Deadline(This,retval) \ + ( (This)->lpVtbl -> get_Deadline(This,retval) ) + +#define IUpdate2_get_DeltaCompressedContentAvailable(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentAvailable(This,retval) ) + +#define IUpdate2_get_DeltaCompressedContentPreferred(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentPreferred(This,retval) ) + +#define IUpdate2_get_Description(This,retval) \ + ( (This)->lpVtbl -> get_Description(This,retval) ) + +#define IUpdate2_get_EulaAccepted(This,retval) \ + ( (This)->lpVtbl -> get_EulaAccepted(This,retval) ) + +#define IUpdate2_get_EulaText(This,retval) \ + ( (This)->lpVtbl -> get_EulaText(This,retval) ) + +#define IUpdate2_get_HandlerID(This,retval) \ + ( (This)->lpVtbl -> get_HandlerID(This,retval) ) + +#define IUpdate2_get_Identity(This,retval) \ + ( (This)->lpVtbl -> get_Identity(This,retval) ) + +#define IUpdate2_get_Image(This,retval) \ + ( (This)->lpVtbl -> get_Image(This,retval) ) + +#define IUpdate2_get_InstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_InstallationBehavior(This,retval) ) + +#define IUpdate2_get_IsBeta(This,retval) \ + ( (This)->lpVtbl -> get_IsBeta(This,retval) ) + +#define IUpdate2_get_IsDownloaded(This,retval) \ + ( (This)->lpVtbl -> get_IsDownloaded(This,retval) ) + +#define IUpdate2_get_IsHidden(This,retval) \ + ( (This)->lpVtbl -> get_IsHidden(This,retval) ) + +#define IUpdate2_put_IsHidden(This,value) \ + ( (This)->lpVtbl -> put_IsHidden(This,value) ) + +#define IUpdate2_get_IsInstalled(This,retval) \ + ( (This)->lpVtbl -> get_IsInstalled(This,retval) ) + +#define IUpdate2_get_IsMandatory(This,retval) \ + ( (This)->lpVtbl -> get_IsMandatory(This,retval) ) + +#define IUpdate2_get_IsUninstallable(This,retval) \ + ( (This)->lpVtbl -> get_IsUninstallable(This,retval) ) + +#define IUpdate2_get_Languages(This,retval) \ + ( (This)->lpVtbl -> get_Languages(This,retval) ) + +#define IUpdate2_get_LastDeploymentChangeTime(This,retval) \ + ( (This)->lpVtbl -> get_LastDeploymentChangeTime(This,retval) ) + +#define IUpdate2_get_MaxDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MaxDownloadSize(This,retval) ) + +#define IUpdate2_get_MinDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MinDownloadSize(This,retval) ) + +#define IUpdate2_get_MoreInfoUrls(This,retval) \ + ( (This)->lpVtbl -> get_MoreInfoUrls(This,retval) ) + +#define IUpdate2_get_MsrcSeverity(This,retval) \ + ( (This)->lpVtbl -> get_MsrcSeverity(This,retval) ) + +#define IUpdate2_get_RecommendedCpuSpeed(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedCpuSpeed(This,retval) ) + +#define IUpdate2_get_RecommendedHardDiskSpace(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedHardDiskSpace(This,retval) ) + +#define IUpdate2_get_RecommendedMemory(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedMemory(This,retval) ) + +#define IUpdate2_get_ReleaseNotes(This,retval) \ + ( (This)->lpVtbl -> get_ReleaseNotes(This,retval) ) + +#define IUpdate2_get_SecurityBulletinIDs(This,retval) \ + ( (This)->lpVtbl -> get_SecurityBulletinIDs(This,retval) ) + +#define IUpdate2_get_SupersededUpdateIDs(This,retval) \ + ( (This)->lpVtbl -> get_SupersededUpdateIDs(This,retval) ) + +#define IUpdate2_get_SupportUrl(This,retval) \ + ( (This)->lpVtbl -> get_SupportUrl(This,retval) ) + +#define IUpdate2_get_Type(This,retval) \ + ( (This)->lpVtbl -> get_Type(This,retval) ) + +#define IUpdate2_get_UninstallationNotes(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationNotes(This,retval) ) + +#define IUpdate2_get_UninstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationBehavior(This,retval) ) + +#define IUpdate2_get_UninstallationSteps(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationSteps(This,retval) ) + +#define IUpdate2_get_KBArticleIDs(This,retval) \ + ( (This)->lpVtbl -> get_KBArticleIDs(This,retval) ) + +#define IUpdate2_AcceptEula(This) \ + ( (This)->lpVtbl -> AcceptEula(This) ) + +#define IUpdate2_get_DeploymentAction(This,retval) \ + ( (This)->lpVtbl -> get_DeploymentAction(This,retval) ) + +#define IUpdate2_CopyFromCache(This,path,toExtractCabFiles) \ + ( (This)->lpVtbl -> CopyFromCache(This,path,toExtractCabFiles) ) + +#define IUpdate2_get_DownloadPriority(This,retval) \ + ( (This)->lpVtbl -> get_DownloadPriority(This,retval) ) + +#define IUpdate2_get_DownloadContents(This,retval) \ + ( (This)->lpVtbl -> get_DownloadContents(This,retval) ) + + +#define IUpdate2_get_RebootRequired(This,retval) \ + ( (This)->lpVtbl -> get_RebootRequired(This,retval) ) + +#define IUpdate2_get_IsPresent(This,retval) \ + ( (This)->lpVtbl -> get_IsPresent(This,retval) ) + +#define IUpdate2_get_CveIDs(This,retval) \ + ( (This)->lpVtbl -> get_CveIDs(This,retval) ) + +#define IUpdate2_CopyToCache(This,pFiles) \ + ( (This)->lpVtbl -> CopyToCache(This,pFiles) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdate2_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdate3_INTERFACE_DEFINED__ +#define __IUpdate3_INTERFACE_DEFINED__ + +/* interface IUpdate3 */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdate3; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("112EDA6B-95B3-476F-9D90-AEE82C6B8181") + IUpdate3 : public IUpdate2 + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_BrowseOnly( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdate3Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdate3 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdate3 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdate3 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdate3 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdate3 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdate3 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdate3 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSelectOnWebSites )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BundledUpdates )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanRequireSource )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Categories )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt ICategoryCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Deadline )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentAvailable )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentPreferred )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaAccepted )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaText )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HandlerID )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Identity )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateIdentity **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IImageInformation **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstallationBehavior )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsBeta )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsDownloaded )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsHidden )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IsHidden )( + __RPC__in IUpdate3 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsInstalled )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsMandatory )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsUninstallable )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Languages )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LastDeploymentChangeTime )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxDownloadSize )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinDownloadSize )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MoreInfoUrls )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MsrcSeverity )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedCpuSpeed )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedHardDiskSpace )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedMemory )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReleaseNotes )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecurityBulletinIDs )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupersededUpdateIDs )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupportUrl )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out UpdateType *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationNotes )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationBehavior )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationSteps )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KBArticleIDs )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AcceptEula )( + __RPC__in IUpdate3 * This); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeploymentAction )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out DeploymentAction *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyFromCache )( + __RPC__in IUpdate3 * This, + /* [ref][in] */ __RPC__in BSTR path, + /* [in] */ VARIANT_BOOL toExtractCabFiles); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadPriority )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out DownloadPriority *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadContents )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloadContentCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RebootRequired )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsPresent )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CveIDs )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyToCache )( + __RPC__in IUpdate3 * This, + /* [in] */ __RPC__in_opt IStringCollection *pFiles); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BrowseOnly )( + __RPC__in IUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + END_INTERFACE + } IUpdate3Vtbl; + + interface IUpdate3 + { + CONST_VTBL struct IUpdate3Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdate3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdate3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdate3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdate3_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdate3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdate3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdate3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdate3_get_Title(This,retval) \ + ( (This)->lpVtbl -> get_Title(This,retval) ) + +#define IUpdate3_get_AutoSelectOnWebSites(This,retval) \ + ( (This)->lpVtbl -> get_AutoSelectOnWebSites(This,retval) ) + +#define IUpdate3_get_BundledUpdates(This,retval) \ + ( (This)->lpVtbl -> get_BundledUpdates(This,retval) ) + +#define IUpdate3_get_CanRequireSource(This,retval) \ + ( (This)->lpVtbl -> get_CanRequireSource(This,retval) ) + +#define IUpdate3_get_Categories(This,retval) \ + ( (This)->lpVtbl -> get_Categories(This,retval) ) + +#define IUpdate3_get_Deadline(This,retval) \ + ( (This)->lpVtbl -> get_Deadline(This,retval) ) + +#define IUpdate3_get_DeltaCompressedContentAvailable(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentAvailable(This,retval) ) + +#define IUpdate3_get_DeltaCompressedContentPreferred(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentPreferred(This,retval) ) + +#define IUpdate3_get_Description(This,retval) \ + ( (This)->lpVtbl -> get_Description(This,retval) ) + +#define IUpdate3_get_EulaAccepted(This,retval) \ + ( (This)->lpVtbl -> get_EulaAccepted(This,retval) ) + +#define IUpdate3_get_EulaText(This,retval) \ + ( (This)->lpVtbl -> get_EulaText(This,retval) ) + +#define IUpdate3_get_HandlerID(This,retval) \ + ( (This)->lpVtbl -> get_HandlerID(This,retval) ) + +#define IUpdate3_get_Identity(This,retval) \ + ( (This)->lpVtbl -> get_Identity(This,retval) ) + +#define IUpdate3_get_Image(This,retval) \ + ( (This)->lpVtbl -> get_Image(This,retval) ) + +#define IUpdate3_get_InstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_InstallationBehavior(This,retval) ) + +#define IUpdate3_get_IsBeta(This,retval) \ + ( (This)->lpVtbl -> get_IsBeta(This,retval) ) + +#define IUpdate3_get_IsDownloaded(This,retval) \ + ( (This)->lpVtbl -> get_IsDownloaded(This,retval) ) + +#define IUpdate3_get_IsHidden(This,retval) \ + ( (This)->lpVtbl -> get_IsHidden(This,retval) ) + +#define IUpdate3_put_IsHidden(This,value) \ + ( (This)->lpVtbl -> put_IsHidden(This,value) ) + +#define IUpdate3_get_IsInstalled(This,retval) \ + ( (This)->lpVtbl -> get_IsInstalled(This,retval) ) + +#define IUpdate3_get_IsMandatory(This,retval) \ + ( (This)->lpVtbl -> get_IsMandatory(This,retval) ) + +#define IUpdate3_get_IsUninstallable(This,retval) \ + ( (This)->lpVtbl -> get_IsUninstallable(This,retval) ) + +#define IUpdate3_get_Languages(This,retval) \ + ( (This)->lpVtbl -> get_Languages(This,retval) ) + +#define IUpdate3_get_LastDeploymentChangeTime(This,retval) \ + ( (This)->lpVtbl -> get_LastDeploymentChangeTime(This,retval) ) + +#define IUpdate3_get_MaxDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MaxDownloadSize(This,retval) ) + +#define IUpdate3_get_MinDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MinDownloadSize(This,retval) ) + +#define IUpdate3_get_MoreInfoUrls(This,retval) \ + ( (This)->lpVtbl -> get_MoreInfoUrls(This,retval) ) + +#define IUpdate3_get_MsrcSeverity(This,retval) \ + ( (This)->lpVtbl -> get_MsrcSeverity(This,retval) ) + +#define IUpdate3_get_RecommendedCpuSpeed(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedCpuSpeed(This,retval) ) + +#define IUpdate3_get_RecommendedHardDiskSpace(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedHardDiskSpace(This,retval) ) + +#define IUpdate3_get_RecommendedMemory(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedMemory(This,retval) ) + +#define IUpdate3_get_ReleaseNotes(This,retval) \ + ( (This)->lpVtbl -> get_ReleaseNotes(This,retval) ) + +#define IUpdate3_get_SecurityBulletinIDs(This,retval) \ + ( (This)->lpVtbl -> get_SecurityBulletinIDs(This,retval) ) + +#define IUpdate3_get_SupersededUpdateIDs(This,retval) \ + ( (This)->lpVtbl -> get_SupersededUpdateIDs(This,retval) ) + +#define IUpdate3_get_SupportUrl(This,retval) \ + ( (This)->lpVtbl -> get_SupportUrl(This,retval) ) + +#define IUpdate3_get_Type(This,retval) \ + ( (This)->lpVtbl -> get_Type(This,retval) ) + +#define IUpdate3_get_UninstallationNotes(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationNotes(This,retval) ) + +#define IUpdate3_get_UninstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationBehavior(This,retval) ) + +#define IUpdate3_get_UninstallationSteps(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationSteps(This,retval) ) + +#define IUpdate3_get_KBArticleIDs(This,retval) \ + ( (This)->lpVtbl -> get_KBArticleIDs(This,retval) ) + +#define IUpdate3_AcceptEula(This) \ + ( (This)->lpVtbl -> AcceptEula(This) ) + +#define IUpdate3_get_DeploymentAction(This,retval) \ + ( (This)->lpVtbl -> get_DeploymentAction(This,retval) ) + +#define IUpdate3_CopyFromCache(This,path,toExtractCabFiles) \ + ( (This)->lpVtbl -> CopyFromCache(This,path,toExtractCabFiles) ) + +#define IUpdate3_get_DownloadPriority(This,retval) \ + ( (This)->lpVtbl -> get_DownloadPriority(This,retval) ) + +#define IUpdate3_get_DownloadContents(This,retval) \ + ( (This)->lpVtbl -> get_DownloadContents(This,retval) ) + + +#define IUpdate3_get_RebootRequired(This,retval) \ + ( (This)->lpVtbl -> get_RebootRequired(This,retval) ) + +#define IUpdate3_get_IsPresent(This,retval) \ + ( (This)->lpVtbl -> get_IsPresent(This,retval) ) + +#define IUpdate3_get_CveIDs(This,retval) \ + ( (This)->lpVtbl -> get_CveIDs(This,retval) ) + +#define IUpdate3_CopyToCache(This,pFiles) \ + ( (This)->lpVtbl -> CopyToCache(This,pFiles) ) + + +#define IUpdate3_get_BrowseOnly(This,retval) \ + ( (This)->lpVtbl -> get_BrowseOnly(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdate3_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdate4_INTERFACE_DEFINED__ +#define __IUpdate4_INTERFACE_DEFINED__ + +/* interface IUpdate4 */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdate4; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("27e94b0d-5139-49a2-9a61-93522dc54652") + IUpdate4 : public IUpdate3 + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_PerUser( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdate4Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdate4 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdate4 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdate4 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdate4 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdate4 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdate4 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdate4 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSelectOnWebSites )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BundledUpdates )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanRequireSource )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Categories )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt ICategoryCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Deadline )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentAvailable )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentPreferred )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaAccepted )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaText )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HandlerID )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Identity )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateIdentity **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IImageInformation **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstallationBehavior )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsBeta )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsDownloaded )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsHidden )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IsHidden )( + __RPC__in IUpdate4 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsInstalled )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsMandatory )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsUninstallable )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Languages )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LastDeploymentChangeTime )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxDownloadSize )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinDownloadSize )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MoreInfoUrls )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MsrcSeverity )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedCpuSpeed )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedHardDiskSpace )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedMemory )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReleaseNotes )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecurityBulletinIDs )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupersededUpdateIDs )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupportUrl )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out UpdateType *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationNotes )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationBehavior )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationSteps )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KBArticleIDs )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AcceptEula )( + __RPC__in IUpdate4 * This); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeploymentAction )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out DeploymentAction *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyFromCache )( + __RPC__in IUpdate4 * This, + /* [ref][in] */ __RPC__in BSTR path, + /* [in] */ VARIANT_BOOL toExtractCabFiles); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadPriority )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out DownloadPriority *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadContents )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloadContentCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RebootRequired )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsPresent )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CveIDs )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyToCache )( + __RPC__in IUpdate4 * This, + /* [in] */ __RPC__in_opt IStringCollection *pFiles); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BrowseOnly )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PerUser )( + __RPC__in IUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + END_INTERFACE + } IUpdate4Vtbl; + + interface IUpdate4 + { + CONST_VTBL struct IUpdate4Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdate4_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdate4_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdate4_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdate4_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdate4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdate4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdate4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdate4_get_Title(This,retval) \ + ( (This)->lpVtbl -> get_Title(This,retval) ) + +#define IUpdate4_get_AutoSelectOnWebSites(This,retval) \ + ( (This)->lpVtbl -> get_AutoSelectOnWebSites(This,retval) ) + +#define IUpdate4_get_BundledUpdates(This,retval) \ + ( (This)->lpVtbl -> get_BundledUpdates(This,retval) ) + +#define IUpdate4_get_CanRequireSource(This,retval) \ + ( (This)->lpVtbl -> get_CanRequireSource(This,retval) ) + +#define IUpdate4_get_Categories(This,retval) \ + ( (This)->lpVtbl -> get_Categories(This,retval) ) + +#define IUpdate4_get_Deadline(This,retval) \ + ( (This)->lpVtbl -> get_Deadline(This,retval) ) + +#define IUpdate4_get_DeltaCompressedContentAvailable(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentAvailable(This,retval) ) + +#define IUpdate4_get_DeltaCompressedContentPreferred(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentPreferred(This,retval) ) + +#define IUpdate4_get_Description(This,retval) \ + ( (This)->lpVtbl -> get_Description(This,retval) ) + +#define IUpdate4_get_EulaAccepted(This,retval) \ + ( (This)->lpVtbl -> get_EulaAccepted(This,retval) ) + +#define IUpdate4_get_EulaText(This,retval) \ + ( (This)->lpVtbl -> get_EulaText(This,retval) ) + +#define IUpdate4_get_HandlerID(This,retval) \ + ( (This)->lpVtbl -> get_HandlerID(This,retval) ) + +#define IUpdate4_get_Identity(This,retval) \ + ( (This)->lpVtbl -> get_Identity(This,retval) ) + +#define IUpdate4_get_Image(This,retval) \ + ( (This)->lpVtbl -> get_Image(This,retval) ) + +#define IUpdate4_get_InstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_InstallationBehavior(This,retval) ) + +#define IUpdate4_get_IsBeta(This,retval) \ + ( (This)->lpVtbl -> get_IsBeta(This,retval) ) + +#define IUpdate4_get_IsDownloaded(This,retval) \ + ( (This)->lpVtbl -> get_IsDownloaded(This,retval) ) + +#define IUpdate4_get_IsHidden(This,retval) \ + ( (This)->lpVtbl -> get_IsHidden(This,retval) ) + +#define IUpdate4_put_IsHidden(This,value) \ + ( (This)->lpVtbl -> put_IsHidden(This,value) ) + +#define IUpdate4_get_IsInstalled(This,retval) \ + ( (This)->lpVtbl -> get_IsInstalled(This,retval) ) + +#define IUpdate4_get_IsMandatory(This,retval) \ + ( (This)->lpVtbl -> get_IsMandatory(This,retval) ) + +#define IUpdate4_get_IsUninstallable(This,retval) \ + ( (This)->lpVtbl -> get_IsUninstallable(This,retval) ) + +#define IUpdate4_get_Languages(This,retval) \ + ( (This)->lpVtbl -> get_Languages(This,retval) ) + +#define IUpdate4_get_LastDeploymentChangeTime(This,retval) \ + ( (This)->lpVtbl -> get_LastDeploymentChangeTime(This,retval) ) + +#define IUpdate4_get_MaxDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MaxDownloadSize(This,retval) ) + +#define IUpdate4_get_MinDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MinDownloadSize(This,retval) ) + +#define IUpdate4_get_MoreInfoUrls(This,retval) \ + ( (This)->lpVtbl -> get_MoreInfoUrls(This,retval) ) + +#define IUpdate4_get_MsrcSeverity(This,retval) \ + ( (This)->lpVtbl -> get_MsrcSeverity(This,retval) ) + +#define IUpdate4_get_RecommendedCpuSpeed(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedCpuSpeed(This,retval) ) + +#define IUpdate4_get_RecommendedHardDiskSpace(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedHardDiskSpace(This,retval) ) + +#define IUpdate4_get_RecommendedMemory(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedMemory(This,retval) ) + +#define IUpdate4_get_ReleaseNotes(This,retval) \ + ( (This)->lpVtbl -> get_ReleaseNotes(This,retval) ) + +#define IUpdate4_get_SecurityBulletinIDs(This,retval) \ + ( (This)->lpVtbl -> get_SecurityBulletinIDs(This,retval) ) + +#define IUpdate4_get_SupersededUpdateIDs(This,retval) \ + ( (This)->lpVtbl -> get_SupersededUpdateIDs(This,retval) ) + +#define IUpdate4_get_SupportUrl(This,retval) \ + ( (This)->lpVtbl -> get_SupportUrl(This,retval) ) + +#define IUpdate4_get_Type(This,retval) \ + ( (This)->lpVtbl -> get_Type(This,retval) ) + +#define IUpdate4_get_UninstallationNotes(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationNotes(This,retval) ) + +#define IUpdate4_get_UninstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationBehavior(This,retval) ) + +#define IUpdate4_get_UninstallationSteps(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationSteps(This,retval) ) + +#define IUpdate4_get_KBArticleIDs(This,retval) \ + ( (This)->lpVtbl -> get_KBArticleIDs(This,retval) ) + +#define IUpdate4_AcceptEula(This) \ + ( (This)->lpVtbl -> AcceptEula(This) ) + +#define IUpdate4_get_DeploymentAction(This,retval) \ + ( (This)->lpVtbl -> get_DeploymentAction(This,retval) ) + +#define IUpdate4_CopyFromCache(This,path,toExtractCabFiles) \ + ( (This)->lpVtbl -> CopyFromCache(This,path,toExtractCabFiles) ) + +#define IUpdate4_get_DownloadPriority(This,retval) \ + ( (This)->lpVtbl -> get_DownloadPriority(This,retval) ) + +#define IUpdate4_get_DownloadContents(This,retval) \ + ( (This)->lpVtbl -> get_DownloadContents(This,retval) ) + + +#define IUpdate4_get_RebootRequired(This,retval) \ + ( (This)->lpVtbl -> get_RebootRequired(This,retval) ) + +#define IUpdate4_get_IsPresent(This,retval) \ + ( (This)->lpVtbl -> get_IsPresent(This,retval) ) + +#define IUpdate4_get_CveIDs(This,retval) \ + ( (This)->lpVtbl -> get_CveIDs(This,retval) ) + +#define IUpdate4_CopyToCache(This,pFiles) \ + ( (This)->lpVtbl -> CopyToCache(This,pFiles) ) + + +#define IUpdate4_get_BrowseOnly(This,retval) \ + ( (This)->lpVtbl -> get_BrowseOnly(This,retval) ) + + +#define IUpdate4_get_PerUser(This,retval) \ + ( (This)->lpVtbl -> get_PerUser(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdate4_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdate5_INTERFACE_DEFINED__ +#define __IUpdate5_INTERFACE_DEFINED__ + +/* interface IUpdate5 */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdate5; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("C1C2F21A-D2F4-4902-B5C6-8A081C19A890") + IUpdate5 : public IUpdate4 + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoSelection( + /* [retval][out] */ __RPC__out AutoSelectionMode *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoDownload( + /* [retval][out] */ __RPC__out AutoDownloadMode *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdate5Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdate5 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdate5 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdate5 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdate5 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdate5 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdate5 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdate5 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSelectOnWebSites )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BundledUpdates )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanRequireSource )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Categories )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt ICategoryCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Deadline )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentAvailable )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentPreferred )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaAccepted )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaText )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HandlerID )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Identity )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateIdentity **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IImageInformation **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstallationBehavior )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsBeta )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsDownloaded )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsHidden )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IsHidden )( + __RPC__in IUpdate5 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsInstalled )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsMandatory )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsUninstallable )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Languages )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LastDeploymentChangeTime )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxDownloadSize )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinDownloadSize )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MoreInfoUrls )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MsrcSeverity )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedCpuSpeed )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedHardDiskSpace )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedMemory )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReleaseNotes )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecurityBulletinIDs )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupersededUpdateIDs )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupportUrl )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out UpdateType *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationNotes )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationBehavior )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationSteps )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KBArticleIDs )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AcceptEula )( + __RPC__in IUpdate5 * This); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeploymentAction )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out DeploymentAction *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyFromCache )( + __RPC__in IUpdate5 * This, + /* [ref][in] */ __RPC__in BSTR path, + /* [in] */ VARIANT_BOOL toExtractCabFiles); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadPriority )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out DownloadPriority *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadContents )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloadContentCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RebootRequired )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsPresent )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CveIDs )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyToCache )( + __RPC__in IUpdate5 * This, + /* [in] */ __RPC__in_opt IStringCollection *pFiles); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BrowseOnly )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PerUser )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSelection )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out AutoSelectionMode *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoDownload )( + __RPC__in IUpdate5 * This, + /* [retval][out] */ __RPC__out AutoDownloadMode *retval); + + END_INTERFACE + } IUpdate5Vtbl; + + interface IUpdate5 + { + CONST_VTBL struct IUpdate5Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdate5_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdate5_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdate5_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdate5_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdate5_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdate5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdate5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdate5_get_Title(This,retval) \ + ( (This)->lpVtbl -> get_Title(This,retval) ) + +#define IUpdate5_get_AutoSelectOnWebSites(This,retval) \ + ( (This)->lpVtbl -> get_AutoSelectOnWebSites(This,retval) ) + +#define IUpdate5_get_BundledUpdates(This,retval) \ + ( (This)->lpVtbl -> get_BundledUpdates(This,retval) ) + +#define IUpdate5_get_CanRequireSource(This,retval) \ + ( (This)->lpVtbl -> get_CanRequireSource(This,retval) ) + +#define IUpdate5_get_Categories(This,retval) \ + ( (This)->lpVtbl -> get_Categories(This,retval) ) + +#define IUpdate5_get_Deadline(This,retval) \ + ( (This)->lpVtbl -> get_Deadline(This,retval) ) + +#define IUpdate5_get_DeltaCompressedContentAvailable(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentAvailable(This,retval) ) + +#define IUpdate5_get_DeltaCompressedContentPreferred(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentPreferred(This,retval) ) + +#define IUpdate5_get_Description(This,retval) \ + ( (This)->lpVtbl -> get_Description(This,retval) ) + +#define IUpdate5_get_EulaAccepted(This,retval) \ + ( (This)->lpVtbl -> get_EulaAccepted(This,retval) ) + +#define IUpdate5_get_EulaText(This,retval) \ + ( (This)->lpVtbl -> get_EulaText(This,retval) ) + +#define IUpdate5_get_HandlerID(This,retval) \ + ( (This)->lpVtbl -> get_HandlerID(This,retval) ) + +#define IUpdate5_get_Identity(This,retval) \ + ( (This)->lpVtbl -> get_Identity(This,retval) ) + +#define IUpdate5_get_Image(This,retval) \ + ( (This)->lpVtbl -> get_Image(This,retval) ) + +#define IUpdate5_get_InstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_InstallationBehavior(This,retval) ) + +#define IUpdate5_get_IsBeta(This,retval) \ + ( (This)->lpVtbl -> get_IsBeta(This,retval) ) + +#define IUpdate5_get_IsDownloaded(This,retval) \ + ( (This)->lpVtbl -> get_IsDownloaded(This,retval) ) + +#define IUpdate5_get_IsHidden(This,retval) \ + ( (This)->lpVtbl -> get_IsHidden(This,retval) ) + +#define IUpdate5_put_IsHidden(This,value) \ + ( (This)->lpVtbl -> put_IsHidden(This,value) ) + +#define IUpdate5_get_IsInstalled(This,retval) \ + ( (This)->lpVtbl -> get_IsInstalled(This,retval) ) + +#define IUpdate5_get_IsMandatory(This,retval) \ + ( (This)->lpVtbl -> get_IsMandatory(This,retval) ) + +#define IUpdate5_get_IsUninstallable(This,retval) \ + ( (This)->lpVtbl -> get_IsUninstallable(This,retval) ) + +#define IUpdate5_get_Languages(This,retval) \ + ( (This)->lpVtbl -> get_Languages(This,retval) ) + +#define IUpdate5_get_LastDeploymentChangeTime(This,retval) \ + ( (This)->lpVtbl -> get_LastDeploymentChangeTime(This,retval) ) + +#define IUpdate5_get_MaxDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MaxDownloadSize(This,retval) ) + +#define IUpdate5_get_MinDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MinDownloadSize(This,retval) ) + +#define IUpdate5_get_MoreInfoUrls(This,retval) \ + ( (This)->lpVtbl -> get_MoreInfoUrls(This,retval) ) + +#define IUpdate5_get_MsrcSeverity(This,retval) \ + ( (This)->lpVtbl -> get_MsrcSeverity(This,retval) ) + +#define IUpdate5_get_RecommendedCpuSpeed(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedCpuSpeed(This,retval) ) + +#define IUpdate5_get_RecommendedHardDiskSpace(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedHardDiskSpace(This,retval) ) + +#define IUpdate5_get_RecommendedMemory(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedMemory(This,retval) ) + +#define IUpdate5_get_ReleaseNotes(This,retval) \ + ( (This)->lpVtbl -> get_ReleaseNotes(This,retval) ) + +#define IUpdate5_get_SecurityBulletinIDs(This,retval) \ + ( (This)->lpVtbl -> get_SecurityBulletinIDs(This,retval) ) + +#define IUpdate5_get_SupersededUpdateIDs(This,retval) \ + ( (This)->lpVtbl -> get_SupersededUpdateIDs(This,retval) ) + +#define IUpdate5_get_SupportUrl(This,retval) \ + ( (This)->lpVtbl -> get_SupportUrl(This,retval) ) + +#define IUpdate5_get_Type(This,retval) \ + ( (This)->lpVtbl -> get_Type(This,retval) ) + +#define IUpdate5_get_UninstallationNotes(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationNotes(This,retval) ) + +#define IUpdate5_get_UninstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationBehavior(This,retval) ) + +#define IUpdate5_get_UninstallationSteps(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationSteps(This,retval) ) + +#define IUpdate5_get_KBArticleIDs(This,retval) \ + ( (This)->lpVtbl -> get_KBArticleIDs(This,retval) ) + +#define IUpdate5_AcceptEula(This) \ + ( (This)->lpVtbl -> AcceptEula(This) ) + +#define IUpdate5_get_DeploymentAction(This,retval) \ + ( (This)->lpVtbl -> get_DeploymentAction(This,retval) ) + +#define IUpdate5_CopyFromCache(This,path,toExtractCabFiles) \ + ( (This)->lpVtbl -> CopyFromCache(This,path,toExtractCabFiles) ) + +#define IUpdate5_get_DownloadPriority(This,retval) \ + ( (This)->lpVtbl -> get_DownloadPriority(This,retval) ) + +#define IUpdate5_get_DownloadContents(This,retval) \ + ( (This)->lpVtbl -> get_DownloadContents(This,retval) ) + + +#define IUpdate5_get_RebootRequired(This,retval) \ + ( (This)->lpVtbl -> get_RebootRequired(This,retval) ) + +#define IUpdate5_get_IsPresent(This,retval) \ + ( (This)->lpVtbl -> get_IsPresent(This,retval) ) + +#define IUpdate5_get_CveIDs(This,retval) \ + ( (This)->lpVtbl -> get_CveIDs(This,retval) ) + +#define IUpdate5_CopyToCache(This,pFiles) \ + ( (This)->lpVtbl -> CopyToCache(This,pFiles) ) + + +#define IUpdate5_get_BrowseOnly(This,retval) \ + ( (This)->lpVtbl -> get_BrowseOnly(This,retval) ) + + +#define IUpdate5_get_PerUser(This,retval) \ + ( (This)->lpVtbl -> get_PerUser(This,retval) ) + + +#define IUpdate5_get_AutoSelection(This,retval) \ + ( (This)->lpVtbl -> get_AutoSelection(This,retval) ) + +#define IUpdate5_get_AutoDownload(This,retval) \ + ( (This)->lpVtbl -> get_AutoDownload(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdate5_INTERFACE_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdate2_INTERFACE_DEFINED__ +#define __IWindowsDriverUpdate2_INTERFACE_DEFINED__ + +/* interface IWindowsDriverUpdate2 */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IWindowsDriverUpdate2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("615c4269-7a48-43bd-96b7-bf6ca27d6c3e") + IWindowsDriverUpdate2 : public IWindowsDriverUpdate + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RebootRequired( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsPresent( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_CveIDs( + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CopyToCache( + /* [in] */ __RPC__in_opt IStringCollection *pFiles) = 0; + + }; + +#else /* C style interface */ + + typedef struct IWindowsDriverUpdate2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IWindowsDriverUpdate2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IWindowsDriverUpdate2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IWindowsDriverUpdate2 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSelectOnWebSites )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BundledUpdates )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanRequireSource )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Categories )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt ICategoryCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Deadline )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentAvailable )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentPreferred )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaAccepted )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaText )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HandlerID )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Identity )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateIdentity **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IImageInformation **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstallationBehavior )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsBeta )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsDownloaded )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsHidden )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IsHidden )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsInstalled )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsMandatory )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsUninstallable )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Languages )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LastDeploymentChangeTime )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxDownloadSize )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinDownloadSize )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MoreInfoUrls )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MsrcSeverity )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedCpuSpeed )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedHardDiskSpace )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedMemory )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReleaseNotes )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecurityBulletinIDs )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupersededUpdateIDs )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupportUrl )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out UpdateType *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationNotes )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationBehavior )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationSteps )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KBArticleIDs )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AcceptEula )( + __RPC__in IWindowsDriverUpdate2 * This); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeploymentAction )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out DeploymentAction *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyFromCache )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [ref][in] */ __RPC__in BSTR path, + /* [in] */ VARIANT_BOOL toExtractCabFiles); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadPriority )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out DownloadPriority *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadContents )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloadContentCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverClass )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverHardwareID )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverManufacturer )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverModel )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverProvider )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverVerDate )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceProblemNumber )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceStatus )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RebootRequired )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsPresent )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CveIDs )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyToCache )( + __RPC__in IWindowsDriverUpdate2 * This, + /* [in] */ __RPC__in_opt IStringCollection *pFiles); + + END_INTERFACE + } IWindowsDriverUpdate2Vtbl; + + interface IWindowsDriverUpdate2 + { + CONST_VTBL struct IWindowsDriverUpdate2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IWindowsDriverUpdate2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IWindowsDriverUpdate2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IWindowsDriverUpdate2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IWindowsDriverUpdate2_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IWindowsDriverUpdate2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IWindowsDriverUpdate2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IWindowsDriverUpdate2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IWindowsDriverUpdate2_get_Title(This,retval) \ + ( (This)->lpVtbl -> get_Title(This,retval) ) + +#define IWindowsDriverUpdate2_get_AutoSelectOnWebSites(This,retval) \ + ( (This)->lpVtbl -> get_AutoSelectOnWebSites(This,retval) ) + +#define IWindowsDriverUpdate2_get_BundledUpdates(This,retval) \ + ( (This)->lpVtbl -> get_BundledUpdates(This,retval) ) + +#define IWindowsDriverUpdate2_get_CanRequireSource(This,retval) \ + ( (This)->lpVtbl -> get_CanRequireSource(This,retval) ) + +#define IWindowsDriverUpdate2_get_Categories(This,retval) \ + ( (This)->lpVtbl -> get_Categories(This,retval) ) + +#define IWindowsDriverUpdate2_get_Deadline(This,retval) \ + ( (This)->lpVtbl -> get_Deadline(This,retval) ) + +#define IWindowsDriverUpdate2_get_DeltaCompressedContentAvailable(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentAvailable(This,retval) ) + +#define IWindowsDriverUpdate2_get_DeltaCompressedContentPreferred(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentPreferred(This,retval) ) + +#define IWindowsDriverUpdate2_get_Description(This,retval) \ + ( (This)->lpVtbl -> get_Description(This,retval) ) + +#define IWindowsDriverUpdate2_get_EulaAccepted(This,retval) \ + ( (This)->lpVtbl -> get_EulaAccepted(This,retval) ) + +#define IWindowsDriverUpdate2_get_EulaText(This,retval) \ + ( (This)->lpVtbl -> get_EulaText(This,retval) ) + +#define IWindowsDriverUpdate2_get_HandlerID(This,retval) \ + ( (This)->lpVtbl -> get_HandlerID(This,retval) ) + +#define IWindowsDriverUpdate2_get_Identity(This,retval) \ + ( (This)->lpVtbl -> get_Identity(This,retval) ) + +#define IWindowsDriverUpdate2_get_Image(This,retval) \ + ( (This)->lpVtbl -> get_Image(This,retval) ) + +#define IWindowsDriverUpdate2_get_InstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_InstallationBehavior(This,retval) ) + +#define IWindowsDriverUpdate2_get_IsBeta(This,retval) \ + ( (This)->lpVtbl -> get_IsBeta(This,retval) ) + +#define IWindowsDriverUpdate2_get_IsDownloaded(This,retval) \ + ( (This)->lpVtbl -> get_IsDownloaded(This,retval) ) + +#define IWindowsDriverUpdate2_get_IsHidden(This,retval) \ + ( (This)->lpVtbl -> get_IsHidden(This,retval) ) + +#define IWindowsDriverUpdate2_put_IsHidden(This,value) \ + ( (This)->lpVtbl -> put_IsHidden(This,value) ) + +#define IWindowsDriverUpdate2_get_IsInstalled(This,retval) \ + ( (This)->lpVtbl -> get_IsInstalled(This,retval) ) + +#define IWindowsDriverUpdate2_get_IsMandatory(This,retval) \ + ( (This)->lpVtbl -> get_IsMandatory(This,retval) ) + +#define IWindowsDriverUpdate2_get_IsUninstallable(This,retval) \ + ( (This)->lpVtbl -> get_IsUninstallable(This,retval) ) + +#define IWindowsDriverUpdate2_get_Languages(This,retval) \ + ( (This)->lpVtbl -> get_Languages(This,retval) ) + +#define IWindowsDriverUpdate2_get_LastDeploymentChangeTime(This,retval) \ + ( (This)->lpVtbl -> get_LastDeploymentChangeTime(This,retval) ) + +#define IWindowsDriverUpdate2_get_MaxDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MaxDownloadSize(This,retval) ) + +#define IWindowsDriverUpdate2_get_MinDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MinDownloadSize(This,retval) ) + +#define IWindowsDriverUpdate2_get_MoreInfoUrls(This,retval) \ + ( (This)->lpVtbl -> get_MoreInfoUrls(This,retval) ) + +#define IWindowsDriverUpdate2_get_MsrcSeverity(This,retval) \ + ( (This)->lpVtbl -> get_MsrcSeverity(This,retval) ) + +#define IWindowsDriverUpdate2_get_RecommendedCpuSpeed(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedCpuSpeed(This,retval) ) + +#define IWindowsDriverUpdate2_get_RecommendedHardDiskSpace(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedHardDiskSpace(This,retval) ) + +#define IWindowsDriverUpdate2_get_RecommendedMemory(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedMemory(This,retval) ) + +#define IWindowsDriverUpdate2_get_ReleaseNotes(This,retval) \ + ( (This)->lpVtbl -> get_ReleaseNotes(This,retval) ) + +#define IWindowsDriverUpdate2_get_SecurityBulletinIDs(This,retval) \ + ( (This)->lpVtbl -> get_SecurityBulletinIDs(This,retval) ) + +#define IWindowsDriverUpdate2_get_SupersededUpdateIDs(This,retval) \ + ( (This)->lpVtbl -> get_SupersededUpdateIDs(This,retval) ) + +#define IWindowsDriverUpdate2_get_SupportUrl(This,retval) \ + ( (This)->lpVtbl -> get_SupportUrl(This,retval) ) + +#define IWindowsDriverUpdate2_get_Type(This,retval) \ + ( (This)->lpVtbl -> get_Type(This,retval) ) + +#define IWindowsDriverUpdate2_get_UninstallationNotes(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationNotes(This,retval) ) + +#define IWindowsDriverUpdate2_get_UninstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationBehavior(This,retval) ) + +#define IWindowsDriverUpdate2_get_UninstallationSteps(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationSteps(This,retval) ) + +#define IWindowsDriverUpdate2_get_KBArticleIDs(This,retval) \ + ( (This)->lpVtbl -> get_KBArticleIDs(This,retval) ) + +#define IWindowsDriverUpdate2_AcceptEula(This) \ + ( (This)->lpVtbl -> AcceptEula(This) ) + +#define IWindowsDriverUpdate2_get_DeploymentAction(This,retval) \ + ( (This)->lpVtbl -> get_DeploymentAction(This,retval) ) + +#define IWindowsDriverUpdate2_CopyFromCache(This,path,toExtractCabFiles) \ + ( (This)->lpVtbl -> CopyFromCache(This,path,toExtractCabFiles) ) + +#define IWindowsDriverUpdate2_get_DownloadPriority(This,retval) \ + ( (This)->lpVtbl -> get_DownloadPriority(This,retval) ) + +#define IWindowsDriverUpdate2_get_DownloadContents(This,retval) \ + ( (This)->lpVtbl -> get_DownloadContents(This,retval) ) + + +#define IWindowsDriverUpdate2_get_DriverClass(This,retval) \ + ( (This)->lpVtbl -> get_DriverClass(This,retval) ) + +#define IWindowsDriverUpdate2_get_DriverHardwareID(This,retval) \ + ( (This)->lpVtbl -> get_DriverHardwareID(This,retval) ) + +#define IWindowsDriverUpdate2_get_DriverManufacturer(This,retval) \ + ( (This)->lpVtbl -> get_DriverManufacturer(This,retval) ) + +#define IWindowsDriverUpdate2_get_DriverModel(This,retval) \ + ( (This)->lpVtbl -> get_DriverModel(This,retval) ) + +#define IWindowsDriverUpdate2_get_DriverProvider(This,retval) \ + ( (This)->lpVtbl -> get_DriverProvider(This,retval) ) + +#define IWindowsDriverUpdate2_get_DriverVerDate(This,retval) \ + ( (This)->lpVtbl -> get_DriverVerDate(This,retval) ) + +#define IWindowsDriverUpdate2_get_DeviceProblemNumber(This,retval) \ + ( (This)->lpVtbl -> get_DeviceProblemNumber(This,retval) ) + +#define IWindowsDriverUpdate2_get_DeviceStatus(This,retval) \ + ( (This)->lpVtbl -> get_DeviceStatus(This,retval) ) + + +#define IWindowsDriverUpdate2_get_RebootRequired(This,retval) \ + ( (This)->lpVtbl -> get_RebootRequired(This,retval) ) + +#define IWindowsDriverUpdate2_get_IsPresent(This,retval) \ + ( (This)->lpVtbl -> get_IsPresent(This,retval) ) + +#define IWindowsDriverUpdate2_get_CveIDs(This,retval) \ + ( (This)->lpVtbl -> get_CveIDs(This,retval) ) + +#define IWindowsDriverUpdate2_CopyToCache(This,pFiles) \ + ( (This)->lpVtbl -> CopyToCache(This,pFiles) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IWindowsDriverUpdate2_INTERFACE_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdate3_INTERFACE_DEFINED__ +#define __IWindowsDriverUpdate3_INTERFACE_DEFINED__ + +/* interface IWindowsDriverUpdate3 */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IWindowsDriverUpdate3; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("49EBD502-4A96-41BD-9E3E-4C5057F4250C") + IWindowsDriverUpdate3 : public IWindowsDriverUpdate2 + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_BrowseOnly( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IWindowsDriverUpdate3Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IWindowsDriverUpdate3 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IWindowsDriverUpdate3 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IWindowsDriverUpdate3 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSelectOnWebSites )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BundledUpdates )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanRequireSource )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Categories )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt ICategoryCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Deadline )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentAvailable )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentPreferred )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaAccepted )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaText )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HandlerID )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Identity )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateIdentity **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IImageInformation **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstallationBehavior )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsBeta )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsDownloaded )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsHidden )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IsHidden )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsInstalled )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsMandatory )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsUninstallable )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Languages )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LastDeploymentChangeTime )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxDownloadSize )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinDownloadSize )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MoreInfoUrls )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MsrcSeverity )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedCpuSpeed )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedHardDiskSpace )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedMemory )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReleaseNotes )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecurityBulletinIDs )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupersededUpdateIDs )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupportUrl )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out UpdateType *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationNotes )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationBehavior )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationSteps )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KBArticleIDs )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AcceptEula )( + __RPC__in IWindowsDriverUpdate3 * This); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeploymentAction )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out DeploymentAction *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyFromCache )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [ref][in] */ __RPC__in BSTR path, + /* [in] */ VARIANT_BOOL toExtractCabFiles); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadPriority )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out DownloadPriority *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadContents )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloadContentCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverClass )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverHardwareID )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverManufacturer )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverModel )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverProvider )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverVerDate )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceProblemNumber )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceStatus )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RebootRequired )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsPresent )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CveIDs )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyToCache )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [in] */ __RPC__in_opt IStringCollection *pFiles); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BrowseOnly )( + __RPC__in IWindowsDriverUpdate3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + END_INTERFACE + } IWindowsDriverUpdate3Vtbl; + + interface IWindowsDriverUpdate3 + { + CONST_VTBL struct IWindowsDriverUpdate3Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IWindowsDriverUpdate3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IWindowsDriverUpdate3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IWindowsDriverUpdate3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IWindowsDriverUpdate3_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IWindowsDriverUpdate3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IWindowsDriverUpdate3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IWindowsDriverUpdate3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IWindowsDriverUpdate3_get_Title(This,retval) \ + ( (This)->lpVtbl -> get_Title(This,retval) ) + +#define IWindowsDriverUpdate3_get_AutoSelectOnWebSites(This,retval) \ + ( (This)->lpVtbl -> get_AutoSelectOnWebSites(This,retval) ) + +#define IWindowsDriverUpdate3_get_BundledUpdates(This,retval) \ + ( (This)->lpVtbl -> get_BundledUpdates(This,retval) ) + +#define IWindowsDriverUpdate3_get_CanRequireSource(This,retval) \ + ( (This)->lpVtbl -> get_CanRequireSource(This,retval) ) + +#define IWindowsDriverUpdate3_get_Categories(This,retval) \ + ( (This)->lpVtbl -> get_Categories(This,retval) ) + +#define IWindowsDriverUpdate3_get_Deadline(This,retval) \ + ( (This)->lpVtbl -> get_Deadline(This,retval) ) + +#define IWindowsDriverUpdate3_get_DeltaCompressedContentAvailable(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentAvailable(This,retval) ) + +#define IWindowsDriverUpdate3_get_DeltaCompressedContentPreferred(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentPreferred(This,retval) ) + +#define IWindowsDriverUpdate3_get_Description(This,retval) \ + ( (This)->lpVtbl -> get_Description(This,retval) ) + +#define IWindowsDriverUpdate3_get_EulaAccepted(This,retval) \ + ( (This)->lpVtbl -> get_EulaAccepted(This,retval) ) + +#define IWindowsDriverUpdate3_get_EulaText(This,retval) \ + ( (This)->lpVtbl -> get_EulaText(This,retval) ) + +#define IWindowsDriverUpdate3_get_HandlerID(This,retval) \ + ( (This)->lpVtbl -> get_HandlerID(This,retval) ) + +#define IWindowsDriverUpdate3_get_Identity(This,retval) \ + ( (This)->lpVtbl -> get_Identity(This,retval) ) + +#define IWindowsDriverUpdate3_get_Image(This,retval) \ + ( (This)->lpVtbl -> get_Image(This,retval) ) + +#define IWindowsDriverUpdate3_get_InstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_InstallationBehavior(This,retval) ) + +#define IWindowsDriverUpdate3_get_IsBeta(This,retval) \ + ( (This)->lpVtbl -> get_IsBeta(This,retval) ) + +#define IWindowsDriverUpdate3_get_IsDownloaded(This,retval) \ + ( (This)->lpVtbl -> get_IsDownloaded(This,retval) ) + +#define IWindowsDriverUpdate3_get_IsHidden(This,retval) \ + ( (This)->lpVtbl -> get_IsHidden(This,retval) ) + +#define IWindowsDriverUpdate3_put_IsHidden(This,value) \ + ( (This)->lpVtbl -> put_IsHidden(This,value) ) + +#define IWindowsDriverUpdate3_get_IsInstalled(This,retval) \ + ( (This)->lpVtbl -> get_IsInstalled(This,retval) ) + +#define IWindowsDriverUpdate3_get_IsMandatory(This,retval) \ + ( (This)->lpVtbl -> get_IsMandatory(This,retval) ) + +#define IWindowsDriverUpdate3_get_IsUninstallable(This,retval) \ + ( (This)->lpVtbl -> get_IsUninstallable(This,retval) ) + +#define IWindowsDriverUpdate3_get_Languages(This,retval) \ + ( (This)->lpVtbl -> get_Languages(This,retval) ) + +#define IWindowsDriverUpdate3_get_LastDeploymentChangeTime(This,retval) \ + ( (This)->lpVtbl -> get_LastDeploymentChangeTime(This,retval) ) + +#define IWindowsDriverUpdate3_get_MaxDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MaxDownloadSize(This,retval) ) + +#define IWindowsDriverUpdate3_get_MinDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MinDownloadSize(This,retval) ) + +#define IWindowsDriverUpdate3_get_MoreInfoUrls(This,retval) \ + ( (This)->lpVtbl -> get_MoreInfoUrls(This,retval) ) + +#define IWindowsDriverUpdate3_get_MsrcSeverity(This,retval) \ + ( (This)->lpVtbl -> get_MsrcSeverity(This,retval) ) + +#define IWindowsDriverUpdate3_get_RecommendedCpuSpeed(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedCpuSpeed(This,retval) ) + +#define IWindowsDriverUpdate3_get_RecommendedHardDiskSpace(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedHardDiskSpace(This,retval) ) + +#define IWindowsDriverUpdate3_get_RecommendedMemory(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedMemory(This,retval) ) + +#define IWindowsDriverUpdate3_get_ReleaseNotes(This,retval) \ + ( (This)->lpVtbl -> get_ReleaseNotes(This,retval) ) + +#define IWindowsDriverUpdate3_get_SecurityBulletinIDs(This,retval) \ + ( (This)->lpVtbl -> get_SecurityBulletinIDs(This,retval) ) + +#define IWindowsDriverUpdate3_get_SupersededUpdateIDs(This,retval) \ + ( (This)->lpVtbl -> get_SupersededUpdateIDs(This,retval) ) + +#define IWindowsDriverUpdate3_get_SupportUrl(This,retval) \ + ( (This)->lpVtbl -> get_SupportUrl(This,retval) ) + +#define IWindowsDriverUpdate3_get_Type(This,retval) \ + ( (This)->lpVtbl -> get_Type(This,retval) ) + +#define IWindowsDriverUpdate3_get_UninstallationNotes(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationNotes(This,retval) ) + +#define IWindowsDriverUpdate3_get_UninstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationBehavior(This,retval) ) + +#define IWindowsDriverUpdate3_get_UninstallationSteps(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationSteps(This,retval) ) + +#define IWindowsDriverUpdate3_get_KBArticleIDs(This,retval) \ + ( (This)->lpVtbl -> get_KBArticleIDs(This,retval) ) + +#define IWindowsDriverUpdate3_AcceptEula(This) \ + ( (This)->lpVtbl -> AcceptEula(This) ) + +#define IWindowsDriverUpdate3_get_DeploymentAction(This,retval) \ + ( (This)->lpVtbl -> get_DeploymentAction(This,retval) ) + +#define IWindowsDriverUpdate3_CopyFromCache(This,path,toExtractCabFiles) \ + ( (This)->lpVtbl -> CopyFromCache(This,path,toExtractCabFiles) ) + +#define IWindowsDriverUpdate3_get_DownloadPriority(This,retval) \ + ( (This)->lpVtbl -> get_DownloadPriority(This,retval) ) + +#define IWindowsDriverUpdate3_get_DownloadContents(This,retval) \ + ( (This)->lpVtbl -> get_DownloadContents(This,retval) ) + + +#define IWindowsDriverUpdate3_get_DriverClass(This,retval) \ + ( (This)->lpVtbl -> get_DriverClass(This,retval) ) + +#define IWindowsDriverUpdate3_get_DriverHardwareID(This,retval) \ + ( (This)->lpVtbl -> get_DriverHardwareID(This,retval) ) + +#define IWindowsDriverUpdate3_get_DriverManufacturer(This,retval) \ + ( (This)->lpVtbl -> get_DriverManufacturer(This,retval) ) + +#define IWindowsDriverUpdate3_get_DriverModel(This,retval) \ + ( (This)->lpVtbl -> get_DriverModel(This,retval) ) + +#define IWindowsDriverUpdate3_get_DriverProvider(This,retval) \ + ( (This)->lpVtbl -> get_DriverProvider(This,retval) ) + +#define IWindowsDriverUpdate3_get_DriverVerDate(This,retval) \ + ( (This)->lpVtbl -> get_DriverVerDate(This,retval) ) + +#define IWindowsDriverUpdate3_get_DeviceProblemNumber(This,retval) \ + ( (This)->lpVtbl -> get_DeviceProblemNumber(This,retval) ) + +#define IWindowsDriverUpdate3_get_DeviceStatus(This,retval) \ + ( (This)->lpVtbl -> get_DeviceStatus(This,retval) ) + + +#define IWindowsDriverUpdate3_get_RebootRequired(This,retval) \ + ( (This)->lpVtbl -> get_RebootRequired(This,retval) ) + +#define IWindowsDriverUpdate3_get_IsPresent(This,retval) \ + ( (This)->lpVtbl -> get_IsPresent(This,retval) ) + +#define IWindowsDriverUpdate3_get_CveIDs(This,retval) \ + ( (This)->lpVtbl -> get_CveIDs(This,retval) ) + +#define IWindowsDriverUpdate3_CopyToCache(This,pFiles) \ + ( (This)->lpVtbl -> CopyToCache(This,pFiles) ) + + +#define IWindowsDriverUpdate3_get_BrowseOnly(This,retval) \ + ( (This)->lpVtbl -> get_BrowseOnly(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IWindowsDriverUpdate3_INTERFACE_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdateEntry_INTERFACE_DEFINED__ +#define __IWindowsDriverUpdateEntry_INTERFACE_DEFINED__ + +/* interface IWindowsDriverUpdateEntry */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IWindowsDriverUpdateEntry; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("ED8BFE40-A60B-42ea-9652-817DFCFA23EC") + IWindowsDriverUpdateEntry : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DriverClass( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DriverHardwareID( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DriverManufacturer( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DriverModel( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DriverProvider( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DriverVerDate( + /* [retval][out] */ __RPC__out DATE *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DeviceProblemNumber( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DeviceStatus( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IWindowsDriverUpdateEntryVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IWindowsDriverUpdateEntry * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IWindowsDriverUpdateEntry * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IWindowsDriverUpdateEntry * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IWindowsDriverUpdateEntry * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IWindowsDriverUpdateEntry * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IWindowsDriverUpdateEntry * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IWindowsDriverUpdateEntry * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverClass )( + __RPC__in IWindowsDriverUpdateEntry * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverHardwareID )( + __RPC__in IWindowsDriverUpdateEntry * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverManufacturer )( + __RPC__in IWindowsDriverUpdateEntry * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverModel )( + __RPC__in IWindowsDriverUpdateEntry * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverProvider )( + __RPC__in IWindowsDriverUpdateEntry * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverVerDate )( + __RPC__in IWindowsDriverUpdateEntry * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceProblemNumber )( + __RPC__in IWindowsDriverUpdateEntry * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceStatus )( + __RPC__in IWindowsDriverUpdateEntry * This, + /* [retval][out] */ __RPC__out LONG *retval); + + END_INTERFACE + } IWindowsDriverUpdateEntryVtbl; + + interface IWindowsDriverUpdateEntry + { + CONST_VTBL struct IWindowsDriverUpdateEntryVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IWindowsDriverUpdateEntry_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IWindowsDriverUpdateEntry_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IWindowsDriverUpdateEntry_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IWindowsDriverUpdateEntry_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IWindowsDriverUpdateEntry_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IWindowsDriverUpdateEntry_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IWindowsDriverUpdateEntry_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IWindowsDriverUpdateEntry_get_DriverClass(This,retval) \ + ( (This)->lpVtbl -> get_DriverClass(This,retval) ) + +#define IWindowsDriverUpdateEntry_get_DriverHardwareID(This,retval) \ + ( (This)->lpVtbl -> get_DriverHardwareID(This,retval) ) + +#define IWindowsDriverUpdateEntry_get_DriverManufacturer(This,retval) \ + ( (This)->lpVtbl -> get_DriverManufacturer(This,retval) ) + +#define IWindowsDriverUpdateEntry_get_DriverModel(This,retval) \ + ( (This)->lpVtbl -> get_DriverModel(This,retval) ) + +#define IWindowsDriverUpdateEntry_get_DriverProvider(This,retval) \ + ( (This)->lpVtbl -> get_DriverProvider(This,retval) ) + +#define IWindowsDriverUpdateEntry_get_DriverVerDate(This,retval) \ + ( (This)->lpVtbl -> get_DriverVerDate(This,retval) ) + +#define IWindowsDriverUpdateEntry_get_DeviceProblemNumber(This,retval) \ + ( (This)->lpVtbl -> get_DeviceProblemNumber(This,retval) ) + +#define IWindowsDriverUpdateEntry_get_DeviceStatus(This,retval) \ + ( (This)->lpVtbl -> get_DeviceStatus(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IWindowsDriverUpdateEntry_INTERFACE_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdateEntryCollection_INTERFACE_DEFINED__ +#define __IWindowsDriverUpdateEntryCollection_INTERFACE_DEFINED__ + +/* interface IWindowsDriverUpdateEntryCollection */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IWindowsDriverUpdateEntryCollection; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("0D521700-A372-4bef-828B-3D00C10ADEBD") + IWindowsDriverUpdateEntryCollection : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( + /* [in] */ LONG index, + /* [retval][out] */ __RPC__deref_out_opt IWindowsDriverUpdateEntry **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IWindowsDriverUpdateEntryCollectionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IWindowsDriverUpdateEntryCollection * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IWindowsDriverUpdateEntryCollection * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IWindowsDriverUpdateEntryCollection * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IWindowsDriverUpdateEntryCollection * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IWindowsDriverUpdateEntryCollection * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IWindowsDriverUpdateEntryCollection * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IWindowsDriverUpdateEntryCollection * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( + __RPC__in IWindowsDriverUpdateEntryCollection * This, + /* [in] */ LONG index, + /* [retval][out] */ __RPC__deref_out_opt IWindowsDriverUpdateEntry **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( + __RPC__in IWindowsDriverUpdateEntryCollection * This, + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( + __RPC__in IWindowsDriverUpdateEntryCollection * This, + /* [retval][out] */ __RPC__out LONG *retval); + + END_INTERFACE + } IWindowsDriverUpdateEntryCollectionVtbl; + + interface IWindowsDriverUpdateEntryCollection + { + CONST_VTBL struct IWindowsDriverUpdateEntryCollectionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IWindowsDriverUpdateEntryCollection_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IWindowsDriverUpdateEntryCollection_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IWindowsDriverUpdateEntryCollection_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IWindowsDriverUpdateEntryCollection_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IWindowsDriverUpdateEntryCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IWindowsDriverUpdateEntryCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IWindowsDriverUpdateEntryCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IWindowsDriverUpdateEntryCollection_get_Item(This,index,retval) \ + ( (This)->lpVtbl -> get_Item(This,index,retval) ) + +#define IWindowsDriverUpdateEntryCollection_get__NewEnum(This,retval) \ + ( (This)->lpVtbl -> get__NewEnum(This,retval) ) + +#define IWindowsDriverUpdateEntryCollection_get_Count(This,retval) \ + ( (This)->lpVtbl -> get_Count(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IWindowsDriverUpdateEntryCollection_INTERFACE_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdate4_INTERFACE_DEFINED__ +#define __IWindowsDriverUpdate4_INTERFACE_DEFINED__ + +/* interface IWindowsDriverUpdate4 */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IWindowsDriverUpdate4; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("004C6A2B-0C19-4c69-9F5C-A269B2560DB9") + IWindowsDriverUpdate4 : public IWindowsDriverUpdate3 + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_WindowsDriverUpdateEntries( + /* [retval][out] */ __RPC__deref_out_opt IWindowsDriverUpdateEntryCollection **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_PerUser( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IWindowsDriverUpdate4Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IWindowsDriverUpdate4 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IWindowsDriverUpdate4 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IWindowsDriverUpdate4 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSelectOnWebSites )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BundledUpdates )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanRequireSource )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Categories )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt ICategoryCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Deadline )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentAvailable )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentPreferred )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaAccepted )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaText )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HandlerID )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Identity )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateIdentity **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IImageInformation **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstallationBehavior )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsBeta )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsDownloaded )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsHidden )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IsHidden )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsInstalled )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsMandatory )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsUninstallable )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Languages )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LastDeploymentChangeTime )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxDownloadSize )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinDownloadSize )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MoreInfoUrls )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MsrcSeverity )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedCpuSpeed )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedHardDiskSpace )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedMemory )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReleaseNotes )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecurityBulletinIDs )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupersededUpdateIDs )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupportUrl )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out UpdateType *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationNotes )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationBehavior )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationSteps )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KBArticleIDs )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AcceptEula )( + __RPC__in IWindowsDriverUpdate4 * This); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeploymentAction )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out DeploymentAction *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyFromCache )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [ref][in] */ __RPC__in BSTR path, + /* [in] */ VARIANT_BOOL toExtractCabFiles); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadPriority )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out DownloadPriority *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadContents )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloadContentCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverClass )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverHardwareID )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverManufacturer )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverModel )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverProvider )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverVerDate )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceProblemNumber )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceStatus )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RebootRequired )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsPresent )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CveIDs )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyToCache )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [in] */ __RPC__in_opt IStringCollection *pFiles); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BrowseOnly )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WindowsDriverUpdateEntries )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__deref_out_opt IWindowsDriverUpdateEntryCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PerUser )( + __RPC__in IWindowsDriverUpdate4 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + END_INTERFACE + } IWindowsDriverUpdate4Vtbl; + + interface IWindowsDriverUpdate4 + { + CONST_VTBL struct IWindowsDriverUpdate4Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IWindowsDriverUpdate4_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IWindowsDriverUpdate4_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IWindowsDriverUpdate4_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IWindowsDriverUpdate4_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IWindowsDriverUpdate4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IWindowsDriverUpdate4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IWindowsDriverUpdate4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IWindowsDriverUpdate4_get_Title(This,retval) \ + ( (This)->lpVtbl -> get_Title(This,retval) ) + +#define IWindowsDriverUpdate4_get_AutoSelectOnWebSites(This,retval) \ + ( (This)->lpVtbl -> get_AutoSelectOnWebSites(This,retval) ) + +#define IWindowsDriverUpdate4_get_BundledUpdates(This,retval) \ + ( (This)->lpVtbl -> get_BundledUpdates(This,retval) ) + +#define IWindowsDriverUpdate4_get_CanRequireSource(This,retval) \ + ( (This)->lpVtbl -> get_CanRequireSource(This,retval) ) + +#define IWindowsDriverUpdate4_get_Categories(This,retval) \ + ( (This)->lpVtbl -> get_Categories(This,retval) ) + +#define IWindowsDriverUpdate4_get_Deadline(This,retval) \ + ( (This)->lpVtbl -> get_Deadline(This,retval) ) + +#define IWindowsDriverUpdate4_get_DeltaCompressedContentAvailable(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentAvailable(This,retval) ) + +#define IWindowsDriverUpdate4_get_DeltaCompressedContentPreferred(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentPreferred(This,retval) ) + +#define IWindowsDriverUpdate4_get_Description(This,retval) \ + ( (This)->lpVtbl -> get_Description(This,retval) ) + +#define IWindowsDriverUpdate4_get_EulaAccepted(This,retval) \ + ( (This)->lpVtbl -> get_EulaAccepted(This,retval) ) + +#define IWindowsDriverUpdate4_get_EulaText(This,retval) \ + ( (This)->lpVtbl -> get_EulaText(This,retval) ) + +#define IWindowsDriverUpdate4_get_HandlerID(This,retval) \ + ( (This)->lpVtbl -> get_HandlerID(This,retval) ) + +#define IWindowsDriverUpdate4_get_Identity(This,retval) \ + ( (This)->lpVtbl -> get_Identity(This,retval) ) + +#define IWindowsDriverUpdate4_get_Image(This,retval) \ + ( (This)->lpVtbl -> get_Image(This,retval) ) + +#define IWindowsDriverUpdate4_get_InstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_InstallationBehavior(This,retval) ) + +#define IWindowsDriverUpdate4_get_IsBeta(This,retval) \ + ( (This)->lpVtbl -> get_IsBeta(This,retval) ) + +#define IWindowsDriverUpdate4_get_IsDownloaded(This,retval) \ + ( (This)->lpVtbl -> get_IsDownloaded(This,retval) ) + +#define IWindowsDriverUpdate4_get_IsHidden(This,retval) \ + ( (This)->lpVtbl -> get_IsHidden(This,retval) ) + +#define IWindowsDriverUpdate4_put_IsHidden(This,value) \ + ( (This)->lpVtbl -> put_IsHidden(This,value) ) + +#define IWindowsDriverUpdate4_get_IsInstalled(This,retval) \ + ( (This)->lpVtbl -> get_IsInstalled(This,retval) ) + +#define IWindowsDriverUpdate4_get_IsMandatory(This,retval) \ + ( (This)->lpVtbl -> get_IsMandatory(This,retval) ) + +#define IWindowsDriverUpdate4_get_IsUninstallable(This,retval) \ + ( (This)->lpVtbl -> get_IsUninstallable(This,retval) ) + +#define IWindowsDriverUpdate4_get_Languages(This,retval) \ + ( (This)->lpVtbl -> get_Languages(This,retval) ) + +#define IWindowsDriverUpdate4_get_LastDeploymentChangeTime(This,retval) \ + ( (This)->lpVtbl -> get_LastDeploymentChangeTime(This,retval) ) + +#define IWindowsDriverUpdate4_get_MaxDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MaxDownloadSize(This,retval) ) + +#define IWindowsDriverUpdate4_get_MinDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MinDownloadSize(This,retval) ) + +#define IWindowsDriverUpdate4_get_MoreInfoUrls(This,retval) \ + ( (This)->lpVtbl -> get_MoreInfoUrls(This,retval) ) + +#define IWindowsDriverUpdate4_get_MsrcSeverity(This,retval) \ + ( (This)->lpVtbl -> get_MsrcSeverity(This,retval) ) + +#define IWindowsDriverUpdate4_get_RecommendedCpuSpeed(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedCpuSpeed(This,retval) ) + +#define IWindowsDriverUpdate4_get_RecommendedHardDiskSpace(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedHardDiskSpace(This,retval) ) + +#define IWindowsDriverUpdate4_get_RecommendedMemory(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedMemory(This,retval) ) + +#define IWindowsDriverUpdate4_get_ReleaseNotes(This,retval) \ + ( (This)->lpVtbl -> get_ReleaseNotes(This,retval) ) + +#define IWindowsDriverUpdate4_get_SecurityBulletinIDs(This,retval) \ + ( (This)->lpVtbl -> get_SecurityBulletinIDs(This,retval) ) + +#define IWindowsDriverUpdate4_get_SupersededUpdateIDs(This,retval) \ + ( (This)->lpVtbl -> get_SupersededUpdateIDs(This,retval) ) + +#define IWindowsDriverUpdate4_get_SupportUrl(This,retval) \ + ( (This)->lpVtbl -> get_SupportUrl(This,retval) ) + +#define IWindowsDriverUpdate4_get_Type(This,retval) \ + ( (This)->lpVtbl -> get_Type(This,retval) ) + +#define IWindowsDriverUpdate4_get_UninstallationNotes(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationNotes(This,retval) ) + +#define IWindowsDriverUpdate4_get_UninstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationBehavior(This,retval) ) + +#define IWindowsDriverUpdate4_get_UninstallationSteps(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationSteps(This,retval) ) + +#define IWindowsDriverUpdate4_get_KBArticleIDs(This,retval) \ + ( (This)->lpVtbl -> get_KBArticleIDs(This,retval) ) + +#define IWindowsDriverUpdate4_AcceptEula(This) \ + ( (This)->lpVtbl -> AcceptEula(This) ) + +#define IWindowsDriverUpdate4_get_DeploymentAction(This,retval) \ + ( (This)->lpVtbl -> get_DeploymentAction(This,retval) ) + +#define IWindowsDriverUpdate4_CopyFromCache(This,path,toExtractCabFiles) \ + ( (This)->lpVtbl -> CopyFromCache(This,path,toExtractCabFiles) ) + +#define IWindowsDriverUpdate4_get_DownloadPriority(This,retval) \ + ( (This)->lpVtbl -> get_DownloadPriority(This,retval) ) + +#define IWindowsDriverUpdate4_get_DownloadContents(This,retval) \ + ( (This)->lpVtbl -> get_DownloadContents(This,retval) ) + + +#define IWindowsDriverUpdate4_get_DriverClass(This,retval) \ + ( (This)->lpVtbl -> get_DriverClass(This,retval) ) + +#define IWindowsDriverUpdate4_get_DriverHardwareID(This,retval) \ + ( (This)->lpVtbl -> get_DriverHardwareID(This,retval) ) + +#define IWindowsDriverUpdate4_get_DriverManufacturer(This,retval) \ + ( (This)->lpVtbl -> get_DriverManufacturer(This,retval) ) + +#define IWindowsDriverUpdate4_get_DriverModel(This,retval) \ + ( (This)->lpVtbl -> get_DriverModel(This,retval) ) + +#define IWindowsDriverUpdate4_get_DriverProvider(This,retval) \ + ( (This)->lpVtbl -> get_DriverProvider(This,retval) ) + +#define IWindowsDriverUpdate4_get_DriverVerDate(This,retval) \ + ( (This)->lpVtbl -> get_DriverVerDate(This,retval) ) + +#define IWindowsDriverUpdate4_get_DeviceProblemNumber(This,retval) \ + ( (This)->lpVtbl -> get_DeviceProblemNumber(This,retval) ) + +#define IWindowsDriverUpdate4_get_DeviceStatus(This,retval) \ + ( (This)->lpVtbl -> get_DeviceStatus(This,retval) ) + + +#define IWindowsDriverUpdate4_get_RebootRequired(This,retval) \ + ( (This)->lpVtbl -> get_RebootRequired(This,retval) ) + +#define IWindowsDriverUpdate4_get_IsPresent(This,retval) \ + ( (This)->lpVtbl -> get_IsPresent(This,retval) ) + +#define IWindowsDriverUpdate4_get_CveIDs(This,retval) \ + ( (This)->lpVtbl -> get_CveIDs(This,retval) ) + +#define IWindowsDriverUpdate4_CopyToCache(This,pFiles) \ + ( (This)->lpVtbl -> CopyToCache(This,pFiles) ) + + +#define IWindowsDriverUpdate4_get_BrowseOnly(This,retval) \ + ( (This)->lpVtbl -> get_BrowseOnly(This,retval) ) + + +#define IWindowsDriverUpdate4_get_WindowsDriverUpdateEntries(This,retval) \ + ( (This)->lpVtbl -> get_WindowsDriverUpdateEntries(This,retval) ) + +#define IWindowsDriverUpdate4_get_PerUser(This,retval) \ + ( (This)->lpVtbl -> get_PerUser(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IWindowsDriverUpdate4_INTERFACE_DEFINED__ */ + + +#ifndef __IWindowsDriverUpdate5_INTERFACE_DEFINED__ +#define __IWindowsDriverUpdate5_INTERFACE_DEFINED__ + +/* interface IWindowsDriverUpdate5 */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IWindowsDriverUpdate5; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("70CF5C82-8642-42bb-9DBC-0CFD263C6C4F") + IWindowsDriverUpdate5 : public IWindowsDriverUpdate4 + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoSelection( + /* [retval][out] */ __RPC__out AutoSelectionMode *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoDownload( + /* [retval][out] */ __RPC__out AutoDownloadMode *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IWindowsDriverUpdate5Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IWindowsDriverUpdate5 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IWindowsDriverUpdate5 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IWindowsDriverUpdate5 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSelectOnWebSites )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BundledUpdates )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanRequireSource )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Categories )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt ICategoryCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Deadline )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentAvailable )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeltaCompressedContentPreferred )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaAccepted )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EulaText )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HandlerID )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Identity )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateIdentity **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IImageInformation **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstallationBehavior )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsBeta )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsDownloaded )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsHidden )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IsHidden )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsInstalled )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsMandatory )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsUninstallable )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Languages )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LastDeploymentChangeTime )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxDownloadSize )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinDownloadSize )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MoreInfoUrls )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MsrcSeverity )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedCpuSpeed )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedHardDiskSpace )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedMemory )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReleaseNotes )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecurityBulletinIDs )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupersededUpdateIDs )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupportUrl )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out UpdateType *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationNotes )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationBehavior )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationBehavior **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationSteps )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KBArticleIDs )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AcceptEula )( + __RPC__in IWindowsDriverUpdate5 * This); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeploymentAction )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out DeploymentAction *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyFromCache )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [ref][in] */ __RPC__in BSTR path, + /* [in] */ VARIANT_BOOL toExtractCabFiles); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadPriority )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out DownloadPriority *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadContents )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloadContentCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverClass )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverHardwareID )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverManufacturer )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverModel )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverProvider )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DriverVerDate )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceProblemNumber )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceStatus )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RebootRequired )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsPresent )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CveIDs )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyToCache )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [in] */ __RPC__in_opt IStringCollection *pFiles); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BrowseOnly )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WindowsDriverUpdateEntries )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__deref_out_opt IWindowsDriverUpdateEntryCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PerUser )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSelection )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out AutoSelectionMode *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoDownload )( + __RPC__in IWindowsDriverUpdate5 * This, + /* [retval][out] */ __RPC__out AutoDownloadMode *retval); + + END_INTERFACE + } IWindowsDriverUpdate5Vtbl; + + interface IWindowsDriverUpdate5 + { + CONST_VTBL struct IWindowsDriverUpdate5Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IWindowsDriverUpdate5_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IWindowsDriverUpdate5_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IWindowsDriverUpdate5_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IWindowsDriverUpdate5_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IWindowsDriverUpdate5_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IWindowsDriverUpdate5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IWindowsDriverUpdate5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IWindowsDriverUpdate5_get_Title(This,retval) \ + ( (This)->lpVtbl -> get_Title(This,retval) ) + +#define IWindowsDriverUpdate5_get_AutoSelectOnWebSites(This,retval) \ + ( (This)->lpVtbl -> get_AutoSelectOnWebSites(This,retval) ) + +#define IWindowsDriverUpdate5_get_BundledUpdates(This,retval) \ + ( (This)->lpVtbl -> get_BundledUpdates(This,retval) ) + +#define IWindowsDriverUpdate5_get_CanRequireSource(This,retval) \ + ( (This)->lpVtbl -> get_CanRequireSource(This,retval) ) + +#define IWindowsDriverUpdate5_get_Categories(This,retval) \ + ( (This)->lpVtbl -> get_Categories(This,retval) ) + +#define IWindowsDriverUpdate5_get_Deadline(This,retval) \ + ( (This)->lpVtbl -> get_Deadline(This,retval) ) + +#define IWindowsDriverUpdate5_get_DeltaCompressedContentAvailable(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentAvailable(This,retval) ) + +#define IWindowsDriverUpdate5_get_DeltaCompressedContentPreferred(This,retval) \ + ( (This)->lpVtbl -> get_DeltaCompressedContentPreferred(This,retval) ) + +#define IWindowsDriverUpdate5_get_Description(This,retval) \ + ( (This)->lpVtbl -> get_Description(This,retval) ) + +#define IWindowsDriverUpdate5_get_EulaAccepted(This,retval) \ + ( (This)->lpVtbl -> get_EulaAccepted(This,retval) ) + +#define IWindowsDriverUpdate5_get_EulaText(This,retval) \ + ( (This)->lpVtbl -> get_EulaText(This,retval) ) + +#define IWindowsDriverUpdate5_get_HandlerID(This,retval) \ + ( (This)->lpVtbl -> get_HandlerID(This,retval) ) + +#define IWindowsDriverUpdate5_get_Identity(This,retval) \ + ( (This)->lpVtbl -> get_Identity(This,retval) ) + +#define IWindowsDriverUpdate5_get_Image(This,retval) \ + ( (This)->lpVtbl -> get_Image(This,retval) ) + +#define IWindowsDriverUpdate5_get_InstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_InstallationBehavior(This,retval) ) + +#define IWindowsDriverUpdate5_get_IsBeta(This,retval) \ + ( (This)->lpVtbl -> get_IsBeta(This,retval) ) + +#define IWindowsDriverUpdate5_get_IsDownloaded(This,retval) \ + ( (This)->lpVtbl -> get_IsDownloaded(This,retval) ) + +#define IWindowsDriverUpdate5_get_IsHidden(This,retval) \ + ( (This)->lpVtbl -> get_IsHidden(This,retval) ) + +#define IWindowsDriverUpdate5_put_IsHidden(This,value) \ + ( (This)->lpVtbl -> put_IsHidden(This,value) ) + +#define IWindowsDriverUpdate5_get_IsInstalled(This,retval) \ + ( (This)->lpVtbl -> get_IsInstalled(This,retval) ) + +#define IWindowsDriverUpdate5_get_IsMandatory(This,retval) \ + ( (This)->lpVtbl -> get_IsMandatory(This,retval) ) + +#define IWindowsDriverUpdate5_get_IsUninstallable(This,retval) \ + ( (This)->lpVtbl -> get_IsUninstallable(This,retval) ) + +#define IWindowsDriverUpdate5_get_Languages(This,retval) \ + ( (This)->lpVtbl -> get_Languages(This,retval) ) + +#define IWindowsDriverUpdate5_get_LastDeploymentChangeTime(This,retval) \ + ( (This)->lpVtbl -> get_LastDeploymentChangeTime(This,retval) ) + +#define IWindowsDriverUpdate5_get_MaxDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MaxDownloadSize(This,retval) ) + +#define IWindowsDriverUpdate5_get_MinDownloadSize(This,retval) \ + ( (This)->lpVtbl -> get_MinDownloadSize(This,retval) ) + +#define IWindowsDriverUpdate5_get_MoreInfoUrls(This,retval) \ + ( (This)->lpVtbl -> get_MoreInfoUrls(This,retval) ) + +#define IWindowsDriverUpdate5_get_MsrcSeverity(This,retval) \ + ( (This)->lpVtbl -> get_MsrcSeverity(This,retval) ) + +#define IWindowsDriverUpdate5_get_RecommendedCpuSpeed(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedCpuSpeed(This,retval) ) + +#define IWindowsDriverUpdate5_get_RecommendedHardDiskSpace(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedHardDiskSpace(This,retval) ) + +#define IWindowsDriverUpdate5_get_RecommendedMemory(This,retval) \ + ( (This)->lpVtbl -> get_RecommendedMemory(This,retval) ) + +#define IWindowsDriverUpdate5_get_ReleaseNotes(This,retval) \ + ( (This)->lpVtbl -> get_ReleaseNotes(This,retval) ) + +#define IWindowsDriverUpdate5_get_SecurityBulletinIDs(This,retval) \ + ( (This)->lpVtbl -> get_SecurityBulletinIDs(This,retval) ) + +#define IWindowsDriverUpdate5_get_SupersededUpdateIDs(This,retval) \ + ( (This)->lpVtbl -> get_SupersededUpdateIDs(This,retval) ) + +#define IWindowsDriverUpdate5_get_SupportUrl(This,retval) \ + ( (This)->lpVtbl -> get_SupportUrl(This,retval) ) + +#define IWindowsDriverUpdate5_get_Type(This,retval) \ + ( (This)->lpVtbl -> get_Type(This,retval) ) + +#define IWindowsDriverUpdate5_get_UninstallationNotes(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationNotes(This,retval) ) + +#define IWindowsDriverUpdate5_get_UninstallationBehavior(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationBehavior(This,retval) ) + +#define IWindowsDriverUpdate5_get_UninstallationSteps(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationSteps(This,retval) ) + +#define IWindowsDriverUpdate5_get_KBArticleIDs(This,retval) \ + ( (This)->lpVtbl -> get_KBArticleIDs(This,retval) ) + +#define IWindowsDriverUpdate5_AcceptEula(This) \ + ( (This)->lpVtbl -> AcceptEula(This) ) + +#define IWindowsDriverUpdate5_get_DeploymentAction(This,retval) \ + ( (This)->lpVtbl -> get_DeploymentAction(This,retval) ) + +#define IWindowsDriverUpdate5_CopyFromCache(This,path,toExtractCabFiles) \ + ( (This)->lpVtbl -> CopyFromCache(This,path,toExtractCabFiles) ) + +#define IWindowsDriverUpdate5_get_DownloadPriority(This,retval) \ + ( (This)->lpVtbl -> get_DownloadPriority(This,retval) ) + +#define IWindowsDriverUpdate5_get_DownloadContents(This,retval) \ + ( (This)->lpVtbl -> get_DownloadContents(This,retval) ) + + +#define IWindowsDriverUpdate5_get_DriverClass(This,retval) \ + ( (This)->lpVtbl -> get_DriverClass(This,retval) ) + +#define IWindowsDriverUpdate5_get_DriverHardwareID(This,retval) \ + ( (This)->lpVtbl -> get_DriverHardwareID(This,retval) ) + +#define IWindowsDriverUpdate5_get_DriverManufacturer(This,retval) \ + ( (This)->lpVtbl -> get_DriverManufacturer(This,retval) ) + +#define IWindowsDriverUpdate5_get_DriverModel(This,retval) \ + ( (This)->lpVtbl -> get_DriverModel(This,retval) ) + +#define IWindowsDriverUpdate5_get_DriverProvider(This,retval) \ + ( (This)->lpVtbl -> get_DriverProvider(This,retval) ) + +#define IWindowsDriverUpdate5_get_DriverVerDate(This,retval) \ + ( (This)->lpVtbl -> get_DriverVerDate(This,retval) ) + +#define IWindowsDriverUpdate5_get_DeviceProblemNumber(This,retval) \ + ( (This)->lpVtbl -> get_DeviceProblemNumber(This,retval) ) + +#define IWindowsDriverUpdate5_get_DeviceStatus(This,retval) \ + ( (This)->lpVtbl -> get_DeviceStatus(This,retval) ) + + +#define IWindowsDriverUpdate5_get_RebootRequired(This,retval) \ + ( (This)->lpVtbl -> get_RebootRequired(This,retval) ) + +#define IWindowsDriverUpdate5_get_IsPresent(This,retval) \ + ( (This)->lpVtbl -> get_IsPresent(This,retval) ) + +#define IWindowsDriverUpdate5_get_CveIDs(This,retval) \ + ( (This)->lpVtbl -> get_CveIDs(This,retval) ) + +#define IWindowsDriverUpdate5_CopyToCache(This,pFiles) \ + ( (This)->lpVtbl -> CopyToCache(This,pFiles) ) + + +#define IWindowsDriverUpdate5_get_BrowseOnly(This,retval) \ + ( (This)->lpVtbl -> get_BrowseOnly(This,retval) ) + + +#define IWindowsDriverUpdate5_get_WindowsDriverUpdateEntries(This,retval) \ + ( (This)->lpVtbl -> get_WindowsDriverUpdateEntries(This,retval) ) + +#define IWindowsDriverUpdate5_get_PerUser(This,retval) \ + ( (This)->lpVtbl -> get_PerUser(This,retval) ) + + +#define IWindowsDriverUpdate5_get_AutoSelection(This,retval) \ + ( (This)->lpVtbl -> get_AutoSelection(This,retval) ) + +#define IWindowsDriverUpdate5_get_AutoDownload(This,retval) \ + ( (This)->lpVtbl -> get_AutoDownload(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IWindowsDriverUpdate5_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateCollection_INTERFACE_DEFINED__ +#define __IUpdateCollection_INTERFACE_DEFINED__ + +/* interface IUpdateCollection */ +/* [hidden][unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateCollection; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("07f7438c-7709-4ca5-b518-91279288134e") + IUpdateCollection : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( + /* [in] */ LONG index, + /* [retval][out] */ __RPC__deref_out_opt IUpdate **retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Item( + /* [in] */ LONG index, + /* [in] */ __RPC__in_opt IUpdate *value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ReadOnly( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Add( + /* [in] */ __RPC__in_opt IUpdate *value, + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Copy( + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Insert( + /* [in] */ LONG index, + /* [in] */ __RPC__in_opt IUpdate *value) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveAt( + /* [in] */ LONG index) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateCollectionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateCollection * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateCollection * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateCollection * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateCollection * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateCollection * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateCollection * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateCollection * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( + __RPC__in IUpdateCollection * This, + /* [in] */ LONG index, + /* [retval][out] */ __RPC__deref_out_opt IUpdate **retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Item )( + __RPC__in IUpdateCollection * This, + /* [in] */ LONG index, + /* [in] */ __RPC__in_opt IUpdate *value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( + __RPC__in IUpdateCollection * This, + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( + __RPC__in IUpdateCollection * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadOnly )( + __RPC__in IUpdateCollection * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( + __RPC__in IUpdateCollection * This, + /* [in] */ __RPC__in_opt IUpdate *value, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Clear )( + __RPC__in IUpdateCollection * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( + __RPC__in IUpdateCollection * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Insert )( + __RPC__in IUpdateCollection * This, + /* [in] */ LONG index, + /* [in] */ __RPC__in_opt IUpdate *value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveAt )( + __RPC__in IUpdateCollection * This, + /* [in] */ LONG index); + + END_INTERFACE + } IUpdateCollectionVtbl; + + interface IUpdateCollection + { + CONST_VTBL struct IUpdateCollectionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateCollection_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateCollection_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateCollection_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateCollection_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateCollection_get_Item(This,index,retval) \ + ( (This)->lpVtbl -> get_Item(This,index,retval) ) + +#define IUpdateCollection_put_Item(This,index,value) \ + ( (This)->lpVtbl -> put_Item(This,index,value) ) + +#define IUpdateCollection_get__NewEnum(This,retval) \ + ( (This)->lpVtbl -> get__NewEnum(This,retval) ) + +#define IUpdateCollection_get_Count(This,retval) \ + ( (This)->lpVtbl -> get_Count(This,retval) ) + +#define IUpdateCollection_get_ReadOnly(This,retval) \ + ( (This)->lpVtbl -> get_ReadOnly(This,retval) ) + +#define IUpdateCollection_Add(This,value,retval) \ + ( (This)->lpVtbl -> Add(This,value,retval) ) + +#define IUpdateCollection_Clear(This) \ + ( (This)->lpVtbl -> Clear(This) ) + +#define IUpdateCollection_Copy(This,retval) \ + ( (This)->lpVtbl -> Copy(This,retval) ) + +#define IUpdateCollection_Insert(This,index,value) \ + ( (This)->lpVtbl -> Insert(This,index,value) ) + +#define IUpdateCollection_RemoveAt(This,index) \ + ( (This)->lpVtbl -> RemoveAt(This,index) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateCollection_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateException_INTERFACE_DEFINED__ +#define __IUpdateException_INTERFACE_DEFINED__ + +/* interface IUpdateException */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateException; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("a376dd5e-09d4-427f-af7c-fed5b6e1c1d6") + IUpdateException : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Message( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_HResult( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Context( + /* [retval][out] */ __RPC__out UpdateExceptionContext *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateExceptionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateException * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateException * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateException * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateException * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateException * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateException * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateException * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Message )( + __RPC__in IUpdateException * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HResult )( + __RPC__in IUpdateException * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Context )( + __RPC__in IUpdateException * This, + /* [retval][out] */ __RPC__out UpdateExceptionContext *retval); + + END_INTERFACE + } IUpdateExceptionVtbl; + + interface IUpdateException + { + CONST_VTBL struct IUpdateExceptionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateException_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateException_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateException_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateException_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateException_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateException_get_Message(This,retval) \ + ( (This)->lpVtbl -> get_Message(This,retval) ) + +#define IUpdateException_get_HResult(This,retval) \ + ( (This)->lpVtbl -> get_HResult(This,retval) ) + +#define IUpdateException_get_Context(This,retval) \ + ( (This)->lpVtbl -> get_Context(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateException_INTERFACE_DEFINED__ */ + + +#ifndef __IInvalidProductLicenseException_INTERFACE_DEFINED__ +#define __IInvalidProductLicenseException_INTERFACE_DEFINED__ + +/* interface IInvalidProductLicenseException */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IInvalidProductLicenseException; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("a37d00f5-7bb0-4953-b414-f9e98326f2e8") + IInvalidProductLicenseException : public IUpdateException + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Product( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IInvalidProductLicenseExceptionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IInvalidProductLicenseException * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IInvalidProductLicenseException * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IInvalidProductLicenseException * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IInvalidProductLicenseException * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IInvalidProductLicenseException * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IInvalidProductLicenseException * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IInvalidProductLicenseException * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Message )( + __RPC__in IInvalidProductLicenseException * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HResult )( + __RPC__in IInvalidProductLicenseException * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Context )( + __RPC__in IInvalidProductLicenseException * This, + /* [retval][out] */ __RPC__out UpdateExceptionContext *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Product )( + __RPC__in IInvalidProductLicenseException * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + END_INTERFACE + } IInvalidProductLicenseExceptionVtbl; + + interface IInvalidProductLicenseException + { + CONST_VTBL struct IInvalidProductLicenseExceptionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IInvalidProductLicenseException_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IInvalidProductLicenseException_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IInvalidProductLicenseException_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IInvalidProductLicenseException_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IInvalidProductLicenseException_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IInvalidProductLicenseException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IInvalidProductLicenseException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IInvalidProductLicenseException_get_Message(This,retval) \ + ( (This)->lpVtbl -> get_Message(This,retval) ) + +#define IInvalidProductLicenseException_get_HResult(This,retval) \ + ( (This)->lpVtbl -> get_HResult(This,retval) ) + +#define IInvalidProductLicenseException_get_Context(This,retval) \ + ( (This)->lpVtbl -> get_Context(This,retval) ) + + +#define IInvalidProductLicenseException_get_Product(This,retval) \ + ( (This)->lpVtbl -> get_Product(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IInvalidProductLicenseException_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateExceptionCollection_INTERFACE_DEFINED__ +#define __IUpdateExceptionCollection_INTERFACE_DEFINED__ + +/* interface IUpdateExceptionCollection */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateExceptionCollection; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("503626a3-8e14-4729-9355-0fe664bd2321") + IUpdateExceptionCollection : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( + /* [in] */ LONG index, + /* [retval][out] */ __RPC__deref_out_opt IUpdateException **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateExceptionCollectionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateExceptionCollection * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateExceptionCollection * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateExceptionCollection * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateExceptionCollection * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateExceptionCollection * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateExceptionCollection * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateExceptionCollection * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( + __RPC__in IUpdateExceptionCollection * This, + /* [in] */ LONG index, + /* [retval][out] */ __RPC__deref_out_opt IUpdateException **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( + __RPC__in IUpdateExceptionCollection * This, + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( + __RPC__in IUpdateExceptionCollection * This, + /* [retval][out] */ __RPC__out LONG *retval); + + END_INTERFACE + } IUpdateExceptionCollectionVtbl; + + interface IUpdateExceptionCollection + { + CONST_VTBL struct IUpdateExceptionCollectionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateExceptionCollection_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateExceptionCollection_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateExceptionCollection_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateExceptionCollection_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateExceptionCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateExceptionCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateExceptionCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateExceptionCollection_get_Item(This,index,retval) \ + ( (This)->lpVtbl -> get_Item(This,index,retval) ) + +#define IUpdateExceptionCollection_get__NewEnum(This,retval) \ + ( (This)->lpVtbl -> get__NewEnum(This,retval) ) + +#define IUpdateExceptionCollection_get_Count(This,retval) \ + ( (This)->lpVtbl -> get_Count(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateExceptionCollection_INTERFACE_DEFINED__ */ + + +#ifndef __ISearchResult_INTERFACE_DEFINED__ +#define __ISearchResult_INTERFACE_DEFINED__ + +/* interface ISearchResult */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_ISearchResult; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("d40cff62-e08c-4498-941a-01e25f0fd33c") + ISearchResult : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ResultCode( + /* [retval][out] */ __RPC__out OperationResultCode *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RootCategories( + /* [retval][out] */ __RPC__deref_out_opt ICategoryCollection **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Updates( + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Warnings( + /* [retval][out] */ __RPC__deref_out_opt IUpdateExceptionCollection **retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct ISearchResultVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in ISearchResult * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in ISearchResult * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in ISearchResult * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in ISearchResult * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in ISearchResult * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in ISearchResult * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + ISearchResult * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ResultCode )( + __RPC__in ISearchResult * This, + /* [retval][out] */ __RPC__out OperationResultCode *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RootCategories )( + __RPC__in ISearchResult * This, + /* [retval][out] */ __RPC__deref_out_opt ICategoryCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Updates )( + __RPC__in ISearchResult * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Warnings )( + __RPC__in ISearchResult * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateExceptionCollection **retval); + + END_INTERFACE + } ISearchResultVtbl; + + interface ISearchResult + { + CONST_VTBL struct ISearchResultVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ISearchResult_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ISearchResult_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ISearchResult_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ISearchResult_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define ISearchResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define ISearchResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define ISearchResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define ISearchResult_get_ResultCode(This,retval) \ + ( (This)->lpVtbl -> get_ResultCode(This,retval) ) + +#define ISearchResult_get_RootCategories(This,retval) \ + ( (This)->lpVtbl -> get_RootCategories(This,retval) ) + +#define ISearchResult_get_Updates(This,retval) \ + ( (This)->lpVtbl -> get_Updates(This,retval) ) + +#define ISearchResult_get_Warnings(This,retval) \ + ( (This)->lpVtbl -> get_Warnings(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ISearchResult_INTERFACE_DEFINED__ */ + + +#ifndef __ISearchJob_INTERFACE_DEFINED__ +#define __ISearchJob_INTERFACE_DEFINED__ + +/* interface ISearchJob */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_ISearchJob; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("7366ea16-7a1a-4ea2-b042-973d3e9cd99b") + ISearchJob : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AsyncState( + /* [retval][out] */ __RPC__out VARIANT *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsCompleted( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CleanUp( void) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RequestAbort( void) = 0; + + }; + +#else /* C style interface */ + + typedef struct ISearchJobVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in ISearchJob * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in ISearchJob * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in ISearchJob * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in ISearchJob * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in ISearchJob * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in ISearchJob * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + ISearchJob * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AsyncState )( + __RPC__in ISearchJob * This, + /* [retval][out] */ __RPC__out VARIANT *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsCompleted )( + __RPC__in ISearchJob * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CleanUp )( + __RPC__in ISearchJob * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RequestAbort )( + __RPC__in ISearchJob * This); + + END_INTERFACE + } ISearchJobVtbl; + + interface ISearchJob + { + CONST_VTBL struct ISearchJobVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ISearchJob_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ISearchJob_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ISearchJob_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ISearchJob_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define ISearchJob_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define ISearchJob_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define ISearchJob_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define ISearchJob_get_AsyncState(This,retval) \ + ( (This)->lpVtbl -> get_AsyncState(This,retval) ) + +#define ISearchJob_get_IsCompleted(This,retval) \ + ( (This)->lpVtbl -> get_IsCompleted(This,retval) ) + +#define ISearchJob_CleanUp(This) \ + ( (This)->lpVtbl -> CleanUp(This) ) + +#define ISearchJob_RequestAbort(This) \ + ( (This)->lpVtbl -> RequestAbort(This) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ISearchJob_INTERFACE_DEFINED__ */ + + +#ifndef __ISearchCompletedCallbackArgs_INTERFACE_DEFINED__ +#define __ISearchCompletedCallbackArgs_INTERFACE_DEFINED__ + +/* interface ISearchCompletedCallbackArgs */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_ISearchCompletedCallbackArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("a700a634-2850-4c47-938a-9e4b6e5af9a6") + ISearchCompletedCallbackArgs : public IDispatch + { + public: + }; + +#else /* C style interface */ + + typedef struct ISearchCompletedCallbackArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in ISearchCompletedCallbackArgs * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in ISearchCompletedCallbackArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in ISearchCompletedCallbackArgs * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in ISearchCompletedCallbackArgs * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in ISearchCompletedCallbackArgs * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in ISearchCompletedCallbackArgs * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + ISearchCompletedCallbackArgs * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + END_INTERFACE + } ISearchCompletedCallbackArgsVtbl; + + interface ISearchCompletedCallbackArgs + { + CONST_VTBL struct ISearchCompletedCallbackArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ISearchCompletedCallbackArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ISearchCompletedCallbackArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ISearchCompletedCallbackArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ISearchCompletedCallbackArgs_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define ISearchCompletedCallbackArgs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define ISearchCompletedCallbackArgs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define ISearchCompletedCallbackArgs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ISearchCompletedCallbackArgs_INTERFACE_DEFINED__ */ + + +#ifndef __ISearchCompletedCallback_INTERFACE_DEFINED__ +#define __ISearchCompletedCallback_INTERFACE_DEFINED__ + +/* interface ISearchCompletedCallback */ +/* [unique][uuid][nonextensible][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_ISearchCompletedCallback; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("88aee058-d4b0-4725-a2f1-814a67ae964c") + ISearchCompletedCallback : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Invoke( + /* [in] */ __RPC__in_opt ISearchJob *searchJob, + /* [in] */ __RPC__in_opt ISearchCompletedCallbackArgs *callbackArgs) = 0; + + }; + +#else /* C style interface */ + + typedef struct ISearchCompletedCallbackVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in ISearchCompletedCallback * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in ISearchCompletedCallback * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in ISearchCompletedCallback * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + __RPC__in ISearchCompletedCallback * This, + /* [in] */ __RPC__in_opt ISearchJob *searchJob, + /* [in] */ __RPC__in_opt ISearchCompletedCallbackArgs *callbackArgs); + + END_INTERFACE + } ISearchCompletedCallbackVtbl; + + interface ISearchCompletedCallback + { + CONST_VTBL struct ISearchCompletedCallbackVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ISearchCompletedCallback_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ISearchCompletedCallback_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ISearchCompletedCallback_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ISearchCompletedCallback_Invoke(This,searchJob,callbackArgs) \ + ( (This)->lpVtbl -> Invoke(This,searchJob,callbackArgs) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ISearchCompletedCallback_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateHistoryEntry_INTERFACE_DEFINED__ +#define __IUpdateHistoryEntry_INTERFACE_DEFINED__ + +/* interface IUpdateHistoryEntry */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateHistoryEntry; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("be56a644-af0e-4e0e-a311-c1d8e695cbff") + IUpdateHistoryEntry : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Operation( + /* [retval][out] */ __RPC__out UpdateOperation *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ResultCode( + /* [retval][out] */ __RPC__out OperationResultCode *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_HResult( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Date( + /* [retval][out] */ __RPC__out DATE *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_UpdateIdentity( + /* [retval][out] */ __RPC__deref_out_opt IUpdateIdentity **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Title( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Description( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_UnmappedResultCode( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ClientApplicationID( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ServerSelection( + /* [retval][out] */ __RPC__out ServerSelection *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ServiceID( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_UninstallationSteps( + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_UninstallationNotes( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SupportUrl( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateHistoryEntryVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateHistoryEntry * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateHistoryEntry * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateHistoryEntry * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateHistoryEntry * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateHistoryEntry * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateHistoryEntry * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateHistoryEntry * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Operation )( + __RPC__in IUpdateHistoryEntry * This, + /* [retval][out] */ __RPC__out UpdateOperation *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ResultCode )( + __RPC__in IUpdateHistoryEntry * This, + /* [retval][out] */ __RPC__out OperationResultCode *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HResult )( + __RPC__in IUpdateHistoryEntry * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Date )( + __RPC__in IUpdateHistoryEntry * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UpdateIdentity )( + __RPC__in IUpdateHistoryEntry * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateIdentity **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( + __RPC__in IUpdateHistoryEntry * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( + __RPC__in IUpdateHistoryEntry * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UnmappedResultCode )( + __RPC__in IUpdateHistoryEntry * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ClientApplicationID )( + __RPC__in IUpdateHistoryEntry * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServerSelection )( + __RPC__in IUpdateHistoryEntry * This, + /* [retval][out] */ __RPC__out ServerSelection *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceID )( + __RPC__in IUpdateHistoryEntry * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationSteps )( + __RPC__in IUpdateHistoryEntry * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationNotes )( + __RPC__in IUpdateHistoryEntry * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupportUrl )( + __RPC__in IUpdateHistoryEntry * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + END_INTERFACE + } IUpdateHistoryEntryVtbl; + + interface IUpdateHistoryEntry + { + CONST_VTBL struct IUpdateHistoryEntryVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateHistoryEntry_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateHistoryEntry_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateHistoryEntry_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateHistoryEntry_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateHistoryEntry_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateHistoryEntry_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateHistoryEntry_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateHistoryEntry_get_Operation(This,retval) \ + ( (This)->lpVtbl -> get_Operation(This,retval) ) + +#define IUpdateHistoryEntry_get_ResultCode(This,retval) \ + ( (This)->lpVtbl -> get_ResultCode(This,retval) ) + +#define IUpdateHistoryEntry_get_HResult(This,retval) \ + ( (This)->lpVtbl -> get_HResult(This,retval) ) + +#define IUpdateHistoryEntry_get_Date(This,retval) \ + ( (This)->lpVtbl -> get_Date(This,retval) ) + +#define IUpdateHistoryEntry_get_UpdateIdentity(This,retval) \ + ( (This)->lpVtbl -> get_UpdateIdentity(This,retval) ) + +#define IUpdateHistoryEntry_get_Title(This,retval) \ + ( (This)->lpVtbl -> get_Title(This,retval) ) + +#define IUpdateHistoryEntry_get_Description(This,retval) \ + ( (This)->lpVtbl -> get_Description(This,retval) ) + +#define IUpdateHistoryEntry_get_UnmappedResultCode(This,retval) \ + ( (This)->lpVtbl -> get_UnmappedResultCode(This,retval) ) + +#define IUpdateHistoryEntry_get_ClientApplicationID(This,retval) \ + ( (This)->lpVtbl -> get_ClientApplicationID(This,retval) ) + +#define IUpdateHistoryEntry_get_ServerSelection(This,retval) \ + ( (This)->lpVtbl -> get_ServerSelection(This,retval) ) + +#define IUpdateHistoryEntry_get_ServiceID(This,retval) \ + ( (This)->lpVtbl -> get_ServiceID(This,retval) ) + +#define IUpdateHistoryEntry_get_UninstallationSteps(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationSteps(This,retval) ) + +#define IUpdateHistoryEntry_get_UninstallationNotes(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationNotes(This,retval) ) + +#define IUpdateHistoryEntry_get_SupportUrl(This,retval) \ + ( (This)->lpVtbl -> get_SupportUrl(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateHistoryEntry_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateHistoryEntry2_INTERFACE_DEFINED__ +#define __IUpdateHistoryEntry2_INTERFACE_DEFINED__ + +/* interface IUpdateHistoryEntry2 */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateHistoryEntry2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("c2bfb780-4539-4132-ab8c-0a8772013ab6") + IUpdateHistoryEntry2 : public IUpdateHistoryEntry + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Categories( + /* [retval][out] */ __RPC__deref_out_opt ICategoryCollection **retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateHistoryEntry2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateHistoryEntry2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateHistoryEntry2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateHistoryEntry2 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Operation )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [retval][out] */ __RPC__out UpdateOperation *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ResultCode )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [retval][out] */ __RPC__out OperationResultCode *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HResult )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Date )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UpdateIdentity )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateIdentity **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UnmappedResultCode )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ClientApplicationID )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServerSelection )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [retval][out] */ __RPC__out ServerSelection *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceID )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationSteps )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UninstallationNotes )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupportUrl )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Categories )( + __RPC__in IUpdateHistoryEntry2 * This, + /* [retval][out] */ __RPC__deref_out_opt ICategoryCollection **retval); + + END_INTERFACE + } IUpdateHistoryEntry2Vtbl; + + interface IUpdateHistoryEntry2 + { + CONST_VTBL struct IUpdateHistoryEntry2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateHistoryEntry2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateHistoryEntry2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateHistoryEntry2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateHistoryEntry2_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateHistoryEntry2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateHistoryEntry2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateHistoryEntry2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateHistoryEntry2_get_Operation(This,retval) \ + ( (This)->lpVtbl -> get_Operation(This,retval) ) + +#define IUpdateHistoryEntry2_get_ResultCode(This,retval) \ + ( (This)->lpVtbl -> get_ResultCode(This,retval) ) + +#define IUpdateHistoryEntry2_get_HResult(This,retval) \ + ( (This)->lpVtbl -> get_HResult(This,retval) ) + +#define IUpdateHistoryEntry2_get_Date(This,retval) \ + ( (This)->lpVtbl -> get_Date(This,retval) ) + +#define IUpdateHistoryEntry2_get_UpdateIdentity(This,retval) \ + ( (This)->lpVtbl -> get_UpdateIdentity(This,retval) ) + +#define IUpdateHistoryEntry2_get_Title(This,retval) \ + ( (This)->lpVtbl -> get_Title(This,retval) ) + +#define IUpdateHistoryEntry2_get_Description(This,retval) \ + ( (This)->lpVtbl -> get_Description(This,retval) ) + +#define IUpdateHistoryEntry2_get_UnmappedResultCode(This,retval) \ + ( (This)->lpVtbl -> get_UnmappedResultCode(This,retval) ) + +#define IUpdateHistoryEntry2_get_ClientApplicationID(This,retval) \ + ( (This)->lpVtbl -> get_ClientApplicationID(This,retval) ) + +#define IUpdateHistoryEntry2_get_ServerSelection(This,retval) \ + ( (This)->lpVtbl -> get_ServerSelection(This,retval) ) + +#define IUpdateHistoryEntry2_get_ServiceID(This,retval) \ + ( (This)->lpVtbl -> get_ServiceID(This,retval) ) + +#define IUpdateHistoryEntry2_get_UninstallationSteps(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationSteps(This,retval) ) + +#define IUpdateHistoryEntry2_get_UninstallationNotes(This,retval) \ + ( (This)->lpVtbl -> get_UninstallationNotes(This,retval) ) + +#define IUpdateHistoryEntry2_get_SupportUrl(This,retval) \ + ( (This)->lpVtbl -> get_SupportUrl(This,retval) ) + + +#define IUpdateHistoryEntry2_get_Categories(This,retval) \ + ( (This)->lpVtbl -> get_Categories(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateHistoryEntry2_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateHistoryEntryCollection_INTERFACE_DEFINED__ +#define __IUpdateHistoryEntryCollection_INTERFACE_DEFINED__ + +/* interface IUpdateHistoryEntryCollection */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateHistoryEntryCollection; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("a7f04f3c-a290-435b-aadf-a116c3357a5c") + IUpdateHistoryEntryCollection : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( + /* [in] */ LONG index, + /* [retval][out] */ __RPC__deref_out_opt IUpdateHistoryEntry **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateHistoryEntryCollectionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateHistoryEntryCollection * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateHistoryEntryCollection * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateHistoryEntryCollection * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateHistoryEntryCollection * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateHistoryEntryCollection * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateHistoryEntryCollection * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateHistoryEntryCollection * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( + __RPC__in IUpdateHistoryEntryCollection * This, + /* [in] */ LONG index, + /* [retval][out] */ __RPC__deref_out_opt IUpdateHistoryEntry **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( + __RPC__in IUpdateHistoryEntryCollection * This, + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( + __RPC__in IUpdateHistoryEntryCollection * This, + /* [retval][out] */ __RPC__out LONG *retval); + + END_INTERFACE + } IUpdateHistoryEntryCollectionVtbl; + + interface IUpdateHistoryEntryCollection + { + CONST_VTBL struct IUpdateHistoryEntryCollectionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateHistoryEntryCollection_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateHistoryEntryCollection_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateHistoryEntryCollection_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateHistoryEntryCollection_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateHistoryEntryCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateHistoryEntryCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateHistoryEntryCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateHistoryEntryCollection_get_Item(This,index,retval) \ + ( (This)->lpVtbl -> get_Item(This,index,retval) ) + +#define IUpdateHistoryEntryCollection_get__NewEnum(This,retval) \ + ( (This)->lpVtbl -> get__NewEnum(This,retval) ) + +#define IUpdateHistoryEntryCollection_get_Count(This,retval) \ + ( (This)->lpVtbl -> get_Count(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateHistoryEntryCollection_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateSearcher_INTERFACE_DEFINED__ +#define __IUpdateSearcher_INTERFACE_DEFINED__ + +/* interface IUpdateSearcher */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateSearcher; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("8f45abf1-f9ae-4b95-a933-f0f66e5056ea") + IUpdateSearcher : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_CanAutomaticallyUpgradeService( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_CanAutomaticallyUpgradeService( + /* [in] */ VARIANT_BOOL value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ClientApplicationID( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_ClientApplicationID( + /* [in] */ __RPC__in BSTR value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IncludePotentiallySupersededUpdates( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_IncludePotentiallySupersededUpdates( + /* [in] */ VARIANT_BOOL value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ServerSelection( + /* [retval][out] */ __RPC__out ServerSelection *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_ServerSelection( + /* [in] */ ServerSelection value) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BeginSearch( + /* [in] */ __RPC__in BSTR criteria, + /* [in] */ __RPC__in_opt IUnknown *onCompleted, + /* [in] */ VARIANT state, + /* [retval][out] */ __RPC__deref_out_opt ISearchJob **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EndSearch( + /* [in] */ __RPC__in_opt ISearchJob *searchJob, + /* [retval][out] */ __RPC__deref_out_opt ISearchResult **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EscapeString( + /* [in] */ __RPC__in BSTR unescaped, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE QueryHistory( + /* [in] */ LONG startIndex, + /* [in] */ LONG count, + /* [retval][out] */ __RPC__deref_out_opt IUpdateHistoryEntryCollection **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Search( + /* [in] */ __RPC__in BSTR criteria, + /* [retval][out] */ __RPC__deref_out_opt ISearchResult **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Online( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Online( + /* [in] */ VARIANT_BOOL value) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetTotalHistoryCount( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ServiceID( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_ServiceID( + /* [in] */ __RPC__in BSTR value) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateSearcherVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateSearcher * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateSearcher * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateSearcher * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateSearcher * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateSearcher * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateSearcher * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateSearcher * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanAutomaticallyUpgradeService )( + __RPC__in IUpdateSearcher * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CanAutomaticallyUpgradeService )( + __RPC__in IUpdateSearcher * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ClientApplicationID )( + __RPC__in IUpdateSearcher * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClientApplicationID )( + __RPC__in IUpdateSearcher * This, + /* [in] */ __RPC__in BSTR value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IncludePotentiallySupersededUpdates )( + __RPC__in IUpdateSearcher * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IncludePotentiallySupersededUpdates )( + __RPC__in IUpdateSearcher * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServerSelection )( + __RPC__in IUpdateSearcher * This, + /* [retval][out] */ __RPC__out ServerSelection *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ServerSelection )( + __RPC__in IUpdateSearcher * This, + /* [in] */ ServerSelection value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BeginSearch )( + __RPC__in IUpdateSearcher * This, + /* [in] */ __RPC__in BSTR criteria, + /* [in] */ __RPC__in_opt IUnknown *onCompleted, + /* [in] */ VARIANT state, + /* [retval][out] */ __RPC__deref_out_opt ISearchJob **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EndSearch )( + __RPC__in IUpdateSearcher * This, + /* [in] */ __RPC__in_opt ISearchJob *searchJob, + /* [retval][out] */ __RPC__deref_out_opt ISearchResult **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EscapeString )( + __RPC__in IUpdateSearcher * This, + /* [in] */ __RPC__in BSTR unescaped, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *QueryHistory )( + __RPC__in IUpdateSearcher * This, + /* [in] */ LONG startIndex, + /* [in] */ LONG count, + /* [retval][out] */ __RPC__deref_out_opt IUpdateHistoryEntryCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Search )( + __RPC__in IUpdateSearcher * This, + /* [in] */ __RPC__in BSTR criteria, + /* [retval][out] */ __RPC__deref_out_opt ISearchResult **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Online )( + __RPC__in IUpdateSearcher * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Online )( + __RPC__in IUpdateSearcher * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetTotalHistoryCount )( + __RPC__in IUpdateSearcher * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceID )( + __RPC__in IUpdateSearcher * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ServiceID )( + __RPC__in IUpdateSearcher * This, + /* [in] */ __RPC__in BSTR value); + + END_INTERFACE + } IUpdateSearcherVtbl; + + interface IUpdateSearcher + { + CONST_VTBL struct IUpdateSearcherVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateSearcher_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateSearcher_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateSearcher_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateSearcher_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateSearcher_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateSearcher_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateSearcher_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateSearcher_get_CanAutomaticallyUpgradeService(This,retval) \ + ( (This)->lpVtbl -> get_CanAutomaticallyUpgradeService(This,retval) ) + +#define IUpdateSearcher_put_CanAutomaticallyUpgradeService(This,value) \ + ( (This)->lpVtbl -> put_CanAutomaticallyUpgradeService(This,value) ) + +#define IUpdateSearcher_get_ClientApplicationID(This,retval) \ + ( (This)->lpVtbl -> get_ClientApplicationID(This,retval) ) + +#define IUpdateSearcher_put_ClientApplicationID(This,value) \ + ( (This)->lpVtbl -> put_ClientApplicationID(This,value) ) + +#define IUpdateSearcher_get_IncludePotentiallySupersededUpdates(This,retval) \ + ( (This)->lpVtbl -> get_IncludePotentiallySupersededUpdates(This,retval) ) + +#define IUpdateSearcher_put_IncludePotentiallySupersededUpdates(This,value) \ + ( (This)->lpVtbl -> put_IncludePotentiallySupersededUpdates(This,value) ) + +#define IUpdateSearcher_get_ServerSelection(This,retval) \ + ( (This)->lpVtbl -> get_ServerSelection(This,retval) ) + +#define IUpdateSearcher_put_ServerSelection(This,value) \ + ( (This)->lpVtbl -> put_ServerSelection(This,value) ) + +#define IUpdateSearcher_BeginSearch(This,criteria,onCompleted,state,retval) \ + ( (This)->lpVtbl -> BeginSearch(This,criteria,onCompleted,state,retval) ) + +#define IUpdateSearcher_EndSearch(This,searchJob,retval) \ + ( (This)->lpVtbl -> EndSearch(This,searchJob,retval) ) + +#define IUpdateSearcher_EscapeString(This,unescaped,retval) \ + ( (This)->lpVtbl -> EscapeString(This,unescaped,retval) ) + +#define IUpdateSearcher_QueryHistory(This,startIndex,count,retval) \ + ( (This)->lpVtbl -> QueryHistory(This,startIndex,count,retval) ) + +#define IUpdateSearcher_Search(This,criteria,retval) \ + ( (This)->lpVtbl -> Search(This,criteria,retval) ) + +#define IUpdateSearcher_get_Online(This,retval) \ + ( (This)->lpVtbl -> get_Online(This,retval) ) + +#define IUpdateSearcher_put_Online(This,value) \ + ( (This)->lpVtbl -> put_Online(This,value) ) + +#define IUpdateSearcher_GetTotalHistoryCount(This,retval) \ + ( (This)->lpVtbl -> GetTotalHistoryCount(This,retval) ) + +#define IUpdateSearcher_get_ServiceID(This,retval) \ + ( (This)->lpVtbl -> get_ServiceID(This,retval) ) + +#define IUpdateSearcher_put_ServiceID(This,value) \ + ( (This)->lpVtbl -> put_ServiceID(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateSearcher_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateSearcher2_INTERFACE_DEFINED__ +#define __IUpdateSearcher2_INTERFACE_DEFINED__ + +/* interface IUpdateSearcher2 */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateSearcher2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("4cbdcb2d-1589-4beb-bd1c-3e582ff0add0") + IUpdateSearcher2 : public IUpdateSearcher + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IgnoreDownloadPriority( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_IgnoreDownloadPriority( + /* [in] */ VARIANT_BOOL value) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateSearcher2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateSearcher2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateSearcher2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateSearcher2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateSearcher2 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateSearcher2 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateSearcher2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateSearcher2 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanAutomaticallyUpgradeService )( + __RPC__in IUpdateSearcher2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CanAutomaticallyUpgradeService )( + __RPC__in IUpdateSearcher2 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ClientApplicationID )( + __RPC__in IUpdateSearcher2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClientApplicationID )( + __RPC__in IUpdateSearcher2 * This, + /* [in] */ __RPC__in BSTR value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IncludePotentiallySupersededUpdates )( + __RPC__in IUpdateSearcher2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IncludePotentiallySupersededUpdates )( + __RPC__in IUpdateSearcher2 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServerSelection )( + __RPC__in IUpdateSearcher2 * This, + /* [retval][out] */ __RPC__out ServerSelection *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ServerSelection )( + __RPC__in IUpdateSearcher2 * This, + /* [in] */ ServerSelection value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BeginSearch )( + __RPC__in IUpdateSearcher2 * This, + /* [in] */ __RPC__in BSTR criteria, + /* [in] */ __RPC__in_opt IUnknown *onCompleted, + /* [in] */ VARIANT state, + /* [retval][out] */ __RPC__deref_out_opt ISearchJob **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EndSearch )( + __RPC__in IUpdateSearcher2 * This, + /* [in] */ __RPC__in_opt ISearchJob *searchJob, + /* [retval][out] */ __RPC__deref_out_opt ISearchResult **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EscapeString )( + __RPC__in IUpdateSearcher2 * This, + /* [in] */ __RPC__in BSTR unescaped, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *QueryHistory )( + __RPC__in IUpdateSearcher2 * This, + /* [in] */ LONG startIndex, + /* [in] */ LONG count, + /* [retval][out] */ __RPC__deref_out_opt IUpdateHistoryEntryCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Search )( + __RPC__in IUpdateSearcher2 * This, + /* [in] */ __RPC__in BSTR criteria, + /* [retval][out] */ __RPC__deref_out_opt ISearchResult **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Online )( + __RPC__in IUpdateSearcher2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Online )( + __RPC__in IUpdateSearcher2 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetTotalHistoryCount )( + __RPC__in IUpdateSearcher2 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceID )( + __RPC__in IUpdateSearcher2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ServiceID )( + __RPC__in IUpdateSearcher2 * This, + /* [in] */ __RPC__in BSTR value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IgnoreDownloadPriority )( + __RPC__in IUpdateSearcher2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IgnoreDownloadPriority )( + __RPC__in IUpdateSearcher2 * This, + /* [in] */ VARIANT_BOOL value); + + END_INTERFACE + } IUpdateSearcher2Vtbl; + + interface IUpdateSearcher2 + { + CONST_VTBL struct IUpdateSearcher2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateSearcher2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateSearcher2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateSearcher2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateSearcher2_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateSearcher2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateSearcher2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateSearcher2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateSearcher2_get_CanAutomaticallyUpgradeService(This,retval) \ + ( (This)->lpVtbl -> get_CanAutomaticallyUpgradeService(This,retval) ) + +#define IUpdateSearcher2_put_CanAutomaticallyUpgradeService(This,value) \ + ( (This)->lpVtbl -> put_CanAutomaticallyUpgradeService(This,value) ) + +#define IUpdateSearcher2_get_ClientApplicationID(This,retval) \ + ( (This)->lpVtbl -> get_ClientApplicationID(This,retval) ) + +#define IUpdateSearcher2_put_ClientApplicationID(This,value) \ + ( (This)->lpVtbl -> put_ClientApplicationID(This,value) ) + +#define IUpdateSearcher2_get_IncludePotentiallySupersededUpdates(This,retval) \ + ( (This)->lpVtbl -> get_IncludePotentiallySupersededUpdates(This,retval) ) + +#define IUpdateSearcher2_put_IncludePotentiallySupersededUpdates(This,value) \ + ( (This)->lpVtbl -> put_IncludePotentiallySupersededUpdates(This,value) ) + +#define IUpdateSearcher2_get_ServerSelection(This,retval) \ + ( (This)->lpVtbl -> get_ServerSelection(This,retval) ) + +#define IUpdateSearcher2_put_ServerSelection(This,value) \ + ( (This)->lpVtbl -> put_ServerSelection(This,value) ) + +#define IUpdateSearcher2_BeginSearch(This,criteria,onCompleted,state,retval) \ + ( (This)->lpVtbl -> BeginSearch(This,criteria,onCompleted,state,retval) ) + +#define IUpdateSearcher2_EndSearch(This,searchJob,retval) \ + ( (This)->lpVtbl -> EndSearch(This,searchJob,retval) ) + +#define IUpdateSearcher2_EscapeString(This,unescaped,retval) \ + ( (This)->lpVtbl -> EscapeString(This,unescaped,retval) ) + +#define IUpdateSearcher2_QueryHistory(This,startIndex,count,retval) \ + ( (This)->lpVtbl -> QueryHistory(This,startIndex,count,retval) ) + +#define IUpdateSearcher2_Search(This,criteria,retval) \ + ( (This)->lpVtbl -> Search(This,criteria,retval) ) + +#define IUpdateSearcher2_get_Online(This,retval) \ + ( (This)->lpVtbl -> get_Online(This,retval) ) + +#define IUpdateSearcher2_put_Online(This,value) \ + ( (This)->lpVtbl -> put_Online(This,value) ) + +#define IUpdateSearcher2_GetTotalHistoryCount(This,retval) \ + ( (This)->lpVtbl -> GetTotalHistoryCount(This,retval) ) + +#define IUpdateSearcher2_get_ServiceID(This,retval) \ + ( (This)->lpVtbl -> get_ServiceID(This,retval) ) + +#define IUpdateSearcher2_put_ServiceID(This,value) \ + ( (This)->lpVtbl -> put_ServiceID(This,value) ) + + +#define IUpdateSearcher2_get_IgnoreDownloadPriority(This,retval) \ + ( (This)->lpVtbl -> get_IgnoreDownloadPriority(This,retval) ) + +#define IUpdateSearcher2_put_IgnoreDownloadPriority(This,value) \ + ( (This)->lpVtbl -> put_IgnoreDownloadPriority(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateSearcher2_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateSearcher3_INTERFACE_DEFINED__ +#define __IUpdateSearcher3_INTERFACE_DEFINED__ + +/* interface IUpdateSearcher3 */ +/* [hidden][unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateSearcher3; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("04C6895D-EAF2-4034-97F3-311DE9BE413A") + IUpdateSearcher3 : public IUpdateSearcher2 + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SearchScope( + /* [retval][out] */ __RPC__out SearchScope *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_SearchScope( + /* [in] */ SearchScope value) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateSearcher3Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateSearcher3 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateSearcher3 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateSearcher3 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateSearcher3 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateSearcher3 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateSearcher3 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateSearcher3 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanAutomaticallyUpgradeService )( + __RPC__in IUpdateSearcher3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CanAutomaticallyUpgradeService )( + __RPC__in IUpdateSearcher3 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ClientApplicationID )( + __RPC__in IUpdateSearcher3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClientApplicationID )( + __RPC__in IUpdateSearcher3 * This, + /* [in] */ __RPC__in BSTR value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IncludePotentiallySupersededUpdates )( + __RPC__in IUpdateSearcher3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IncludePotentiallySupersededUpdates )( + __RPC__in IUpdateSearcher3 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServerSelection )( + __RPC__in IUpdateSearcher3 * This, + /* [retval][out] */ __RPC__out ServerSelection *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ServerSelection )( + __RPC__in IUpdateSearcher3 * This, + /* [in] */ ServerSelection value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BeginSearch )( + __RPC__in IUpdateSearcher3 * This, + /* [in] */ __RPC__in BSTR criteria, + /* [in] */ __RPC__in_opt IUnknown *onCompleted, + /* [in] */ VARIANT state, + /* [retval][out] */ __RPC__deref_out_opt ISearchJob **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EndSearch )( + __RPC__in IUpdateSearcher3 * This, + /* [in] */ __RPC__in_opt ISearchJob *searchJob, + /* [retval][out] */ __RPC__deref_out_opt ISearchResult **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EscapeString )( + __RPC__in IUpdateSearcher3 * This, + /* [in] */ __RPC__in BSTR unescaped, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *QueryHistory )( + __RPC__in IUpdateSearcher3 * This, + /* [in] */ LONG startIndex, + /* [in] */ LONG count, + /* [retval][out] */ __RPC__deref_out_opt IUpdateHistoryEntryCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Search )( + __RPC__in IUpdateSearcher3 * This, + /* [in] */ __RPC__in BSTR criteria, + /* [retval][out] */ __RPC__deref_out_opt ISearchResult **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Online )( + __RPC__in IUpdateSearcher3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Online )( + __RPC__in IUpdateSearcher3 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetTotalHistoryCount )( + __RPC__in IUpdateSearcher3 * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceID )( + __RPC__in IUpdateSearcher3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ServiceID )( + __RPC__in IUpdateSearcher3 * This, + /* [in] */ __RPC__in BSTR value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IgnoreDownloadPriority )( + __RPC__in IUpdateSearcher3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IgnoreDownloadPriority )( + __RPC__in IUpdateSearcher3 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SearchScope )( + __RPC__in IUpdateSearcher3 * This, + /* [retval][out] */ __RPC__out SearchScope *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SearchScope )( + __RPC__in IUpdateSearcher3 * This, + /* [in] */ SearchScope value); + + END_INTERFACE + } IUpdateSearcher3Vtbl; + + interface IUpdateSearcher3 + { + CONST_VTBL struct IUpdateSearcher3Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateSearcher3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateSearcher3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateSearcher3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateSearcher3_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateSearcher3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateSearcher3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateSearcher3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateSearcher3_get_CanAutomaticallyUpgradeService(This,retval) \ + ( (This)->lpVtbl -> get_CanAutomaticallyUpgradeService(This,retval) ) + +#define IUpdateSearcher3_put_CanAutomaticallyUpgradeService(This,value) \ + ( (This)->lpVtbl -> put_CanAutomaticallyUpgradeService(This,value) ) + +#define IUpdateSearcher3_get_ClientApplicationID(This,retval) \ + ( (This)->lpVtbl -> get_ClientApplicationID(This,retval) ) + +#define IUpdateSearcher3_put_ClientApplicationID(This,value) \ + ( (This)->lpVtbl -> put_ClientApplicationID(This,value) ) + +#define IUpdateSearcher3_get_IncludePotentiallySupersededUpdates(This,retval) \ + ( (This)->lpVtbl -> get_IncludePotentiallySupersededUpdates(This,retval) ) + +#define IUpdateSearcher3_put_IncludePotentiallySupersededUpdates(This,value) \ + ( (This)->lpVtbl -> put_IncludePotentiallySupersededUpdates(This,value) ) + +#define IUpdateSearcher3_get_ServerSelection(This,retval) \ + ( (This)->lpVtbl -> get_ServerSelection(This,retval) ) + +#define IUpdateSearcher3_put_ServerSelection(This,value) \ + ( (This)->lpVtbl -> put_ServerSelection(This,value) ) + +#define IUpdateSearcher3_BeginSearch(This,criteria,onCompleted,state,retval) \ + ( (This)->lpVtbl -> BeginSearch(This,criteria,onCompleted,state,retval) ) + +#define IUpdateSearcher3_EndSearch(This,searchJob,retval) \ + ( (This)->lpVtbl -> EndSearch(This,searchJob,retval) ) + +#define IUpdateSearcher3_EscapeString(This,unescaped,retval) \ + ( (This)->lpVtbl -> EscapeString(This,unescaped,retval) ) + +#define IUpdateSearcher3_QueryHistory(This,startIndex,count,retval) \ + ( (This)->lpVtbl -> QueryHistory(This,startIndex,count,retval) ) + +#define IUpdateSearcher3_Search(This,criteria,retval) \ + ( (This)->lpVtbl -> Search(This,criteria,retval) ) + +#define IUpdateSearcher3_get_Online(This,retval) \ + ( (This)->lpVtbl -> get_Online(This,retval) ) + +#define IUpdateSearcher3_put_Online(This,value) \ + ( (This)->lpVtbl -> put_Online(This,value) ) + +#define IUpdateSearcher3_GetTotalHistoryCount(This,retval) \ + ( (This)->lpVtbl -> GetTotalHistoryCount(This,retval) ) + +#define IUpdateSearcher3_get_ServiceID(This,retval) \ + ( (This)->lpVtbl -> get_ServiceID(This,retval) ) + +#define IUpdateSearcher3_put_ServiceID(This,value) \ + ( (This)->lpVtbl -> put_ServiceID(This,value) ) + + +#define IUpdateSearcher3_get_IgnoreDownloadPriority(This,retval) \ + ( (This)->lpVtbl -> get_IgnoreDownloadPriority(This,retval) ) + +#define IUpdateSearcher3_put_IgnoreDownloadPriority(This,value) \ + ( (This)->lpVtbl -> put_IgnoreDownloadPriority(This,value) ) + + +#define IUpdateSearcher3_get_SearchScope(This,retval) \ + ( (This)->lpVtbl -> get_SearchScope(This,retval) ) + +#define IUpdateSearcher3_put_SearchScope(This,value) \ + ( (This)->lpVtbl -> put_SearchScope(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateSearcher3_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateDownloadResult_INTERFACE_DEFINED__ +#define __IUpdateDownloadResult_INTERFACE_DEFINED__ + +/* interface IUpdateDownloadResult */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateDownloadResult; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("bf99af76-b575-42ad-8aa4-33cbb5477af1") + IUpdateDownloadResult : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_HResult( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ResultCode( + /* [retval][out] */ __RPC__out OperationResultCode *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateDownloadResultVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateDownloadResult * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateDownloadResult * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateDownloadResult * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateDownloadResult * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateDownloadResult * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateDownloadResult * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateDownloadResult * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HResult )( + __RPC__in IUpdateDownloadResult * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ResultCode )( + __RPC__in IUpdateDownloadResult * This, + /* [retval][out] */ __RPC__out OperationResultCode *retval); + + END_INTERFACE + } IUpdateDownloadResultVtbl; + + interface IUpdateDownloadResult + { + CONST_VTBL struct IUpdateDownloadResultVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateDownloadResult_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateDownloadResult_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateDownloadResult_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateDownloadResult_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateDownloadResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateDownloadResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateDownloadResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateDownloadResult_get_HResult(This,retval) \ + ( (This)->lpVtbl -> get_HResult(This,retval) ) + +#define IUpdateDownloadResult_get_ResultCode(This,retval) \ + ( (This)->lpVtbl -> get_ResultCode(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateDownloadResult_INTERFACE_DEFINED__ */ + + +#ifndef __IDownloadResult_INTERFACE_DEFINED__ +#define __IDownloadResult_INTERFACE_DEFINED__ + +/* interface IDownloadResult */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IDownloadResult; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("daa4fdd0-4727-4dbe-a1e7-745dca317144") + IDownloadResult : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_HResult( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ResultCode( + /* [retval][out] */ __RPC__out OperationResultCode *retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetUpdateResult( + /* [in] */ LONG updateIndex, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloadResult **retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IDownloadResultVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IDownloadResult * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IDownloadResult * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IDownloadResult * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IDownloadResult * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IDownloadResult * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IDownloadResult * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IDownloadResult * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HResult )( + __RPC__in IDownloadResult * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ResultCode )( + __RPC__in IDownloadResult * This, + /* [retval][out] */ __RPC__out OperationResultCode *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetUpdateResult )( + __RPC__in IDownloadResult * This, + /* [in] */ LONG updateIndex, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloadResult **retval); + + END_INTERFACE + } IDownloadResultVtbl; + + interface IDownloadResult + { + CONST_VTBL struct IDownloadResultVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IDownloadResult_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IDownloadResult_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IDownloadResult_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IDownloadResult_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IDownloadResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IDownloadResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IDownloadResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IDownloadResult_get_HResult(This,retval) \ + ( (This)->lpVtbl -> get_HResult(This,retval) ) + +#define IDownloadResult_get_ResultCode(This,retval) \ + ( (This)->lpVtbl -> get_ResultCode(This,retval) ) + +#define IDownloadResult_GetUpdateResult(This,updateIndex,retval) \ + ( (This)->lpVtbl -> GetUpdateResult(This,updateIndex,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDownloadResult_INTERFACE_DEFINED__ */ + + +#ifndef __IDownloadProgress_INTERFACE_DEFINED__ +#define __IDownloadProgress_INTERFACE_DEFINED__ + +/* interface IDownloadProgress */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IDownloadProgress; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("d31a5bac-f719-4178-9dbb-5e2cb47fd18a") + IDownloadProgress : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_CurrentUpdateBytesDownloaded( + /* [retval][out] */ __RPC__out DECIMAL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_CurrentUpdateBytesToDownload( + /* [retval][out] */ __RPC__out DECIMAL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_CurrentUpdateIndex( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_PercentComplete( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_TotalBytesDownloaded( + /* [retval][out] */ __RPC__out DECIMAL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_TotalBytesToDownload( + /* [retval][out] */ __RPC__out DECIMAL *retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetUpdateResult( + /* [in] */ LONG updateIndex, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloadResult **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_CurrentUpdateDownloadPhase( + /* [retval][out] */ __RPC__out DownloadPhase *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_CurrentUpdatePercentComplete( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IDownloadProgressVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IDownloadProgress * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IDownloadProgress * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IDownloadProgress * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IDownloadProgress * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IDownloadProgress * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IDownloadProgress * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IDownloadProgress * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentUpdateBytesDownloaded )( + __RPC__in IDownloadProgress * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentUpdateBytesToDownload )( + __RPC__in IDownloadProgress * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentUpdateIndex )( + __RPC__in IDownloadProgress * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PercentComplete )( + __RPC__in IDownloadProgress * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TotalBytesDownloaded )( + __RPC__in IDownloadProgress * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TotalBytesToDownload )( + __RPC__in IDownloadProgress * This, + /* [retval][out] */ __RPC__out DECIMAL *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetUpdateResult )( + __RPC__in IDownloadProgress * This, + /* [in] */ LONG updateIndex, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloadResult **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentUpdateDownloadPhase )( + __RPC__in IDownloadProgress * This, + /* [retval][out] */ __RPC__out DownloadPhase *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentUpdatePercentComplete )( + __RPC__in IDownloadProgress * This, + /* [retval][out] */ __RPC__out LONG *retval); + + END_INTERFACE + } IDownloadProgressVtbl; + + interface IDownloadProgress + { + CONST_VTBL struct IDownloadProgressVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IDownloadProgress_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IDownloadProgress_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IDownloadProgress_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IDownloadProgress_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IDownloadProgress_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IDownloadProgress_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IDownloadProgress_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IDownloadProgress_get_CurrentUpdateBytesDownloaded(This,retval) \ + ( (This)->lpVtbl -> get_CurrentUpdateBytesDownloaded(This,retval) ) + +#define IDownloadProgress_get_CurrentUpdateBytesToDownload(This,retval) \ + ( (This)->lpVtbl -> get_CurrentUpdateBytesToDownload(This,retval) ) + +#define IDownloadProgress_get_CurrentUpdateIndex(This,retval) \ + ( (This)->lpVtbl -> get_CurrentUpdateIndex(This,retval) ) + +#define IDownloadProgress_get_PercentComplete(This,retval) \ + ( (This)->lpVtbl -> get_PercentComplete(This,retval) ) + +#define IDownloadProgress_get_TotalBytesDownloaded(This,retval) \ + ( (This)->lpVtbl -> get_TotalBytesDownloaded(This,retval) ) + +#define IDownloadProgress_get_TotalBytesToDownload(This,retval) \ + ( (This)->lpVtbl -> get_TotalBytesToDownload(This,retval) ) + +#define IDownloadProgress_GetUpdateResult(This,updateIndex,retval) \ + ( (This)->lpVtbl -> GetUpdateResult(This,updateIndex,retval) ) + +#define IDownloadProgress_get_CurrentUpdateDownloadPhase(This,retval) \ + ( (This)->lpVtbl -> get_CurrentUpdateDownloadPhase(This,retval) ) + +#define IDownloadProgress_get_CurrentUpdatePercentComplete(This,retval) \ + ( (This)->lpVtbl -> get_CurrentUpdatePercentComplete(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDownloadProgress_INTERFACE_DEFINED__ */ + + +#ifndef __IDownloadJob_INTERFACE_DEFINED__ +#define __IDownloadJob_INTERFACE_DEFINED__ + +/* interface IDownloadJob */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IDownloadJob; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("c574de85-7358-43f6-aae8-8697e62d8ba7") + IDownloadJob : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AsyncState( + /* [retval][out] */ __RPC__out VARIANT *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsCompleted( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Updates( + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CleanUp( void) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetProgress( + /* [retval][out] */ __RPC__deref_out_opt IDownloadProgress **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RequestAbort( void) = 0; + + }; + +#else /* C style interface */ + + typedef struct IDownloadJobVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IDownloadJob * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IDownloadJob * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IDownloadJob * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IDownloadJob * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IDownloadJob * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IDownloadJob * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IDownloadJob * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AsyncState )( + __RPC__in IDownloadJob * This, + /* [retval][out] */ __RPC__out VARIANT *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsCompleted )( + __RPC__in IDownloadJob * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Updates )( + __RPC__in IDownloadJob * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CleanUp )( + __RPC__in IDownloadJob * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetProgress )( + __RPC__in IDownloadJob * This, + /* [retval][out] */ __RPC__deref_out_opt IDownloadProgress **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RequestAbort )( + __RPC__in IDownloadJob * This); + + END_INTERFACE + } IDownloadJobVtbl; + + interface IDownloadJob + { + CONST_VTBL struct IDownloadJobVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IDownloadJob_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IDownloadJob_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IDownloadJob_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IDownloadJob_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IDownloadJob_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IDownloadJob_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IDownloadJob_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IDownloadJob_get_AsyncState(This,retval) \ + ( (This)->lpVtbl -> get_AsyncState(This,retval) ) + +#define IDownloadJob_get_IsCompleted(This,retval) \ + ( (This)->lpVtbl -> get_IsCompleted(This,retval) ) + +#define IDownloadJob_get_Updates(This,retval) \ + ( (This)->lpVtbl -> get_Updates(This,retval) ) + +#define IDownloadJob_CleanUp(This) \ + ( (This)->lpVtbl -> CleanUp(This) ) + +#define IDownloadJob_GetProgress(This,retval) \ + ( (This)->lpVtbl -> GetProgress(This,retval) ) + +#define IDownloadJob_RequestAbort(This) \ + ( (This)->lpVtbl -> RequestAbort(This) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDownloadJob_INTERFACE_DEFINED__ */ + + +#ifndef __IDownloadCompletedCallbackArgs_INTERFACE_DEFINED__ +#define __IDownloadCompletedCallbackArgs_INTERFACE_DEFINED__ + +/* interface IDownloadCompletedCallbackArgs */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IDownloadCompletedCallbackArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("fa565b23-498c-47a0-979d-e7d5b1813360") + IDownloadCompletedCallbackArgs : public IDispatch + { + public: + }; + +#else /* C style interface */ + + typedef struct IDownloadCompletedCallbackArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IDownloadCompletedCallbackArgs * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IDownloadCompletedCallbackArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IDownloadCompletedCallbackArgs * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IDownloadCompletedCallbackArgs * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IDownloadCompletedCallbackArgs * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IDownloadCompletedCallbackArgs * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IDownloadCompletedCallbackArgs * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + END_INTERFACE + } IDownloadCompletedCallbackArgsVtbl; + + interface IDownloadCompletedCallbackArgs + { + CONST_VTBL struct IDownloadCompletedCallbackArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IDownloadCompletedCallbackArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IDownloadCompletedCallbackArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IDownloadCompletedCallbackArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IDownloadCompletedCallbackArgs_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IDownloadCompletedCallbackArgs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IDownloadCompletedCallbackArgs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IDownloadCompletedCallbackArgs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDownloadCompletedCallbackArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IDownloadCompletedCallback_INTERFACE_DEFINED__ +#define __IDownloadCompletedCallback_INTERFACE_DEFINED__ + +/* interface IDownloadCompletedCallback */ +/* [unique][uuid][nonextensible][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IDownloadCompletedCallback; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("77254866-9f5b-4c8e-b9e2-c77a8530d64b") + IDownloadCompletedCallback : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Invoke( + /* [in] */ __RPC__in_opt IDownloadJob *downloadJob, + /* [in] */ __RPC__in_opt IDownloadCompletedCallbackArgs *callbackArgs) = 0; + + }; + +#else /* C style interface */ + + typedef struct IDownloadCompletedCallbackVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IDownloadCompletedCallback * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IDownloadCompletedCallback * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IDownloadCompletedCallback * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + __RPC__in IDownloadCompletedCallback * This, + /* [in] */ __RPC__in_opt IDownloadJob *downloadJob, + /* [in] */ __RPC__in_opt IDownloadCompletedCallbackArgs *callbackArgs); + + END_INTERFACE + } IDownloadCompletedCallbackVtbl; + + interface IDownloadCompletedCallback + { + CONST_VTBL struct IDownloadCompletedCallbackVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IDownloadCompletedCallback_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IDownloadCompletedCallback_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IDownloadCompletedCallback_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IDownloadCompletedCallback_Invoke(This,downloadJob,callbackArgs) \ + ( (This)->lpVtbl -> Invoke(This,downloadJob,callbackArgs) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDownloadCompletedCallback_INTERFACE_DEFINED__ */ + + +#ifndef __IDownloadProgressChangedCallbackArgs_INTERFACE_DEFINED__ +#define __IDownloadProgressChangedCallbackArgs_INTERFACE_DEFINED__ + +/* interface IDownloadProgressChangedCallbackArgs */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IDownloadProgressChangedCallbackArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("324ff2c6-4981-4b04-9412-57481745ab24") + IDownloadProgressChangedCallbackArgs : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Progress( + /* [retval][out] */ __RPC__deref_out_opt IDownloadProgress **retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IDownloadProgressChangedCallbackArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IDownloadProgressChangedCallbackArgs * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IDownloadProgressChangedCallbackArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IDownloadProgressChangedCallbackArgs * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IDownloadProgressChangedCallbackArgs * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IDownloadProgressChangedCallbackArgs * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IDownloadProgressChangedCallbackArgs * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IDownloadProgressChangedCallbackArgs * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Progress )( + __RPC__in IDownloadProgressChangedCallbackArgs * This, + /* [retval][out] */ __RPC__deref_out_opt IDownloadProgress **retval); + + END_INTERFACE + } IDownloadProgressChangedCallbackArgsVtbl; + + interface IDownloadProgressChangedCallbackArgs + { + CONST_VTBL struct IDownloadProgressChangedCallbackArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IDownloadProgressChangedCallbackArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IDownloadProgressChangedCallbackArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IDownloadProgressChangedCallbackArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IDownloadProgressChangedCallbackArgs_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IDownloadProgressChangedCallbackArgs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IDownloadProgressChangedCallbackArgs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IDownloadProgressChangedCallbackArgs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IDownloadProgressChangedCallbackArgs_get_Progress(This,retval) \ + ( (This)->lpVtbl -> get_Progress(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDownloadProgressChangedCallbackArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IDownloadProgressChangedCallback_INTERFACE_DEFINED__ +#define __IDownloadProgressChangedCallback_INTERFACE_DEFINED__ + +/* interface IDownloadProgressChangedCallback */ +/* [unique][uuid][nonextensible][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IDownloadProgressChangedCallback; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("8c3f1cdd-6173-4591-aebd-a56a53ca77c1") + IDownloadProgressChangedCallback : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Invoke( + /* [in] */ __RPC__in_opt IDownloadJob *downloadJob, + /* [in] */ __RPC__in_opt IDownloadProgressChangedCallbackArgs *callbackArgs) = 0; + + }; + +#else /* C style interface */ + + typedef struct IDownloadProgressChangedCallbackVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IDownloadProgressChangedCallback * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IDownloadProgressChangedCallback * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IDownloadProgressChangedCallback * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + __RPC__in IDownloadProgressChangedCallback * This, + /* [in] */ __RPC__in_opt IDownloadJob *downloadJob, + /* [in] */ __RPC__in_opt IDownloadProgressChangedCallbackArgs *callbackArgs); + + END_INTERFACE + } IDownloadProgressChangedCallbackVtbl; + + interface IDownloadProgressChangedCallback + { + CONST_VTBL struct IDownloadProgressChangedCallbackVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IDownloadProgressChangedCallback_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IDownloadProgressChangedCallback_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IDownloadProgressChangedCallback_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IDownloadProgressChangedCallback_Invoke(This,downloadJob,callbackArgs) \ + ( (This)->lpVtbl -> Invoke(This,downloadJob,callbackArgs) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDownloadProgressChangedCallback_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateDownloader_INTERFACE_DEFINED__ +#define __IUpdateDownloader_INTERFACE_DEFINED__ + +/* interface IUpdateDownloader */ +/* [hidden][unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateDownloader; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("68f1c6f9-7ecc-4666-a464-247fe12496c3") + IUpdateDownloader : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ClientApplicationID( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_ClientApplicationID( + /* [in] */ __RPC__in BSTR value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsForced( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_IsForced( + /* [in] */ VARIANT_BOOL value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Priority( + /* [retval][out] */ __RPC__out DownloadPriority *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Priority( + /* [in] */ DownloadPriority value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Updates( + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Updates( + /* [in] */ __RPC__in_opt IUpdateCollection *value) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BeginDownload( + /* [in] */ __RPC__in_opt IUnknown *onProgressChanged, + /* [in] */ __RPC__in_opt IUnknown *onCompleted, + /* [in] */ VARIANT state, + /* [retval][out] */ __RPC__deref_out_opt IDownloadJob **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Download( + /* [retval][out] */ __RPC__deref_out_opt IDownloadResult **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EndDownload( + /* [in] */ __RPC__in_opt IDownloadJob *value, + /* [retval][out] */ __RPC__deref_out_opt IDownloadResult **retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateDownloaderVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateDownloader * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateDownloader * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateDownloader * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateDownloader * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateDownloader * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateDownloader * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateDownloader * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ClientApplicationID )( + __RPC__in IUpdateDownloader * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClientApplicationID )( + __RPC__in IUpdateDownloader * This, + /* [in] */ __RPC__in BSTR value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsForced )( + __RPC__in IUpdateDownloader * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IsForced )( + __RPC__in IUpdateDownloader * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Priority )( + __RPC__in IUpdateDownloader * This, + /* [retval][out] */ __RPC__out DownloadPriority *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Priority )( + __RPC__in IUpdateDownloader * This, + /* [in] */ DownloadPriority value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Updates )( + __RPC__in IUpdateDownloader * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Updates )( + __RPC__in IUpdateDownloader * This, + /* [in] */ __RPC__in_opt IUpdateCollection *value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BeginDownload )( + __RPC__in IUpdateDownloader * This, + /* [in] */ __RPC__in_opt IUnknown *onProgressChanged, + /* [in] */ __RPC__in_opt IUnknown *onCompleted, + /* [in] */ VARIANT state, + /* [retval][out] */ __RPC__deref_out_opt IDownloadJob **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Download )( + __RPC__in IUpdateDownloader * This, + /* [retval][out] */ __RPC__deref_out_opt IDownloadResult **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EndDownload )( + __RPC__in IUpdateDownloader * This, + /* [in] */ __RPC__in_opt IDownloadJob *value, + /* [retval][out] */ __RPC__deref_out_opt IDownloadResult **retval); + + END_INTERFACE + } IUpdateDownloaderVtbl; + + interface IUpdateDownloader + { + CONST_VTBL struct IUpdateDownloaderVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateDownloader_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateDownloader_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateDownloader_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateDownloader_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateDownloader_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateDownloader_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateDownloader_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateDownloader_get_ClientApplicationID(This,retval) \ + ( (This)->lpVtbl -> get_ClientApplicationID(This,retval) ) + +#define IUpdateDownloader_put_ClientApplicationID(This,value) \ + ( (This)->lpVtbl -> put_ClientApplicationID(This,value) ) + +#define IUpdateDownloader_get_IsForced(This,retval) \ + ( (This)->lpVtbl -> get_IsForced(This,retval) ) + +#define IUpdateDownloader_put_IsForced(This,value) \ + ( (This)->lpVtbl -> put_IsForced(This,value) ) + +#define IUpdateDownloader_get_Priority(This,retval) \ + ( (This)->lpVtbl -> get_Priority(This,retval) ) + +#define IUpdateDownloader_put_Priority(This,value) \ + ( (This)->lpVtbl -> put_Priority(This,value) ) + +#define IUpdateDownloader_get_Updates(This,retval) \ + ( (This)->lpVtbl -> get_Updates(This,retval) ) + +#define IUpdateDownloader_put_Updates(This,value) \ + ( (This)->lpVtbl -> put_Updates(This,value) ) + +#define IUpdateDownloader_BeginDownload(This,onProgressChanged,onCompleted,state,retval) \ + ( (This)->lpVtbl -> BeginDownload(This,onProgressChanged,onCompleted,state,retval) ) + +#define IUpdateDownloader_Download(This,retval) \ + ( (This)->lpVtbl -> Download(This,retval) ) + +#define IUpdateDownloader_EndDownload(This,value,retval) \ + ( (This)->lpVtbl -> EndDownload(This,value,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateDownloader_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateInstallationResult_INTERFACE_DEFINED__ +#define __IUpdateInstallationResult_INTERFACE_DEFINED__ + +/* interface IUpdateInstallationResult */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateInstallationResult; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("d940f0f8-3cbb-4fd0-993f-471e7f2328ad") + IUpdateInstallationResult : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_HResult( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RebootRequired( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ResultCode( + /* [retval][out] */ __RPC__out OperationResultCode *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateInstallationResultVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateInstallationResult * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateInstallationResult * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateInstallationResult * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateInstallationResult * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateInstallationResult * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateInstallationResult * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateInstallationResult * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HResult )( + __RPC__in IUpdateInstallationResult * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RebootRequired )( + __RPC__in IUpdateInstallationResult * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ResultCode )( + __RPC__in IUpdateInstallationResult * This, + /* [retval][out] */ __RPC__out OperationResultCode *retval); + + END_INTERFACE + } IUpdateInstallationResultVtbl; + + interface IUpdateInstallationResult + { + CONST_VTBL struct IUpdateInstallationResultVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateInstallationResult_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateInstallationResult_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateInstallationResult_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateInstallationResult_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateInstallationResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateInstallationResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateInstallationResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateInstallationResult_get_HResult(This,retval) \ + ( (This)->lpVtbl -> get_HResult(This,retval) ) + +#define IUpdateInstallationResult_get_RebootRequired(This,retval) \ + ( (This)->lpVtbl -> get_RebootRequired(This,retval) ) + +#define IUpdateInstallationResult_get_ResultCode(This,retval) \ + ( (This)->lpVtbl -> get_ResultCode(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateInstallationResult_INTERFACE_DEFINED__ */ + + +#ifndef __IInstallationResult_INTERFACE_DEFINED__ +#define __IInstallationResult_INTERFACE_DEFINED__ + +/* interface IInstallationResult */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IInstallationResult; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("a43c56d6-7451-48d4-af96-b6cd2d0d9b7a") + IInstallationResult : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_HResult( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RebootRequired( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ResultCode( + /* [retval][out] */ __RPC__out OperationResultCode *retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetUpdateResult( + /* [in] */ LONG updateIndex, + /* [retval][out] */ __RPC__deref_out_opt IUpdateInstallationResult **retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IInstallationResultVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IInstallationResult * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IInstallationResult * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IInstallationResult * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IInstallationResult * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IInstallationResult * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IInstallationResult * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IInstallationResult * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HResult )( + __RPC__in IInstallationResult * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RebootRequired )( + __RPC__in IInstallationResult * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ResultCode )( + __RPC__in IInstallationResult * This, + /* [retval][out] */ __RPC__out OperationResultCode *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetUpdateResult )( + __RPC__in IInstallationResult * This, + /* [in] */ LONG updateIndex, + /* [retval][out] */ __RPC__deref_out_opt IUpdateInstallationResult **retval); + + END_INTERFACE + } IInstallationResultVtbl; + + interface IInstallationResult + { + CONST_VTBL struct IInstallationResultVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IInstallationResult_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IInstallationResult_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IInstallationResult_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IInstallationResult_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IInstallationResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IInstallationResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IInstallationResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IInstallationResult_get_HResult(This,retval) \ + ( (This)->lpVtbl -> get_HResult(This,retval) ) + +#define IInstallationResult_get_RebootRequired(This,retval) \ + ( (This)->lpVtbl -> get_RebootRequired(This,retval) ) + +#define IInstallationResult_get_ResultCode(This,retval) \ + ( (This)->lpVtbl -> get_ResultCode(This,retval) ) + +#define IInstallationResult_GetUpdateResult(This,updateIndex,retval) \ + ( (This)->lpVtbl -> GetUpdateResult(This,updateIndex,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IInstallationResult_INTERFACE_DEFINED__ */ + + +#ifndef __IInstallationProgress_INTERFACE_DEFINED__ +#define __IInstallationProgress_INTERFACE_DEFINED__ + +/* interface IInstallationProgress */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IInstallationProgress; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("345c8244-43a3-4e32-a368-65f073b76f36") + IInstallationProgress : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_CurrentUpdateIndex( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_CurrentUpdatePercentComplete( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_PercentComplete( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetUpdateResult( + /* [in] */ LONG updateIndex, + /* [retval][out] */ __RPC__deref_out_opt IUpdateInstallationResult **retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IInstallationProgressVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IInstallationProgress * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IInstallationProgress * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IInstallationProgress * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IInstallationProgress * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IInstallationProgress * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IInstallationProgress * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IInstallationProgress * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentUpdateIndex )( + __RPC__in IInstallationProgress * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentUpdatePercentComplete )( + __RPC__in IInstallationProgress * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PercentComplete )( + __RPC__in IInstallationProgress * This, + /* [retval][out] */ __RPC__out LONG *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetUpdateResult )( + __RPC__in IInstallationProgress * This, + /* [in] */ LONG updateIndex, + /* [retval][out] */ __RPC__deref_out_opt IUpdateInstallationResult **retval); + + END_INTERFACE + } IInstallationProgressVtbl; + + interface IInstallationProgress + { + CONST_VTBL struct IInstallationProgressVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IInstallationProgress_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IInstallationProgress_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IInstallationProgress_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IInstallationProgress_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IInstallationProgress_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IInstallationProgress_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IInstallationProgress_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IInstallationProgress_get_CurrentUpdateIndex(This,retval) \ + ( (This)->lpVtbl -> get_CurrentUpdateIndex(This,retval) ) + +#define IInstallationProgress_get_CurrentUpdatePercentComplete(This,retval) \ + ( (This)->lpVtbl -> get_CurrentUpdatePercentComplete(This,retval) ) + +#define IInstallationProgress_get_PercentComplete(This,retval) \ + ( (This)->lpVtbl -> get_PercentComplete(This,retval) ) + +#define IInstallationProgress_GetUpdateResult(This,updateIndex,retval) \ + ( (This)->lpVtbl -> GetUpdateResult(This,updateIndex,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IInstallationProgress_INTERFACE_DEFINED__ */ + + +#ifndef __IInstallationJob_INTERFACE_DEFINED__ +#define __IInstallationJob_INTERFACE_DEFINED__ + +/* interface IInstallationJob */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IInstallationJob; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("5c209f0b-bad5-432a-9556-4699bed2638a") + IInstallationJob : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AsyncState( + /* [retval][out] */ __RPC__out VARIANT *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsCompleted( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Updates( + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CleanUp( void) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetProgress( + /* [retval][out] */ __RPC__deref_out_opt IInstallationProgress **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RequestAbort( void) = 0; + + }; + +#else /* C style interface */ + + typedef struct IInstallationJobVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IInstallationJob * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IInstallationJob * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IInstallationJob * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IInstallationJob * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IInstallationJob * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IInstallationJob * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IInstallationJob * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AsyncState )( + __RPC__in IInstallationJob * This, + /* [retval][out] */ __RPC__out VARIANT *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsCompleted )( + __RPC__in IInstallationJob * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Updates )( + __RPC__in IInstallationJob * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CleanUp )( + __RPC__in IInstallationJob * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetProgress )( + __RPC__in IInstallationJob * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationProgress **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RequestAbort )( + __RPC__in IInstallationJob * This); + + END_INTERFACE + } IInstallationJobVtbl; + + interface IInstallationJob + { + CONST_VTBL struct IInstallationJobVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IInstallationJob_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IInstallationJob_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IInstallationJob_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IInstallationJob_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IInstallationJob_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IInstallationJob_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IInstallationJob_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IInstallationJob_get_AsyncState(This,retval) \ + ( (This)->lpVtbl -> get_AsyncState(This,retval) ) + +#define IInstallationJob_get_IsCompleted(This,retval) \ + ( (This)->lpVtbl -> get_IsCompleted(This,retval) ) + +#define IInstallationJob_get_Updates(This,retval) \ + ( (This)->lpVtbl -> get_Updates(This,retval) ) + +#define IInstallationJob_CleanUp(This) \ + ( (This)->lpVtbl -> CleanUp(This) ) + +#define IInstallationJob_GetProgress(This,retval) \ + ( (This)->lpVtbl -> GetProgress(This,retval) ) + +#define IInstallationJob_RequestAbort(This) \ + ( (This)->lpVtbl -> RequestAbort(This) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IInstallationJob_INTERFACE_DEFINED__ */ + + +#ifndef __IInstallationCompletedCallbackArgs_INTERFACE_DEFINED__ +#define __IInstallationCompletedCallbackArgs_INTERFACE_DEFINED__ + +/* interface IInstallationCompletedCallbackArgs */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IInstallationCompletedCallbackArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("250e2106-8efb-4705-9653-ef13c581b6a1") + IInstallationCompletedCallbackArgs : public IDispatch + { + public: + }; + +#else /* C style interface */ + + typedef struct IInstallationCompletedCallbackArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IInstallationCompletedCallbackArgs * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IInstallationCompletedCallbackArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IInstallationCompletedCallbackArgs * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IInstallationCompletedCallbackArgs * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IInstallationCompletedCallbackArgs * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IInstallationCompletedCallbackArgs * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IInstallationCompletedCallbackArgs * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + END_INTERFACE + } IInstallationCompletedCallbackArgsVtbl; + + interface IInstallationCompletedCallbackArgs + { + CONST_VTBL struct IInstallationCompletedCallbackArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IInstallationCompletedCallbackArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IInstallationCompletedCallbackArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IInstallationCompletedCallbackArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IInstallationCompletedCallbackArgs_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IInstallationCompletedCallbackArgs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IInstallationCompletedCallbackArgs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IInstallationCompletedCallbackArgs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IInstallationCompletedCallbackArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IInstallationCompletedCallback_INTERFACE_DEFINED__ +#define __IInstallationCompletedCallback_INTERFACE_DEFINED__ + +/* interface IInstallationCompletedCallback */ +/* [unique][uuid][nonextensible][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IInstallationCompletedCallback; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("45f4f6f3-d602-4f98-9a8a-3efa152ad2d3") + IInstallationCompletedCallback : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Invoke( + /* [in] */ __RPC__in_opt IInstallationJob *installationJob, + /* [in] */ __RPC__in_opt IInstallationCompletedCallbackArgs *callbackArgs) = 0; + + }; + +#else /* C style interface */ + + typedef struct IInstallationCompletedCallbackVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IInstallationCompletedCallback * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IInstallationCompletedCallback * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IInstallationCompletedCallback * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + __RPC__in IInstallationCompletedCallback * This, + /* [in] */ __RPC__in_opt IInstallationJob *installationJob, + /* [in] */ __RPC__in_opt IInstallationCompletedCallbackArgs *callbackArgs); + + END_INTERFACE + } IInstallationCompletedCallbackVtbl; + + interface IInstallationCompletedCallback + { + CONST_VTBL struct IInstallationCompletedCallbackVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IInstallationCompletedCallback_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IInstallationCompletedCallback_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IInstallationCompletedCallback_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IInstallationCompletedCallback_Invoke(This,installationJob,callbackArgs) \ + ( (This)->lpVtbl -> Invoke(This,installationJob,callbackArgs) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IInstallationCompletedCallback_INTERFACE_DEFINED__ */ + + +#ifndef __IInstallationProgressChangedCallbackArgs_INTERFACE_DEFINED__ +#define __IInstallationProgressChangedCallbackArgs_INTERFACE_DEFINED__ + +/* interface IInstallationProgressChangedCallbackArgs */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IInstallationProgressChangedCallbackArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("e4f14e1e-689d-4218-a0b9-bc189c484a01") + IInstallationProgressChangedCallbackArgs : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Progress( + /* [retval][out] */ __RPC__deref_out_opt IInstallationProgress **retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IInstallationProgressChangedCallbackArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IInstallationProgressChangedCallbackArgs * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IInstallationProgressChangedCallbackArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IInstallationProgressChangedCallbackArgs * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IInstallationProgressChangedCallbackArgs * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IInstallationProgressChangedCallbackArgs * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IInstallationProgressChangedCallbackArgs * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IInstallationProgressChangedCallbackArgs * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Progress )( + __RPC__in IInstallationProgressChangedCallbackArgs * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationProgress **retval); + + END_INTERFACE + } IInstallationProgressChangedCallbackArgsVtbl; + + interface IInstallationProgressChangedCallbackArgs + { + CONST_VTBL struct IInstallationProgressChangedCallbackArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IInstallationProgressChangedCallbackArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IInstallationProgressChangedCallbackArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IInstallationProgressChangedCallbackArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IInstallationProgressChangedCallbackArgs_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IInstallationProgressChangedCallbackArgs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IInstallationProgressChangedCallbackArgs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IInstallationProgressChangedCallbackArgs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IInstallationProgressChangedCallbackArgs_get_Progress(This,retval) \ + ( (This)->lpVtbl -> get_Progress(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IInstallationProgressChangedCallbackArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IInstallationProgressChangedCallback_INTERFACE_DEFINED__ +#define __IInstallationProgressChangedCallback_INTERFACE_DEFINED__ + +/* interface IInstallationProgressChangedCallback */ +/* [unique][uuid][nonextensible][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IInstallationProgressChangedCallback; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("e01402d5-f8da-43ba-a012-38894bd048f1") + IInstallationProgressChangedCallback : public IUnknown + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Invoke( + /* [in] */ __RPC__in_opt IInstallationJob *installationJob, + /* [in] */ __RPC__in_opt IInstallationProgressChangedCallbackArgs *callbackArgs) = 0; + + }; + +#else /* C style interface */ + + typedef struct IInstallationProgressChangedCallbackVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IInstallationProgressChangedCallback * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IInstallationProgressChangedCallback * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IInstallationProgressChangedCallback * This); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + __RPC__in IInstallationProgressChangedCallback * This, + /* [in] */ __RPC__in_opt IInstallationJob *installationJob, + /* [in] */ __RPC__in_opt IInstallationProgressChangedCallbackArgs *callbackArgs); + + END_INTERFACE + } IInstallationProgressChangedCallbackVtbl; + + interface IInstallationProgressChangedCallback + { + CONST_VTBL struct IInstallationProgressChangedCallbackVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IInstallationProgressChangedCallback_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IInstallationProgressChangedCallback_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IInstallationProgressChangedCallback_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IInstallationProgressChangedCallback_Invoke(This,installationJob,callbackArgs) \ + ( (This)->lpVtbl -> Invoke(This,installationJob,callbackArgs) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IInstallationProgressChangedCallback_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateInstaller_INTERFACE_DEFINED__ +#define __IUpdateInstaller_INTERFACE_DEFINED__ + +/* interface IUpdateInstaller */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateInstaller; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("7b929c68-ccdc-4226-96b1-8724600b54c2") + IUpdateInstaller : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ClientApplicationID( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_ClientApplicationID( + /* [in] */ __RPC__in BSTR value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsForced( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_IsForced( + /* [in] */ VARIANT_BOOL value) = 0; + + virtual /* [helpstring][restricted][propget][id] */ HRESULT STDMETHODCALLTYPE get_ParentHwnd( + /* [retval][out] */ __RPC__deref_out_opt HWND *retval) = 0; + + virtual /* [helpstring][restricted][propput][id] */ HRESULT STDMETHODCALLTYPE put_ParentHwnd( + /* [unique][in] */ __RPC__in_opt HWND value) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_ParentWindow( + /* [unique][in] */ __RPC__in_opt IUnknown *value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ParentWindow( + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Updates( + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Updates( + /* [in] */ __RPC__in_opt IUpdateCollection *value) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BeginInstall( + /* [in] */ __RPC__in_opt IUnknown *onProgressChanged, + /* [in] */ __RPC__in_opt IUnknown *onCompleted, + /* [in] */ VARIANT state, + /* [retval][out] */ __RPC__deref_out_opt IInstallationJob **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BeginUninstall( + /* [in] */ __RPC__in_opt IUnknown *onProgressChanged, + /* [in] */ __RPC__in_opt IUnknown *onCompleted, + /* [in] */ VARIANT state, + /* [retval][out] */ __RPC__deref_out_opt IInstallationJob **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EndInstall( + /* [in] */ __RPC__in_opt IInstallationJob *value, + /* [retval][out] */ __RPC__deref_out_opt IInstallationResult **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EndUninstall( + /* [in] */ __RPC__in_opt IInstallationJob *value, + /* [retval][out] */ __RPC__deref_out_opt IInstallationResult **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Install( + /* [retval][out] */ __RPC__deref_out_opt IInstallationResult **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RunWizard( + /* [defaultvalue][unique][in] */ __RPC__in_opt BSTR dialogTitle, + /* [retval][out] */ __RPC__deref_out_opt IInstallationResult **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsBusy( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Uninstall( + /* [retval][out] */ __RPC__deref_out_opt IInstallationResult **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_AllowSourcePrompts( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_AllowSourcePrompts( + /* [in] */ VARIANT_BOOL value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RebootRequiredBeforeInstallation( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateInstallerVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateInstaller * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateInstaller * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateInstaller * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateInstaller * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateInstaller * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateInstaller * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateInstaller * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ClientApplicationID )( + __RPC__in IUpdateInstaller * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClientApplicationID )( + __RPC__in IUpdateInstaller * This, + /* [in] */ __RPC__in BSTR value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsForced )( + __RPC__in IUpdateInstaller * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IsForced )( + __RPC__in IUpdateInstaller * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][restricted][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ParentHwnd )( + __RPC__in IUpdateInstaller * This, + /* [retval][out] */ __RPC__deref_out_opt HWND *retval); + + /* [helpstring][restricted][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ParentHwnd )( + __RPC__in IUpdateInstaller * This, + /* [unique][in] */ __RPC__in_opt HWND value); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ParentWindow )( + __RPC__in IUpdateInstaller * This, + /* [unique][in] */ __RPC__in_opt IUnknown *value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ParentWindow )( + __RPC__in IUpdateInstaller * This, + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Updates )( + __RPC__in IUpdateInstaller * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Updates )( + __RPC__in IUpdateInstaller * This, + /* [in] */ __RPC__in_opt IUpdateCollection *value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BeginInstall )( + __RPC__in IUpdateInstaller * This, + /* [in] */ __RPC__in_opt IUnknown *onProgressChanged, + /* [in] */ __RPC__in_opt IUnknown *onCompleted, + /* [in] */ VARIANT state, + /* [retval][out] */ __RPC__deref_out_opt IInstallationJob **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BeginUninstall )( + __RPC__in IUpdateInstaller * This, + /* [in] */ __RPC__in_opt IUnknown *onProgressChanged, + /* [in] */ __RPC__in_opt IUnknown *onCompleted, + /* [in] */ VARIANT state, + /* [retval][out] */ __RPC__deref_out_opt IInstallationJob **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EndInstall )( + __RPC__in IUpdateInstaller * This, + /* [in] */ __RPC__in_opt IInstallationJob *value, + /* [retval][out] */ __RPC__deref_out_opt IInstallationResult **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EndUninstall )( + __RPC__in IUpdateInstaller * This, + /* [in] */ __RPC__in_opt IInstallationJob *value, + /* [retval][out] */ __RPC__deref_out_opt IInstallationResult **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Install )( + __RPC__in IUpdateInstaller * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationResult **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RunWizard )( + __RPC__in IUpdateInstaller * This, + /* [defaultvalue][unique][in] */ __RPC__in_opt BSTR dialogTitle, + /* [retval][out] */ __RPC__deref_out_opt IInstallationResult **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsBusy )( + __RPC__in IUpdateInstaller * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Uninstall )( + __RPC__in IUpdateInstaller * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationResult **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AllowSourcePrompts )( + __RPC__in IUpdateInstaller * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AllowSourcePrompts )( + __RPC__in IUpdateInstaller * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RebootRequiredBeforeInstallation )( + __RPC__in IUpdateInstaller * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + END_INTERFACE + } IUpdateInstallerVtbl; + + interface IUpdateInstaller + { + CONST_VTBL struct IUpdateInstallerVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateInstaller_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateInstaller_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateInstaller_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateInstaller_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateInstaller_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateInstaller_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateInstaller_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateInstaller_get_ClientApplicationID(This,retval) \ + ( (This)->lpVtbl -> get_ClientApplicationID(This,retval) ) + +#define IUpdateInstaller_put_ClientApplicationID(This,value) \ + ( (This)->lpVtbl -> put_ClientApplicationID(This,value) ) + +#define IUpdateInstaller_get_IsForced(This,retval) \ + ( (This)->lpVtbl -> get_IsForced(This,retval) ) + +#define IUpdateInstaller_put_IsForced(This,value) \ + ( (This)->lpVtbl -> put_IsForced(This,value) ) + +#define IUpdateInstaller_get_ParentHwnd(This,retval) \ + ( (This)->lpVtbl -> get_ParentHwnd(This,retval) ) + +#define IUpdateInstaller_put_ParentHwnd(This,value) \ + ( (This)->lpVtbl -> put_ParentHwnd(This,value) ) + +#define IUpdateInstaller_put_ParentWindow(This,value) \ + ( (This)->lpVtbl -> put_ParentWindow(This,value) ) + +#define IUpdateInstaller_get_ParentWindow(This,retval) \ + ( (This)->lpVtbl -> get_ParentWindow(This,retval) ) + +#define IUpdateInstaller_get_Updates(This,retval) \ + ( (This)->lpVtbl -> get_Updates(This,retval) ) + +#define IUpdateInstaller_put_Updates(This,value) \ + ( (This)->lpVtbl -> put_Updates(This,value) ) + +#define IUpdateInstaller_BeginInstall(This,onProgressChanged,onCompleted,state,retval) \ + ( (This)->lpVtbl -> BeginInstall(This,onProgressChanged,onCompleted,state,retval) ) + +#define IUpdateInstaller_BeginUninstall(This,onProgressChanged,onCompleted,state,retval) \ + ( (This)->lpVtbl -> BeginUninstall(This,onProgressChanged,onCompleted,state,retval) ) + +#define IUpdateInstaller_EndInstall(This,value,retval) \ + ( (This)->lpVtbl -> EndInstall(This,value,retval) ) + +#define IUpdateInstaller_EndUninstall(This,value,retval) \ + ( (This)->lpVtbl -> EndUninstall(This,value,retval) ) + +#define IUpdateInstaller_Install(This,retval) \ + ( (This)->lpVtbl -> Install(This,retval) ) + +#define IUpdateInstaller_RunWizard(This,dialogTitle,retval) \ + ( (This)->lpVtbl -> RunWizard(This,dialogTitle,retval) ) + +#define IUpdateInstaller_get_IsBusy(This,retval) \ + ( (This)->lpVtbl -> get_IsBusy(This,retval) ) + +#define IUpdateInstaller_Uninstall(This,retval) \ + ( (This)->lpVtbl -> Uninstall(This,retval) ) + +#define IUpdateInstaller_get_AllowSourcePrompts(This,retval) \ + ( (This)->lpVtbl -> get_AllowSourcePrompts(This,retval) ) + +#define IUpdateInstaller_put_AllowSourcePrompts(This,value) \ + ( (This)->lpVtbl -> put_AllowSourcePrompts(This,value) ) + +#define IUpdateInstaller_get_RebootRequiredBeforeInstallation(This,retval) \ + ( (This)->lpVtbl -> get_RebootRequiredBeforeInstallation(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateInstaller_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateInstaller2_INTERFACE_DEFINED__ +#define __IUpdateInstaller2_INTERFACE_DEFINED__ + +/* interface IUpdateInstaller2 */ +/* [hidden][unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateInstaller2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("3442d4fe-224d-4cee-98cf-30e0c4d229e6") + IUpdateInstaller2 : public IUpdateInstaller + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ForceQuiet( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_ForceQuiet( + /* [in] */ VARIANT_BOOL value) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateInstaller2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateInstaller2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateInstaller2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateInstaller2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateInstaller2 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateInstaller2 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateInstaller2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateInstaller2 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ClientApplicationID )( + __RPC__in IUpdateInstaller2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClientApplicationID )( + __RPC__in IUpdateInstaller2 * This, + /* [in] */ __RPC__in BSTR value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsForced )( + __RPC__in IUpdateInstaller2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IsForced )( + __RPC__in IUpdateInstaller2 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][restricted][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ParentHwnd )( + __RPC__in IUpdateInstaller2 * This, + /* [retval][out] */ __RPC__deref_out_opt HWND *retval); + + /* [helpstring][restricted][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ParentHwnd )( + __RPC__in IUpdateInstaller2 * This, + /* [unique][in] */ __RPC__in_opt HWND value); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ParentWindow )( + __RPC__in IUpdateInstaller2 * This, + /* [unique][in] */ __RPC__in_opt IUnknown *value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ParentWindow )( + __RPC__in IUpdateInstaller2 * This, + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Updates )( + __RPC__in IUpdateInstaller2 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateCollection **retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Updates )( + __RPC__in IUpdateInstaller2 * This, + /* [in] */ __RPC__in_opt IUpdateCollection *value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BeginInstall )( + __RPC__in IUpdateInstaller2 * This, + /* [in] */ __RPC__in_opt IUnknown *onProgressChanged, + /* [in] */ __RPC__in_opt IUnknown *onCompleted, + /* [in] */ VARIANT state, + /* [retval][out] */ __RPC__deref_out_opt IInstallationJob **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BeginUninstall )( + __RPC__in IUpdateInstaller2 * This, + /* [in] */ __RPC__in_opt IUnknown *onProgressChanged, + /* [in] */ __RPC__in_opt IUnknown *onCompleted, + /* [in] */ VARIANT state, + /* [retval][out] */ __RPC__deref_out_opt IInstallationJob **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EndInstall )( + __RPC__in IUpdateInstaller2 * This, + /* [in] */ __RPC__in_opt IInstallationJob *value, + /* [retval][out] */ __RPC__deref_out_opt IInstallationResult **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EndUninstall )( + __RPC__in IUpdateInstaller2 * This, + /* [in] */ __RPC__in_opt IInstallationJob *value, + /* [retval][out] */ __RPC__deref_out_opt IInstallationResult **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Install )( + __RPC__in IUpdateInstaller2 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationResult **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RunWizard )( + __RPC__in IUpdateInstaller2 * This, + /* [defaultvalue][unique][in] */ __RPC__in_opt BSTR dialogTitle, + /* [retval][out] */ __RPC__deref_out_opt IInstallationResult **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsBusy )( + __RPC__in IUpdateInstaller2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Uninstall )( + __RPC__in IUpdateInstaller2 * This, + /* [retval][out] */ __RPC__deref_out_opt IInstallationResult **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AllowSourcePrompts )( + __RPC__in IUpdateInstaller2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AllowSourcePrompts )( + __RPC__in IUpdateInstaller2 * This, + /* [in] */ VARIANT_BOOL value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RebootRequiredBeforeInstallation )( + __RPC__in IUpdateInstaller2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ForceQuiet )( + __RPC__in IUpdateInstaller2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ForceQuiet )( + __RPC__in IUpdateInstaller2 * This, + /* [in] */ VARIANT_BOOL value); + + END_INTERFACE + } IUpdateInstaller2Vtbl; + + interface IUpdateInstaller2 + { + CONST_VTBL struct IUpdateInstaller2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateInstaller2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateInstaller2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateInstaller2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateInstaller2_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateInstaller2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateInstaller2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateInstaller2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateInstaller2_get_ClientApplicationID(This,retval) \ + ( (This)->lpVtbl -> get_ClientApplicationID(This,retval) ) + +#define IUpdateInstaller2_put_ClientApplicationID(This,value) \ + ( (This)->lpVtbl -> put_ClientApplicationID(This,value) ) + +#define IUpdateInstaller2_get_IsForced(This,retval) \ + ( (This)->lpVtbl -> get_IsForced(This,retval) ) + +#define IUpdateInstaller2_put_IsForced(This,value) \ + ( (This)->lpVtbl -> put_IsForced(This,value) ) + +#define IUpdateInstaller2_get_ParentHwnd(This,retval) \ + ( (This)->lpVtbl -> get_ParentHwnd(This,retval) ) + +#define IUpdateInstaller2_put_ParentHwnd(This,value) \ + ( (This)->lpVtbl -> put_ParentHwnd(This,value) ) + +#define IUpdateInstaller2_put_ParentWindow(This,value) \ + ( (This)->lpVtbl -> put_ParentWindow(This,value) ) + +#define IUpdateInstaller2_get_ParentWindow(This,retval) \ + ( (This)->lpVtbl -> get_ParentWindow(This,retval) ) + +#define IUpdateInstaller2_get_Updates(This,retval) \ + ( (This)->lpVtbl -> get_Updates(This,retval) ) + +#define IUpdateInstaller2_put_Updates(This,value) \ + ( (This)->lpVtbl -> put_Updates(This,value) ) + +#define IUpdateInstaller2_BeginInstall(This,onProgressChanged,onCompleted,state,retval) \ + ( (This)->lpVtbl -> BeginInstall(This,onProgressChanged,onCompleted,state,retval) ) + +#define IUpdateInstaller2_BeginUninstall(This,onProgressChanged,onCompleted,state,retval) \ + ( (This)->lpVtbl -> BeginUninstall(This,onProgressChanged,onCompleted,state,retval) ) + +#define IUpdateInstaller2_EndInstall(This,value,retval) \ + ( (This)->lpVtbl -> EndInstall(This,value,retval) ) + +#define IUpdateInstaller2_EndUninstall(This,value,retval) \ + ( (This)->lpVtbl -> EndUninstall(This,value,retval) ) + +#define IUpdateInstaller2_Install(This,retval) \ + ( (This)->lpVtbl -> Install(This,retval) ) + +#define IUpdateInstaller2_RunWizard(This,dialogTitle,retval) \ + ( (This)->lpVtbl -> RunWizard(This,dialogTitle,retval) ) + +#define IUpdateInstaller2_get_IsBusy(This,retval) \ + ( (This)->lpVtbl -> get_IsBusy(This,retval) ) + +#define IUpdateInstaller2_Uninstall(This,retval) \ + ( (This)->lpVtbl -> Uninstall(This,retval) ) + +#define IUpdateInstaller2_get_AllowSourcePrompts(This,retval) \ + ( (This)->lpVtbl -> get_AllowSourcePrompts(This,retval) ) + +#define IUpdateInstaller2_put_AllowSourcePrompts(This,value) \ + ( (This)->lpVtbl -> put_AllowSourcePrompts(This,value) ) + +#define IUpdateInstaller2_get_RebootRequiredBeforeInstallation(This,retval) \ + ( (This)->lpVtbl -> get_RebootRequiredBeforeInstallation(This,retval) ) + + +#define IUpdateInstaller2_get_ForceQuiet(This,retval) \ + ( (This)->lpVtbl -> get_ForceQuiet(This,retval) ) + +#define IUpdateInstaller2_put_ForceQuiet(This,value) \ + ( (This)->lpVtbl -> put_ForceQuiet(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateInstaller2_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateSession_INTERFACE_DEFINED__ +#define __IUpdateSession_INTERFACE_DEFINED__ + +/* interface IUpdateSession */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateSession; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("816858a4-260d-4260-933a-2585f1abc76b") + IUpdateSession : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ClientApplicationID( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_ClientApplicationID( + /* [in] */ __RPC__in BSTR value) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ReadOnly( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_WebProxy( + /* [retval][out] */ __RPC__deref_out_opt IWebProxy **retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_WebProxy( + /* [unique][in] */ __RPC__in_opt IWebProxy *value) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateUpdateSearcher( + /* [retval][out] */ __RPC__deref_out_opt IUpdateSearcher **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateUpdateDownloader( + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloader **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateUpdateInstaller( + /* [retval][out] */ __RPC__deref_out_opt IUpdateInstaller **retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateSessionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateSession * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateSession * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateSession * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateSession * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateSession * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateSession * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateSession * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ClientApplicationID )( + __RPC__in IUpdateSession * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClientApplicationID )( + __RPC__in IUpdateSession * This, + /* [in] */ __RPC__in BSTR value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadOnly )( + __RPC__in IUpdateSession * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WebProxy )( + __RPC__in IUpdateSession * This, + /* [retval][out] */ __RPC__deref_out_opt IWebProxy **retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WebProxy )( + __RPC__in IUpdateSession * This, + /* [unique][in] */ __RPC__in_opt IWebProxy *value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateUpdateSearcher )( + __RPC__in IUpdateSession * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateSearcher **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateUpdateDownloader )( + __RPC__in IUpdateSession * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloader **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateUpdateInstaller )( + __RPC__in IUpdateSession * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateInstaller **retval); + + END_INTERFACE + } IUpdateSessionVtbl; + + interface IUpdateSession + { + CONST_VTBL struct IUpdateSessionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateSession_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateSession_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateSession_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateSession_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateSession_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateSession_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateSession_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateSession_get_ClientApplicationID(This,retval) \ + ( (This)->lpVtbl -> get_ClientApplicationID(This,retval) ) + +#define IUpdateSession_put_ClientApplicationID(This,value) \ + ( (This)->lpVtbl -> put_ClientApplicationID(This,value) ) + +#define IUpdateSession_get_ReadOnly(This,retval) \ + ( (This)->lpVtbl -> get_ReadOnly(This,retval) ) + +#define IUpdateSession_get_WebProxy(This,retval) \ + ( (This)->lpVtbl -> get_WebProxy(This,retval) ) + +#define IUpdateSession_put_WebProxy(This,value) \ + ( (This)->lpVtbl -> put_WebProxy(This,value) ) + +#define IUpdateSession_CreateUpdateSearcher(This,retval) \ + ( (This)->lpVtbl -> CreateUpdateSearcher(This,retval) ) + +#define IUpdateSession_CreateUpdateDownloader(This,retval) \ + ( (This)->lpVtbl -> CreateUpdateDownloader(This,retval) ) + +#define IUpdateSession_CreateUpdateInstaller(This,retval) \ + ( (This)->lpVtbl -> CreateUpdateInstaller(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateSession_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateSession2_INTERFACE_DEFINED__ +#define __IUpdateSession2_INTERFACE_DEFINED__ + +/* interface IUpdateSession2 */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateSession2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("91caf7b0-eb23-49ed-9937-c52d817f46f7") + IUpdateSession2 : public IUpdateSession + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_UserLocale( + /* [retval][out] */ __RPC__out LCID *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_UserLocale( + /* [in] */ LCID lcid) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateSession2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateSession2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateSession2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateSession2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateSession2 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateSession2 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateSession2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateSession2 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ClientApplicationID )( + __RPC__in IUpdateSession2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClientApplicationID )( + __RPC__in IUpdateSession2 * This, + /* [in] */ __RPC__in BSTR value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadOnly )( + __RPC__in IUpdateSession2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WebProxy )( + __RPC__in IUpdateSession2 * This, + /* [retval][out] */ __RPC__deref_out_opt IWebProxy **retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WebProxy )( + __RPC__in IUpdateSession2 * This, + /* [unique][in] */ __RPC__in_opt IWebProxy *value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateUpdateSearcher )( + __RPC__in IUpdateSession2 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateSearcher **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateUpdateDownloader )( + __RPC__in IUpdateSession2 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloader **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateUpdateInstaller )( + __RPC__in IUpdateSession2 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateInstaller **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserLocale )( + __RPC__in IUpdateSession2 * This, + /* [retval][out] */ __RPC__out LCID *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserLocale )( + __RPC__in IUpdateSession2 * This, + /* [in] */ LCID lcid); + + END_INTERFACE + } IUpdateSession2Vtbl; + + interface IUpdateSession2 + { + CONST_VTBL struct IUpdateSession2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateSession2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateSession2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateSession2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateSession2_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateSession2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateSession2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateSession2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateSession2_get_ClientApplicationID(This,retval) \ + ( (This)->lpVtbl -> get_ClientApplicationID(This,retval) ) + +#define IUpdateSession2_put_ClientApplicationID(This,value) \ + ( (This)->lpVtbl -> put_ClientApplicationID(This,value) ) + +#define IUpdateSession2_get_ReadOnly(This,retval) \ + ( (This)->lpVtbl -> get_ReadOnly(This,retval) ) + +#define IUpdateSession2_get_WebProxy(This,retval) \ + ( (This)->lpVtbl -> get_WebProxy(This,retval) ) + +#define IUpdateSession2_put_WebProxy(This,value) \ + ( (This)->lpVtbl -> put_WebProxy(This,value) ) + +#define IUpdateSession2_CreateUpdateSearcher(This,retval) \ + ( (This)->lpVtbl -> CreateUpdateSearcher(This,retval) ) + +#define IUpdateSession2_CreateUpdateDownloader(This,retval) \ + ( (This)->lpVtbl -> CreateUpdateDownloader(This,retval) ) + +#define IUpdateSession2_CreateUpdateInstaller(This,retval) \ + ( (This)->lpVtbl -> CreateUpdateInstaller(This,retval) ) + + +#define IUpdateSession2_get_UserLocale(This,retval) \ + ( (This)->lpVtbl -> get_UserLocale(This,retval) ) + +#define IUpdateSession2_put_UserLocale(This,lcid) \ + ( (This)->lpVtbl -> put_UserLocale(This,lcid) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateSession2_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateSession3_INTERFACE_DEFINED__ +#define __IUpdateSession3_INTERFACE_DEFINED__ + +/* interface IUpdateSession3 */ +/* [hidden][unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateSession3; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("918EFD1E-B5D8-4c90-8540-AEB9BDC56F9D") + IUpdateSession3 : public IUpdateSession2 + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateUpdateServiceManager( + /* [retval][out] */ __RPC__deref_out_opt IUpdateServiceManager2 **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE QueryHistory( + /* [in] */ __RPC__in BSTR criteria, + /* [in] */ LONG startIndex, + /* [in] */ LONG count, + /* [retval][out] */ __RPC__deref_out_opt IUpdateHistoryEntryCollection **retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateSession3Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateSession3 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateSession3 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateSession3 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateSession3 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateSession3 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateSession3 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateSession3 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ClientApplicationID )( + __RPC__in IUpdateSession3 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClientApplicationID )( + __RPC__in IUpdateSession3 * This, + /* [in] */ __RPC__in BSTR value); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadOnly )( + __RPC__in IUpdateSession3 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WebProxy )( + __RPC__in IUpdateSession3 * This, + /* [retval][out] */ __RPC__deref_out_opt IWebProxy **retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WebProxy )( + __RPC__in IUpdateSession3 * This, + /* [unique][in] */ __RPC__in_opt IWebProxy *value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateUpdateSearcher )( + __RPC__in IUpdateSession3 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateSearcher **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateUpdateDownloader )( + __RPC__in IUpdateSession3 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateDownloader **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateUpdateInstaller )( + __RPC__in IUpdateSession3 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateInstaller **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserLocale )( + __RPC__in IUpdateSession3 * This, + /* [retval][out] */ __RPC__out LCID *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserLocale )( + __RPC__in IUpdateSession3 * This, + /* [in] */ LCID lcid); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateUpdateServiceManager )( + __RPC__in IUpdateSession3 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateServiceManager2 **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *QueryHistory )( + __RPC__in IUpdateSession3 * This, + /* [in] */ __RPC__in BSTR criteria, + /* [in] */ LONG startIndex, + /* [in] */ LONG count, + /* [retval][out] */ __RPC__deref_out_opt IUpdateHistoryEntryCollection **retval); + + END_INTERFACE + } IUpdateSession3Vtbl; + + interface IUpdateSession3 + { + CONST_VTBL struct IUpdateSession3Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateSession3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateSession3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateSession3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateSession3_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateSession3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateSession3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateSession3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateSession3_get_ClientApplicationID(This,retval) \ + ( (This)->lpVtbl -> get_ClientApplicationID(This,retval) ) + +#define IUpdateSession3_put_ClientApplicationID(This,value) \ + ( (This)->lpVtbl -> put_ClientApplicationID(This,value) ) + +#define IUpdateSession3_get_ReadOnly(This,retval) \ + ( (This)->lpVtbl -> get_ReadOnly(This,retval) ) + +#define IUpdateSession3_get_WebProxy(This,retval) \ + ( (This)->lpVtbl -> get_WebProxy(This,retval) ) + +#define IUpdateSession3_put_WebProxy(This,value) \ + ( (This)->lpVtbl -> put_WebProxy(This,value) ) + +#define IUpdateSession3_CreateUpdateSearcher(This,retval) \ + ( (This)->lpVtbl -> CreateUpdateSearcher(This,retval) ) + +#define IUpdateSession3_CreateUpdateDownloader(This,retval) \ + ( (This)->lpVtbl -> CreateUpdateDownloader(This,retval) ) + +#define IUpdateSession3_CreateUpdateInstaller(This,retval) \ + ( (This)->lpVtbl -> CreateUpdateInstaller(This,retval) ) + + +#define IUpdateSession3_get_UserLocale(This,retval) \ + ( (This)->lpVtbl -> get_UserLocale(This,retval) ) + +#define IUpdateSession3_put_UserLocale(This,lcid) \ + ( (This)->lpVtbl -> put_UserLocale(This,lcid) ) + + +#define IUpdateSession3_CreateUpdateServiceManager(This,retval) \ + ( (This)->lpVtbl -> CreateUpdateServiceManager(This,retval) ) + +#define IUpdateSession3_QueryHistory(This,criteria,startIndex,count,retval) \ + ( (This)->lpVtbl -> QueryHistory(This,criteria,startIndex,count,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateSession3_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateService_INTERFACE_DEFINED__ +#define __IUpdateService_INTERFACE_DEFINED__ + +/* interface IUpdateService */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateService; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("76b3b17e-aed6-4da5-85f0-83587f81abe3") + IUpdateService : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ContentValidationCert( + /* [retval][out] */ __RPC__out VARIANT *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ExpirationDate( + /* [retval][out] */ __RPC__out DATE *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsManaged( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsRegisteredWithAU( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IssueDate( + /* [retval][out] */ __RPC__out DATE *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_OffersWindowsUpdates( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RedirectUrls( + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ServiceID( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsScanPackageService( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_CanRegisterWithAU( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ServiceUrl( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SetupPrefix( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateServiceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateService * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateService * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateService * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateService * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateService * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateService * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateService * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + __RPC__in IUpdateService * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContentValidationCert )( + __RPC__in IUpdateService * This, + /* [retval][out] */ __RPC__out VARIANT *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExpirationDate )( + __RPC__in IUpdateService * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsManaged )( + __RPC__in IUpdateService * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsRegisteredWithAU )( + __RPC__in IUpdateService * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IssueDate )( + __RPC__in IUpdateService * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OffersWindowsUpdates )( + __RPC__in IUpdateService * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectUrls )( + __RPC__in IUpdateService * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceID )( + __RPC__in IUpdateService * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsScanPackageService )( + __RPC__in IUpdateService * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanRegisterWithAU )( + __RPC__in IUpdateService * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceUrl )( + __RPC__in IUpdateService * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SetupPrefix )( + __RPC__in IUpdateService * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + END_INTERFACE + } IUpdateServiceVtbl; + + interface IUpdateService + { + CONST_VTBL struct IUpdateServiceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateService_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateService_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateService_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateService_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateService_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateService_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateService_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateService_get_Name(This,retval) \ + ( (This)->lpVtbl -> get_Name(This,retval) ) + +#define IUpdateService_get_ContentValidationCert(This,retval) \ + ( (This)->lpVtbl -> get_ContentValidationCert(This,retval) ) + +#define IUpdateService_get_ExpirationDate(This,retval) \ + ( (This)->lpVtbl -> get_ExpirationDate(This,retval) ) + +#define IUpdateService_get_IsManaged(This,retval) \ + ( (This)->lpVtbl -> get_IsManaged(This,retval) ) + +#define IUpdateService_get_IsRegisteredWithAU(This,retval) \ + ( (This)->lpVtbl -> get_IsRegisteredWithAU(This,retval) ) + +#define IUpdateService_get_IssueDate(This,retval) \ + ( (This)->lpVtbl -> get_IssueDate(This,retval) ) + +#define IUpdateService_get_OffersWindowsUpdates(This,retval) \ + ( (This)->lpVtbl -> get_OffersWindowsUpdates(This,retval) ) + +#define IUpdateService_get_RedirectUrls(This,retval) \ + ( (This)->lpVtbl -> get_RedirectUrls(This,retval) ) + +#define IUpdateService_get_ServiceID(This,retval) \ + ( (This)->lpVtbl -> get_ServiceID(This,retval) ) + +#define IUpdateService_get_IsScanPackageService(This,retval) \ + ( (This)->lpVtbl -> get_IsScanPackageService(This,retval) ) + +#define IUpdateService_get_CanRegisterWithAU(This,retval) \ + ( (This)->lpVtbl -> get_CanRegisterWithAU(This,retval) ) + +#define IUpdateService_get_ServiceUrl(This,retval) \ + ( (This)->lpVtbl -> get_ServiceUrl(This,retval) ) + +#define IUpdateService_get_SetupPrefix(This,retval) \ + ( (This)->lpVtbl -> get_SetupPrefix(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateService_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateService2_INTERFACE_DEFINED__ +#define __IUpdateService2_INTERFACE_DEFINED__ + +/* interface IUpdateService2 */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateService2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("1518b460-6518-4172-940f-c75883b24ceb") + IUpdateService2 : public IUpdateService + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsDefaultAUService( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateService2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateService2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateService2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateService2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateService2 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateService2 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateService2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateService2 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + __RPC__in IUpdateService2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContentValidationCert )( + __RPC__in IUpdateService2 * This, + /* [retval][out] */ __RPC__out VARIANT *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExpirationDate )( + __RPC__in IUpdateService2 * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsManaged )( + __RPC__in IUpdateService2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsRegisteredWithAU )( + __RPC__in IUpdateService2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IssueDate )( + __RPC__in IUpdateService2 * This, + /* [retval][out] */ __RPC__out DATE *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OffersWindowsUpdates )( + __RPC__in IUpdateService2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectUrls )( + __RPC__in IUpdateService2 * This, + /* [retval][out] */ __RPC__deref_out_opt IStringCollection **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceID )( + __RPC__in IUpdateService2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsScanPackageService )( + __RPC__in IUpdateService2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanRegisterWithAU )( + __RPC__in IUpdateService2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceUrl )( + __RPC__in IUpdateService2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SetupPrefix )( + __RPC__in IUpdateService2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefaultAUService )( + __RPC__in IUpdateService2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + END_INTERFACE + } IUpdateService2Vtbl; + + interface IUpdateService2 + { + CONST_VTBL struct IUpdateService2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateService2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateService2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateService2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateService2_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateService2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateService2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateService2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateService2_get_Name(This,retval) \ + ( (This)->lpVtbl -> get_Name(This,retval) ) + +#define IUpdateService2_get_ContentValidationCert(This,retval) \ + ( (This)->lpVtbl -> get_ContentValidationCert(This,retval) ) + +#define IUpdateService2_get_ExpirationDate(This,retval) \ + ( (This)->lpVtbl -> get_ExpirationDate(This,retval) ) + +#define IUpdateService2_get_IsManaged(This,retval) \ + ( (This)->lpVtbl -> get_IsManaged(This,retval) ) + +#define IUpdateService2_get_IsRegisteredWithAU(This,retval) \ + ( (This)->lpVtbl -> get_IsRegisteredWithAU(This,retval) ) + +#define IUpdateService2_get_IssueDate(This,retval) \ + ( (This)->lpVtbl -> get_IssueDate(This,retval) ) + +#define IUpdateService2_get_OffersWindowsUpdates(This,retval) \ + ( (This)->lpVtbl -> get_OffersWindowsUpdates(This,retval) ) + +#define IUpdateService2_get_RedirectUrls(This,retval) \ + ( (This)->lpVtbl -> get_RedirectUrls(This,retval) ) + +#define IUpdateService2_get_ServiceID(This,retval) \ + ( (This)->lpVtbl -> get_ServiceID(This,retval) ) + +#define IUpdateService2_get_IsScanPackageService(This,retval) \ + ( (This)->lpVtbl -> get_IsScanPackageService(This,retval) ) + +#define IUpdateService2_get_CanRegisterWithAU(This,retval) \ + ( (This)->lpVtbl -> get_CanRegisterWithAU(This,retval) ) + +#define IUpdateService2_get_ServiceUrl(This,retval) \ + ( (This)->lpVtbl -> get_ServiceUrl(This,retval) ) + +#define IUpdateService2_get_SetupPrefix(This,retval) \ + ( (This)->lpVtbl -> get_SetupPrefix(This,retval) ) + + +#define IUpdateService2_get_IsDefaultAUService(This,retval) \ + ( (This)->lpVtbl -> get_IsDefaultAUService(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateService2_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateServiceCollection_INTERFACE_DEFINED__ +#define __IUpdateServiceCollection_INTERFACE_DEFINED__ + +/* interface IUpdateServiceCollection */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateServiceCollection; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("9b0353aa-0e52-44ff-b8b0-1f7fa0437f88") + IUpdateServiceCollection : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( + /* [in] */ LONG index, + /* [retval][out] */ __RPC__deref_out_opt IUpdateService **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( + /* [retval][out] */ __RPC__out LONG *retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateServiceCollectionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateServiceCollection * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateServiceCollection * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateServiceCollection * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateServiceCollection * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateServiceCollection * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateServiceCollection * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateServiceCollection * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( + __RPC__in IUpdateServiceCollection * This, + /* [in] */ LONG index, + /* [retval][out] */ __RPC__deref_out_opt IUpdateService **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( + __RPC__in IUpdateServiceCollection * This, + /* [retval][out] */ __RPC__deref_out_opt IUnknown **retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( + __RPC__in IUpdateServiceCollection * This, + /* [retval][out] */ __RPC__out LONG *retval); + + END_INTERFACE + } IUpdateServiceCollectionVtbl; + + interface IUpdateServiceCollection + { + CONST_VTBL struct IUpdateServiceCollectionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateServiceCollection_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateServiceCollection_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateServiceCollection_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateServiceCollection_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateServiceCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateServiceCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateServiceCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateServiceCollection_get_Item(This,index,retval) \ + ( (This)->lpVtbl -> get_Item(This,index,retval) ) + +#define IUpdateServiceCollection_get__NewEnum(This,retval) \ + ( (This)->lpVtbl -> get__NewEnum(This,retval) ) + +#define IUpdateServiceCollection_get_Count(This,retval) \ + ( (This)->lpVtbl -> get_Count(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateServiceCollection_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateServiceRegistration_INTERFACE_DEFINED__ +#define __IUpdateServiceRegistration_INTERFACE_DEFINED__ + +/* interface IUpdateServiceRegistration */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateServiceRegistration; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("dde02280-12b3-4e0b-937b-6747f6acb286") + IUpdateServiceRegistration : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_RegistrationState( + /* [retval][out] */ __RPC__out UpdateServiceRegistrationState *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ServiceID( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsPendingRegistrationWithAU( + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval) = 0; + + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Service( + /* [retval][out] */ __RPC__deref_out_opt IUpdateService2 **retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateServiceRegistrationVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateServiceRegistration * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateServiceRegistration * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateServiceRegistration * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateServiceRegistration * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateServiceRegistration * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateServiceRegistration * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateServiceRegistration * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistrationState )( + __RPC__in IUpdateServiceRegistration * This, + /* [retval][out] */ __RPC__out UpdateServiceRegistrationState *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceID )( + __RPC__in IUpdateServiceRegistration * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsPendingRegistrationWithAU )( + __RPC__in IUpdateServiceRegistration * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *retval); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Service )( + __RPC__in IUpdateServiceRegistration * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateService2 **retval); + + END_INTERFACE + } IUpdateServiceRegistrationVtbl; + + interface IUpdateServiceRegistration + { + CONST_VTBL struct IUpdateServiceRegistrationVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateServiceRegistration_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateServiceRegistration_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateServiceRegistration_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateServiceRegistration_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateServiceRegistration_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateServiceRegistration_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateServiceRegistration_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateServiceRegistration_get_RegistrationState(This,retval) \ + ( (This)->lpVtbl -> get_RegistrationState(This,retval) ) + +#define IUpdateServiceRegistration_get_ServiceID(This,retval) \ + ( (This)->lpVtbl -> get_ServiceID(This,retval) ) + +#define IUpdateServiceRegistration_get_IsPendingRegistrationWithAU(This,retval) \ + ( (This)->lpVtbl -> get_IsPendingRegistrationWithAU(This,retval) ) + +#define IUpdateServiceRegistration_get_Service(This,retval) \ + ( (This)->lpVtbl -> get_Service(This,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateServiceRegistration_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateServiceManager_INTERFACE_DEFINED__ +#define __IUpdateServiceManager_INTERFACE_DEFINED__ + +/* interface IUpdateServiceManager */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateServiceManager; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("23857e3c-02ba-44a3-9423-b1c900805f37") + IUpdateServiceManager : public IDispatch + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Services( + /* [retval][out] */ __RPC__deref_out_opt IUpdateServiceCollection **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddService( + /* [in] */ __RPC__in BSTR serviceID, + /* [in] */ __RPC__in BSTR authorizationCabPath, + /* [retval][out] */ __RPC__deref_out_opt IUpdateService **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RegisterServiceWithAU( + /* [in] */ __RPC__in BSTR serviceID) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveService( + /* [in] */ __RPC__in BSTR serviceID) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UnregisterServiceWithAU( + /* [in] */ __RPC__in BSTR serviceID) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddScanPackageService( + /* [in] */ __RPC__in BSTR serviceName, + /* [in] */ __RPC__in BSTR scanFileLocation, + /* [defaultvalue][in] */ LONG flags, + /* [retval][out] */ __RPC__deref_out_opt IUpdateService **ppService) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetOption( + /* [in] */ __RPC__in BSTR optionName, + /* [in] */ VARIANT optionValue) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateServiceManagerVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateServiceManager * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateServiceManager * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateServiceManager * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateServiceManager * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateServiceManager * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateServiceManager * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateServiceManager * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Services )( + __RPC__in IUpdateServiceManager * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateServiceCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddService )( + __RPC__in IUpdateServiceManager * This, + /* [in] */ __RPC__in BSTR serviceID, + /* [in] */ __RPC__in BSTR authorizationCabPath, + /* [retval][out] */ __RPC__deref_out_opt IUpdateService **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RegisterServiceWithAU )( + __RPC__in IUpdateServiceManager * This, + /* [in] */ __RPC__in BSTR serviceID); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveService )( + __RPC__in IUpdateServiceManager * This, + /* [in] */ __RPC__in BSTR serviceID); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UnregisterServiceWithAU )( + __RPC__in IUpdateServiceManager * This, + /* [in] */ __RPC__in BSTR serviceID); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddScanPackageService )( + __RPC__in IUpdateServiceManager * This, + /* [in] */ __RPC__in BSTR serviceName, + /* [in] */ __RPC__in BSTR scanFileLocation, + /* [defaultvalue][in] */ LONG flags, + /* [retval][out] */ __RPC__deref_out_opt IUpdateService **ppService); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetOption )( + __RPC__in IUpdateServiceManager * This, + /* [in] */ __RPC__in BSTR optionName, + /* [in] */ VARIANT optionValue); + + END_INTERFACE + } IUpdateServiceManagerVtbl; + + interface IUpdateServiceManager + { + CONST_VTBL struct IUpdateServiceManagerVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateServiceManager_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateServiceManager_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateServiceManager_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateServiceManager_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateServiceManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateServiceManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateServiceManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateServiceManager_get_Services(This,retval) \ + ( (This)->lpVtbl -> get_Services(This,retval) ) + +#define IUpdateServiceManager_AddService(This,serviceID,authorizationCabPath,retval) \ + ( (This)->lpVtbl -> AddService(This,serviceID,authorizationCabPath,retval) ) + +#define IUpdateServiceManager_RegisterServiceWithAU(This,serviceID) \ + ( (This)->lpVtbl -> RegisterServiceWithAU(This,serviceID) ) + +#define IUpdateServiceManager_RemoveService(This,serviceID) \ + ( (This)->lpVtbl -> RemoveService(This,serviceID) ) + +#define IUpdateServiceManager_UnregisterServiceWithAU(This,serviceID) \ + ( (This)->lpVtbl -> UnregisterServiceWithAU(This,serviceID) ) + +#define IUpdateServiceManager_AddScanPackageService(This,serviceName,scanFileLocation,flags,ppService) \ + ( (This)->lpVtbl -> AddScanPackageService(This,serviceName,scanFileLocation,flags,ppService) ) + +#define IUpdateServiceManager_SetOption(This,optionName,optionValue) \ + ( (This)->lpVtbl -> SetOption(This,optionName,optionValue) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateServiceManager_INTERFACE_DEFINED__ */ + + +#ifndef __IUpdateServiceManager2_INTERFACE_DEFINED__ +#define __IUpdateServiceManager2_INTERFACE_DEFINED__ + +/* interface IUpdateServiceManager2 */ +/* [hidden][unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IUpdateServiceManager2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("0bb8531d-7e8d-424f-986c-a0b8f60a3e7b") + IUpdateServiceManager2 : public IUpdateServiceManager + { + public: + virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ClientApplicationID( + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval) = 0; + + virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_ClientApplicationID( + /* [in] */ __RPC__in BSTR value) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE QueryServiceRegistration( + /* [in] */ __RPC__in BSTR serviceID, + /* [retval][out] */ __RPC__deref_out_opt IUpdateServiceRegistration **retval) = 0; + + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddService2( + /* [in] */ __RPC__in BSTR serviceID, + /* [in] */ LONG flags, + /* [in] */ __RPC__in BSTR authorizationCabPath, + /* [retval][out] */ __RPC__deref_out_opt IUpdateServiceRegistration **retval) = 0; + + }; + +#else /* C style interface */ + + typedef struct IUpdateServiceManager2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IUpdateServiceManager2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IUpdateServiceManager2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IUpdateServiceManager2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IUpdateServiceManager2 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IUpdateServiceManager2 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IUpdateServiceManager2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IUpdateServiceManager2 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Services )( + __RPC__in IUpdateServiceManager2 * This, + /* [retval][out] */ __RPC__deref_out_opt IUpdateServiceCollection **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddService )( + __RPC__in IUpdateServiceManager2 * This, + /* [in] */ __RPC__in BSTR serviceID, + /* [in] */ __RPC__in BSTR authorizationCabPath, + /* [retval][out] */ __RPC__deref_out_opt IUpdateService **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RegisterServiceWithAU )( + __RPC__in IUpdateServiceManager2 * This, + /* [in] */ __RPC__in BSTR serviceID); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveService )( + __RPC__in IUpdateServiceManager2 * This, + /* [in] */ __RPC__in BSTR serviceID); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UnregisterServiceWithAU )( + __RPC__in IUpdateServiceManager2 * This, + /* [in] */ __RPC__in BSTR serviceID); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddScanPackageService )( + __RPC__in IUpdateServiceManager2 * This, + /* [in] */ __RPC__in BSTR serviceName, + /* [in] */ __RPC__in BSTR scanFileLocation, + /* [defaultvalue][in] */ LONG flags, + /* [retval][out] */ __RPC__deref_out_opt IUpdateService **ppService); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetOption )( + __RPC__in IUpdateServiceManager2 * This, + /* [in] */ __RPC__in BSTR optionName, + /* [in] */ VARIANT optionValue); + + /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ClientApplicationID )( + __RPC__in IUpdateServiceManager2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *retval); + + /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClientApplicationID )( + __RPC__in IUpdateServiceManager2 * This, + /* [in] */ __RPC__in BSTR value); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *QueryServiceRegistration )( + __RPC__in IUpdateServiceManager2 * This, + /* [in] */ __RPC__in BSTR serviceID, + /* [retval][out] */ __RPC__deref_out_opt IUpdateServiceRegistration **retval); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddService2 )( + __RPC__in IUpdateServiceManager2 * This, + /* [in] */ __RPC__in BSTR serviceID, + /* [in] */ LONG flags, + /* [in] */ __RPC__in BSTR authorizationCabPath, + /* [retval][out] */ __RPC__deref_out_opt IUpdateServiceRegistration **retval); + + END_INTERFACE + } IUpdateServiceManager2Vtbl; + + interface IUpdateServiceManager2 + { + CONST_VTBL struct IUpdateServiceManager2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IUpdateServiceManager2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IUpdateServiceManager2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IUpdateServiceManager2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IUpdateServiceManager2_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IUpdateServiceManager2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IUpdateServiceManager2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IUpdateServiceManager2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IUpdateServiceManager2_get_Services(This,retval) \ + ( (This)->lpVtbl -> get_Services(This,retval) ) + +#define IUpdateServiceManager2_AddService(This,serviceID,authorizationCabPath,retval) \ + ( (This)->lpVtbl -> AddService(This,serviceID,authorizationCabPath,retval) ) + +#define IUpdateServiceManager2_RegisterServiceWithAU(This,serviceID) \ + ( (This)->lpVtbl -> RegisterServiceWithAU(This,serviceID) ) + +#define IUpdateServiceManager2_RemoveService(This,serviceID) \ + ( (This)->lpVtbl -> RemoveService(This,serviceID) ) + +#define IUpdateServiceManager2_UnregisterServiceWithAU(This,serviceID) \ + ( (This)->lpVtbl -> UnregisterServiceWithAU(This,serviceID) ) + +#define IUpdateServiceManager2_AddScanPackageService(This,serviceName,scanFileLocation,flags,ppService) \ + ( (This)->lpVtbl -> AddScanPackageService(This,serviceName,scanFileLocation,flags,ppService) ) + +#define IUpdateServiceManager2_SetOption(This,optionName,optionValue) \ + ( (This)->lpVtbl -> SetOption(This,optionName,optionValue) ) + + +#define IUpdateServiceManager2_get_ClientApplicationID(This,retval) \ + ( (This)->lpVtbl -> get_ClientApplicationID(This,retval) ) + +#define IUpdateServiceManager2_put_ClientApplicationID(This,value) \ + ( (This)->lpVtbl -> put_ClientApplicationID(This,value) ) + +#define IUpdateServiceManager2_QueryServiceRegistration(This,serviceID,retval) \ + ( (This)->lpVtbl -> QueryServiceRegistration(This,serviceID,retval) ) + +#define IUpdateServiceManager2_AddService2(This,serviceID,flags,authorizationCabPath,retval) \ + ( (This)->lpVtbl -> AddService2(This,serviceID,flags,authorizationCabPath,retval) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IUpdateServiceManager2_INTERFACE_DEFINED__ */ + + +#ifndef __IInstallationAgent_INTERFACE_DEFINED__ +#define __IInstallationAgent_INTERFACE_DEFINED__ + +/* interface IInstallationAgent */ +/* [unique][uuid][nonextensible][dual][oleautomation][object][helpstring] */ + + +EXTERN_C const IID IID_IInstallationAgent; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("925cbc18-a2ea-4648-bf1c-ec8badcfe20a") + IInstallationAgent : public IDispatch + { + public: + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RecordInstallationResult( + /* [in] */ __RPC__in BSTR installationResultCookie, + /* [in] */ LONG hresult, + /* [in] */ __RPC__in_opt IStringCollection *extendedReportingData) = 0; + + }; + +#else /* C style interface */ + + typedef struct IInstallationAgentVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IInstallationAgent * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IInstallationAgent * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IInstallationAgent * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IInstallationAgent * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IInstallationAgent * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IInstallationAgent * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IInstallationAgent * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RecordInstallationResult )( + __RPC__in IInstallationAgent * This, + /* [in] */ __RPC__in BSTR installationResultCookie, + /* [in] */ LONG hresult, + /* [in] */ __RPC__in_opt IStringCollection *extendedReportingData); + + END_INTERFACE + } IInstallationAgentVtbl; + + interface IInstallationAgent + { + CONST_VTBL struct IInstallationAgentVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IInstallationAgent_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IInstallationAgent_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IInstallationAgent_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IInstallationAgent_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IInstallationAgent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IInstallationAgent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IInstallationAgent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IInstallationAgent_RecordInstallationResult(This,installationResultCookie,hresult,extendedReportingData) \ + ( (This)->lpVtbl -> RecordInstallationResult(This,installationResultCookie,hresult,extendedReportingData) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IInstallationAgent_INTERFACE_DEFINED__ */ + + + +#ifndef __WUApiLib_LIBRARY_DEFINED__ +#define __WUApiLib_LIBRARY_DEFINED__ + +/* library WUApiLib */ +/* [helpstring][version][uuid] */ + +typedef /* [v1_enum][helpstring][public] */ +enum tagUpdateLockdownOption + { uloForWebsiteAccess = 0x1 + } UpdateLockdownOption; + +typedef /* [v1_enum][helpstring][public] */ +enum tagAddServiceFlag + { asfAllowPendingRegistration = 0x1, + asfAllowOnlineRegistration = 0x2, + asfRegisterServiceWithAU = 0x4 + } AddServiceFlag; + +typedef /* [v1_enum][helpstring][public] */ +enum tagUpdateServiceOption + { usoNonVolatileService = 0x1 + } UpdateServiceOption; + + + + + + + + + + + + + + + + + + + + + + + + +EXTERN_C const IID LIBID_WUApiLib; + +EXTERN_C const CLSID CLSID_StringCollection; + +#ifdef __cplusplus + +class DECLSPEC_UUID("72C97D74-7C3B-40AE-B77D-ABDB22EBA6FB") +StringCollection; +#endif + +EXTERN_C const CLSID CLSID_UpdateSearcher; + +#ifdef __cplusplus + +class DECLSPEC_UUID("B699E5E8-67FF-4177-88B0-3684A3388BFB") +UpdateSearcher; +#endif + +EXTERN_C const CLSID CLSID_WebProxy; + +#ifdef __cplusplus + +class DECLSPEC_UUID("650503cf-9108-4ddc-a2ce-6c2341e1c582") +WebProxy; +#endif + +EXTERN_C const CLSID CLSID_SystemInformation; + +#ifdef __cplusplus + +class DECLSPEC_UUID("C01B9BA0-BEA7-41BA-B604-D0A36F469133") +SystemInformation; +#endif + +EXTERN_C const CLSID CLSID_WindowsUpdateAgentInfo; + +#ifdef __cplusplus + +class DECLSPEC_UUID("C2E88C2F-6F5B-4AAA-894B-55C847AD3A2D") +WindowsUpdateAgentInfo; +#endif + +EXTERN_C const CLSID CLSID_AutomaticUpdates; + +#ifdef __cplusplus + +class DECLSPEC_UUID("BFE18E9C-6D87-4450-B37C-E02F0B373803") +AutomaticUpdates; +#endif + +EXTERN_C const CLSID CLSID_UpdateCollection; + +#ifdef __cplusplus + +class DECLSPEC_UUID("13639463-00DB-4646-803D-528026140D88") +UpdateCollection; +#endif + +EXTERN_C const CLSID CLSID_UpdateDownloader; + +#ifdef __cplusplus + +class DECLSPEC_UUID("5BAF654A-5A07-4264-A255-9FF54C7151E7") +UpdateDownloader; +#endif + +EXTERN_C const CLSID CLSID_UpdateInstaller; + +#ifdef __cplusplus + +class DECLSPEC_UUID("D2E0FE7F-D23E-48E1-93C0-6FA8CC346474") +UpdateInstaller; +#endif + +EXTERN_C const CLSID CLSID_UpdateSession; + +#ifdef __cplusplus + +class DECLSPEC_UUID("4CB43D7F-7EEE-4906-8698-60DA1C38F2FE") +UpdateSession; +#endif + +EXTERN_C const CLSID CLSID_UpdateServiceManager; + +#ifdef __cplusplus + +class DECLSPEC_UUID("F8D253D9-89A4-4DAA-87B6-1168369F0B21") +UpdateServiceManager; +#endif + +EXTERN_C const CLSID CLSID_InstallationAgent; + +#ifdef __cplusplus + +class DECLSPEC_UUID("317E92FC-1679-46FD-A0B5-F08914DD8623") +InstallationAgent; +#endif +#endif /* __WUApiLib_LIBRARY_DEFINED__ */ + +/* Additional Prototypes for ALL interfaces */ + +unsigned long __RPC_USER BSTR_UserSize( __RPC__in unsigned long *, unsigned long , __RPC__in BSTR * ); +unsigned char * __RPC_USER BSTR_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * ); +unsigned char * __RPC_USER BSTR_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * ); +void __RPC_USER BSTR_UserFree( __RPC__in unsigned long *, __RPC__in BSTR * ); + +unsigned long __RPC_USER HWND_UserSize( __RPC__in unsigned long *, unsigned long , __RPC__in HWND * ); +unsigned char * __RPC_USER HWND_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in HWND * ); +unsigned char * __RPC_USER HWND_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out HWND * ); +void __RPC_USER HWND_UserFree( __RPC__in unsigned long *, __RPC__in HWND * ); + +unsigned long __RPC_USER VARIANT_UserSize( __RPC__in unsigned long *, unsigned long , __RPC__in VARIANT * ); +unsigned char * __RPC_USER VARIANT_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in VARIANT * ); +unsigned char * __RPC_USER VARIANT_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out VARIANT * ); +void __RPC_USER VARIANT_UserFree( __RPC__in unsigned long *, __RPC__in VARIANT * ); + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + + diff --git a/include/wuerror.h b/include/wuerror.h new file mode 100644 index 0000000..af6defe --- /dev/null +++ b/include/wuerror.h @@ -0,0 +1,2581 @@ +/*************************************************************************** +* * +* wuerror.mc -- error code definitions for Windows Update. * +* * +* Copyright (c) Microsoft Corporation. All rights reserved. * +* * +***************************************************************************/ +#ifndef _WUERROR_ +#define _WUERROR_ + +#if defined (_MSC_VER) && (_MSC_VER >= 1020) && !defined(__midl) +#pragma once +#endif + +#ifdef RC_INVOKED +#define _HRESULT_TYPEDEF_(_sc) _sc +#else // RC_INVOKED +#define _HRESULT_TYPEDEF_(_sc) ((HRESULT)_sc) +#endif // RC_INVOKED + + +/////////////////////////////////////////////////////////////////////////////// +// Windows Update Success Codes +/////////////////////////////////////////////////////////////////////////////// +// +// Values are 32 bit values laid out as follows: +// +// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 +// +---+-+-+-----------------------+-------------------------------+ +// |Sev|C|R| Facility | Code | +// +---+-+-+-----------------------+-------------------------------+ +// +// where +// +// Sev - is the severity code +// +// 00 - Success +// 01 - Informational +// 10 - Warning +// 11 - Error +// +// C - is the Customer code flag +// +// R - is a reserved bit +// +// Facility - is the facility code +// +// Code - is the facility's status code +// +// +// Define the facility codes +// + + +// +// Define the severity codes +// + + +// +// MessageId: WU_S_SERVICE_STOP +// +// MessageText: +// +// Windows Update Agent was stopped successfully. +// +#define WU_S_SERVICE_STOP _HRESULT_TYPEDEF_(0x00240001L) + +// +// MessageId: WU_S_SELFUPDATE +// +// MessageText: +// +// Windows Update Agent updated itself. +// +#define WU_S_SELFUPDATE _HRESULT_TYPEDEF_(0x00240002L) + +// +// MessageId: WU_S_UPDATE_ERROR +// +// MessageText: +// +// Operation completed successfully but there were errors applying the updates. +// +#define WU_S_UPDATE_ERROR _HRESULT_TYPEDEF_(0x00240003L) + +// +// MessageId: WU_S_MARKED_FOR_DISCONNECT +// +// MessageText: +// +// A callback was marked to be disconnected later because the request to disconnect the operation came while a callback was executing. +// +#define WU_S_MARKED_FOR_DISCONNECT _HRESULT_TYPEDEF_(0x00240004L) + +// +// MessageId: WU_S_REBOOT_REQUIRED +// +// MessageText: +// +// The system must be restarted to complete installation of the update. +// +#define WU_S_REBOOT_REQUIRED _HRESULT_TYPEDEF_(0x00240005L) + +// +// MessageId: WU_S_ALREADY_INSTALLED +// +// MessageText: +// +// The update to be installed is already installed on the system. +// +#define WU_S_ALREADY_INSTALLED _HRESULT_TYPEDEF_(0x00240006L) + +// +// MessageId: WU_S_ALREADY_UNINSTALLED +// +// MessageText: +// +// The update to be removed is not installed on the system. +// +#define WU_S_ALREADY_UNINSTALLED _HRESULT_TYPEDEF_(0x00240007L) + +// +// MessageId: WU_S_ALREADY_DOWNLOADED +// +// MessageText: +// +// The update to be downloaded has already been downloaded. +// +#define WU_S_ALREADY_DOWNLOADED _HRESULT_TYPEDEF_(0x00240008L) + +// +// MessageId: WU_S_UH_INSTALLSTILLPENDING +// +// MessageText: +// +// The installation operation for the update is still in progress. +// +#define WU_S_UH_INSTALLSTILLPENDING _HRESULT_TYPEDEF_(0x00242015L) + +/////////////////////////////////////////////////////////////////////////////// +// Windows Update Error Codes +/////////////////////////////////////////////////////////////////////////////// +// +// MessageId: WU_E_NO_SERVICE +// +// MessageText: +// +// Windows Update Agent was unable to provide the service. +// +#define WU_E_NO_SERVICE _HRESULT_TYPEDEF_(0x80240001L) + +// +// MessageId: WU_E_MAX_CAPACITY_REACHED +// +// MessageText: +// +// The maximum capacity of the service was exceeded. +// +#define WU_E_MAX_CAPACITY_REACHED _HRESULT_TYPEDEF_(0x80240002L) + +// +// MessageId: WU_E_UNKNOWN_ID +// +// MessageText: +// +// An ID cannot be found. +// +#define WU_E_UNKNOWN_ID _HRESULT_TYPEDEF_(0x80240003L) + +// +// MessageId: WU_E_NOT_INITIALIZED +// +// MessageText: +// +// The object could not be initialized. +// +#define WU_E_NOT_INITIALIZED _HRESULT_TYPEDEF_(0x80240004L) + +// +// MessageId: WU_E_RANGEOVERLAP +// +// MessageText: +// +// The update handler requested a byte range overlapping a previously requested range. +// +#define WU_E_RANGEOVERLAP _HRESULT_TYPEDEF_(0x80240005L) + +// +// MessageId: WU_E_TOOMANYRANGES +// +// MessageText: +// +// The requested number of byte ranges exceeds the maximum number (2^31 - 1). +// +#define WU_E_TOOMANYRANGES _HRESULT_TYPEDEF_(0x80240006L) + +// +// MessageId: WU_E_INVALIDINDEX +// +// MessageText: +// +// The index to a collection was invalid. +// +#define WU_E_INVALIDINDEX _HRESULT_TYPEDEF_(0x80240007L) + +// +// MessageId: WU_E_ITEMNOTFOUND +// +// MessageText: +// +// The key for the item queried could not be found. +// +#define WU_E_ITEMNOTFOUND _HRESULT_TYPEDEF_(0x80240008L) + +// +// MessageId: WU_E_OPERATIONINPROGRESS +// +// MessageText: +// +// Another conflicting operation was in progress. Some operations such as installation cannot be performed twice simultaneously. +// +#define WU_E_OPERATIONINPROGRESS _HRESULT_TYPEDEF_(0x80240009L) + +// +// MessageId: WU_E_COULDNOTCANCEL +// +// MessageText: +// +// Cancellation of the operation was not allowed. +// +#define WU_E_COULDNOTCANCEL _HRESULT_TYPEDEF_(0x8024000AL) + +// +// MessageId: WU_E_CALL_CANCELLED +// +// MessageText: +// +// Operation was cancelled. +// +#define WU_E_CALL_CANCELLED _HRESULT_TYPEDEF_(0x8024000BL) + +// +// MessageId: WU_E_NOOP +// +// MessageText: +// +// No operation was required. +// +#define WU_E_NOOP _HRESULT_TYPEDEF_(0x8024000CL) + +// +// MessageId: WU_E_XML_MISSINGDATA +// +// MessageText: +// +// Windows Update Agent could not find required information in the update's XML data. +// +#define WU_E_XML_MISSINGDATA _HRESULT_TYPEDEF_(0x8024000DL) + +// +// MessageId: WU_E_XML_INVALID +// +// MessageText: +// +// Windows Update Agent found invalid information in the update's XML data. +// +#define WU_E_XML_INVALID _HRESULT_TYPEDEF_(0x8024000EL) + +// +// MessageId: WU_E_CYCLE_DETECTED +// +// MessageText: +// +// Circular update relationships were detected in the metadata. +// +#define WU_E_CYCLE_DETECTED _HRESULT_TYPEDEF_(0x8024000FL) + +// +// MessageId: WU_E_TOO_DEEP_RELATION +// +// MessageText: +// +// Update relationships too deep to evaluate were evaluated. +// +#define WU_E_TOO_DEEP_RELATION _HRESULT_TYPEDEF_(0x80240010L) + +// +// MessageId: WU_E_INVALID_RELATIONSHIP +// +// MessageText: +// +// An invalid update relationship was detected. +// +#define WU_E_INVALID_RELATIONSHIP _HRESULT_TYPEDEF_(0x80240011L) + +// +// MessageId: WU_E_REG_VALUE_INVALID +// +// MessageText: +// +// An invalid registry value was read. +// +#define WU_E_REG_VALUE_INVALID _HRESULT_TYPEDEF_(0x80240012L) + +// +// MessageId: WU_E_DUPLICATE_ITEM +// +// MessageText: +// +// Operation tried to add a duplicate item to a list. +// +#define WU_E_DUPLICATE_ITEM _HRESULT_TYPEDEF_(0x80240013L) + +// +// MessageId: WU_E_INVALID_INSTALL_REQUESTED +// +// MessageText: +// +// Updates requested for install are not installable by caller. +// +#define WU_E_INVALID_INSTALL_REQUESTED _HRESULT_TYPEDEF_(0x80240014L) + +// +// MessageId: WU_E_INSTALL_NOT_ALLOWED +// +// MessageText: +// +// Operation tried to install while another installation was in progress or the system was pending a mandatory restart. +// +#define WU_E_INSTALL_NOT_ALLOWED _HRESULT_TYPEDEF_(0x80240016L) + +// +// MessageId: WU_E_NOT_APPLICABLE +// +// MessageText: +// +// Operation was not performed because there are no applicable updates. +// +#define WU_E_NOT_APPLICABLE _HRESULT_TYPEDEF_(0x80240017L) + +// +// MessageId: WU_E_NO_USERTOKEN +// +// MessageText: +// +// Operation failed because a required user token is missing. +// +#define WU_E_NO_USERTOKEN _HRESULT_TYPEDEF_(0x80240018L) + +// +// MessageId: WU_E_EXCLUSIVE_INSTALL_CONFLICT +// +// MessageText: +// +// An exclusive update cannot be installed with other updates at the same time. +// +#define WU_E_EXCLUSIVE_INSTALL_CONFLICT _HRESULT_TYPEDEF_(0x80240019L) + +// +// MessageId: WU_E_POLICY_NOT_SET +// +// MessageText: +// +// A policy value was not set. +// +#define WU_E_POLICY_NOT_SET _HRESULT_TYPEDEF_(0x8024001AL) + +// +// MessageId: WU_E_SELFUPDATE_IN_PROGRESS +// +// MessageText: +// +// The operation could not be performed because the Windows Update Agent is self-updating. +// +#define WU_E_SELFUPDATE_IN_PROGRESS _HRESULT_TYPEDEF_(0x8024001BL) + +// +// MessageId: WU_E_INVALID_UPDATE +// +// MessageText: +// +// An update contains invalid metadata. +// +#define WU_E_INVALID_UPDATE _HRESULT_TYPEDEF_(0x8024001DL) + +// +// MessageId: WU_E_SERVICE_STOP +// +// MessageText: +// +// Operation did not complete because the service or system was being shut down. +// +#define WU_E_SERVICE_STOP _HRESULT_TYPEDEF_(0x8024001EL) + +// +// MessageId: WU_E_NO_CONNECTION +// +// MessageText: +// +// Operation did not complete because the network connection was unavailable. +// +#define WU_E_NO_CONNECTION _HRESULT_TYPEDEF_(0x8024001FL) + +// +// MessageId: WU_E_NO_INTERACTIVE_USER +// +// MessageText: +// +// Operation did not complete because there is no logged-on interactive user. +// +#define WU_E_NO_INTERACTIVE_USER _HRESULT_TYPEDEF_(0x80240020L) + +// +// MessageId: WU_E_TIME_OUT +// +// MessageText: +// +// Operation did not complete because it timed out. +// +#define WU_E_TIME_OUT _HRESULT_TYPEDEF_(0x80240021L) + +// +// MessageId: WU_E_ALL_UPDATES_FAILED +// +// MessageText: +// +// Operation failed for all the updates. +// +#define WU_E_ALL_UPDATES_FAILED _HRESULT_TYPEDEF_(0x80240022L) + +// +// MessageId: WU_E_EULAS_DECLINED +// +// MessageText: +// +// The license terms for all updates were declined. +// +#define WU_E_EULAS_DECLINED _HRESULT_TYPEDEF_(0x80240023L) + +// +// MessageId: WU_E_NO_UPDATE +// +// MessageText: +// +// There are no updates. +// +#define WU_E_NO_UPDATE _HRESULT_TYPEDEF_(0x80240024L) + +// +// MessageId: WU_E_USER_ACCESS_DISABLED +// +// MessageText: +// +// Group Policy settings prevented access to Windows Update. +// +#define WU_E_USER_ACCESS_DISABLED _HRESULT_TYPEDEF_(0x80240025L) + +// +// MessageId: WU_E_INVALID_UPDATE_TYPE +// +// MessageText: +// +// The type of update is invalid. +// +#define WU_E_INVALID_UPDATE_TYPE _HRESULT_TYPEDEF_(0x80240026L) + +// +// MessageId: WU_E_URL_TOO_LONG +// +// MessageText: +// +// The URL exceeded the maximum length. +// +#define WU_E_URL_TOO_LONG _HRESULT_TYPEDEF_(0x80240027L) + +// +// MessageId: WU_E_UNINSTALL_NOT_ALLOWED +// +// MessageText: +// +// The update could not be uninstalled because the request did not originate from a WSUS server. +// +#define WU_E_UNINSTALL_NOT_ALLOWED _HRESULT_TYPEDEF_(0x80240028L) + +// +// MessageId: WU_E_INVALID_PRODUCT_LICENSE +// +// MessageText: +// +// Search may have missed some updates before there is an unlicensed application on the system. +// +#define WU_E_INVALID_PRODUCT_LICENSE _HRESULT_TYPEDEF_(0x80240029L) + +// +// MessageId: WU_E_MISSING_HANDLER +// +// MessageText: +// +// A component required to detect applicable updates was missing. +// +#define WU_E_MISSING_HANDLER _HRESULT_TYPEDEF_(0x8024002AL) + +// +// MessageId: WU_E_LEGACYSERVER +// +// MessageText: +// +// An operation did not complete because it requires a newer version of server. +// +#define WU_E_LEGACYSERVER _HRESULT_TYPEDEF_(0x8024002BL) + +// +// MessageId: WU_E_BIN_SOURCE_ABSENT +// +// MessageText: +// +// A delta-compressed update could not be installed because it required the source. +// +#define WU_E_BIN_SOURCE_ABSENT _HRESULT_TYPEDEF_(0x8024002CL) + +// +// MessageId: WU_E_SOURCE_ABSENT +// +// MessageText: +// +// A full-file update could not be installed because it required the source. +// +#define WU_E_SOURCE_ABSENT _HRESULT_TYPEDEF_(0x8024002DL) + +// +// MessageId: WU_E_WU_DISABLED +// +// MessageText: +// +// Access to an unmanaged server is not allowed. +// +#define WU_E_WU_DISABLED _HRESULT_TYPEDEF_(0x8024002EL) + +// +// MessageId: WU_E_CALL_CANCELLED_BY_POLICY +// +// MessageText: +// +// Operation did not complete because the DisableWindowsUpdateAccess policy was set. +// +#define WU_E_CALL_CANCELLED_BY_POLICY _HRESULT_TYPEDEF_(0x8024002FL) + +// +// MessageId: WU_E_INVALID_PROXY_SERVER +// +// MessageText: +// +// The format of the proxy list was invalid. +// +#define WU_E_INVALID_PROXY_SERVER _HRESULT_TYPEDEF_(0x80240030L) + +// +// MessageId: WU_E_INVALID_FILE +// +// MessageText: +// +// The file is in the wrong format. +// +#define WU_E_INVALID_FILE _HRESULT_TYPEDEF_(0x80240031L) + +// +// MessageId: WU_E_INVALID_CRITERIA +// +// MessageText: +// +// The search criteria string was invalid. +// +#define WU_E_INVALID_CRITERIA _HRESULT_TYPEDEF_(0x80240032L) + +// +// MessageId: WU_E_EULA_UNAVAILABLE +// +// MessageText: +// +// License terms could not be downloaded. +// +#define WU_E_EULA_UNAVAILABLE _HRESULT_TYPEDEF_(0x80240033L) + +// +// MessageId: WU_E_DOWNLOAD_FAILED +// +// MessageText: +// +// Update failed to download. +// +#define WU_E_DOWNLOAD_FAILED _HRESULT_TYPEDEF_(0x80240034L) + +// +// MessageId: WU_E_UPDATE_NOT_PROCESSED +// +// MessageText: +// +// The update was not processed. +// +#define WU_E_UPDATE_NOT_PROCESSED _HRESULT_TYPEDEF_(0x80240035L) + +// +// MessageId: WU_E_INVALID_OPERATION +// +// MessageText: +// +// The object's current state did not allow the operation. +// +#define WU_E_INVALID_OPERATION _HRESULT_TYPEDEF_(0x80240036L) + +// +// MessageId: WU_E_NOT_SUPPORTED +// +// MessageText: +// +// The functionality for the operation is not supported. +// +#define WU_E_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80240037L) + +// +// MessageId: WU_E_WINHTTP_INVALID_FILE +// +// MessageText: +// +// The downloaded file has an unexpected content type. +// +#define WU_E_WINHTTP_INVALID_FILE _HRESULT_TYPEDEF_(0x80240038L) + +// +// MessageId: WU_E_TOO_MANY_RESYNC +// +// MessageText: +// +// Agent is asked by server to resync too many times. +// +#define WU_E_TOO_MANY_RESYNC _HRESULT_TYPEDEF_(0x80240039L) + +// +// MessageId: WU_E_NO_SERVER_CORE_SUPPORT +// +// MessageText: +// +// WUA API method does not run on Server Core installation. +// +#define WU_E_NO_SERVER_CORE_SUPPORT _HRESULT_TYPEDEF_(0x80240040L) + +// +// MessageId: WU_E_SYSPREP_IN_PROGRESS +// +// MessageText: +// +// Service is not available while sysprep is running. +// +#define WU_E_SYSPREP_IN_PROGRESS _HRESULT_TYPEDEF_(0x80240041L) + +// +// MessageId: WU_E_UNKNOWN_SERVICE +// +// MessageText: +// +// The update service is no longer registered with AU. +// +#define WU_E_UNKNOWN_SERVICE _HRESULT_TYPEDEF_(0x80240042L) + +// +// MessageId: WU_E_NO_UI_SUPPORT +// +// MessageText: +// +// There is no support for WUA UI. +// +#define WU_E_NO_UI_SUPPORT _HRESULT_TYPEDEF_(0x80240043L) + +// +// MessageId: WU_E_PER_MACHINE_UPDATE_ACCESS_DENIED +// +// MessageText: +// +// Only administrators can perform this operation on per-machine updates. +// +#define WU_E_PER_MACHINE_UPDATE_ACCESS_DENIED _HRESULT_TYPEDEF_(0x80240044L) + +// +// MessageId: WU_E_UNSUPPORTED_SEARCHSCOPE +// +// MessageText: +// +// A search was attempted with a scope that is not currently supported for this type of search. +// +#define WU_E_UNSUPPORTED_SEARCHSCOPE _HRESULT_TYPEDEF_(0x80240045L) + +// +// MessageId: WU_E_BAD_FILE_URL +// +// MessageText: +// +// The URL does not point to a file. +// +#define WU_E_BAD_FILE_URL _HRESULT_TYPEDEF_(0x80240046L) + +// +// MessageId: WU_E_NOTSUPPORTED +// +// MessageText: +// +// The operation requested is not supported. +// +#define WU_E_NOTSUPPORTED _HRESULT_TYPEDEF_(0x80240047L) + +// +// MessageId: WU_E_INVALID_NOTIFICATION_INFO +// +// MessageText: +// +// The featured update notification info returned by the server is invalid. +// +#define WU_E_INVALID_NOTIFICATION_INFO _HRESULT_TYPEDEF_(0x80240048L) + +// +// MessageId: WU_E_UNEXPECTED +// +// MessageText: +// +// An operation failed due to reasons not covered by another error code. +// +#define WU_E_UNEXPECTED _HRESULT_TYPEDEF_(0x80240FFFL) + +/////////////////////////////////////////////////////////////////////////////// +// Windows Installer minor errors +// +// The following errors are used to indicate that part of a search failed for +// MSI problems. Another part of the search may successfully return updates. +// All MSI minor codes should share the same error code range so that the caller +// tell that they are related to Windows Installer. +/////////////////////////////////////////////////////////////////////////////// +// +// MessageId: WU_E_MSI_WRONG_VERSION +// +// MessageText: +// +// Search may have missed some updates because the Windows Installer is less than version 3.1. +// +#define WU_E_MSI_WRONG_VERSION _HRESULT_TYPEDEF_(0x80241001L) + +// +// MessageId: WU_E_MSI_NOT_CONFIGURED +// +// MessageText: +// +// Search may have missed some updates because the Windows Installer is not configured. +// +#define WU_E_MSI_NOT_CONFIGURED _HRESULT_TYPEDEF_(0x80241002L) + +// +// MessageId: WU_E_MSP_DISABLED +// +// MessageText: +// +// Search may have missed some updates because policy has disabled Windows Installer patching. +// +#define WU_E_MSP_DISABLED _HRESULT_TYPEDEF_(0x80241003L) + +// +// MessageId: WU_E_MSI_WRONG_APP_CONTEXT +// +// MessageText: +// +// An update could not be applied because the application is installed per-user. +// +#define WU_E_MSI_WRONG_APP_CONTEXT _HRESULT_TYPEDEF_(0x80241004L) + +// +// MessageId: WU_E_MSP_UNEXPECTED +// +// MessageText: +// +// Search may have missed some updates because there was a failure of the Windows Installer. +// +#define WU_E_MSP_UNEXPECTED _HRESULT_TYPEDEF_(0x80241FFFL) + +/////////////////////////////////////////////////////////////////////////////// +// Protocol Talker errors +// +// The following map to SOAPCLIENT_ERRORs from atlsoap.h. These errors +// are obtained from calling GetClientError() on the CClientWebService +// object. +/////////////////////////////////////////////////////////////////////////////// +// +// MessageId: WU_E_PT_SOAPCLIENT_BASE +// +// MessageText: +// +// WU_E_PT_SOAPCLIENT_* error codes map to the SOAPCLIENT_ERROR enum of the ATL Server Library. +// +#define WU_E_PT_SOAPCLIENT_BASE _HRESULT_TYPEDEF_(0x80244000L) + +// +// MessageId: WU_E_PT_SOAPCLIENT_INITIALIZE +// +// MessageText: +// +// Same as SOAPCLIENT_INITIALIZE_ERROR - initialization of the SOAP client failed, possibly because of an MSXML installation failure. +// +#define WU_E_PT_SOAPCLIENT_INITIALIZE _HRESULT_TYPEDEF_(0x80244001L) + +// +// MessageId: WU_E_PT_SOAPCLIENT_OUTOFMEMORY +// +// MessageText: +// +// Same as SOAPCLIENT_OUTOFMEMORY - SOAP client failed because it ran out of memory. +// +#define WU_E_PT_SOAPCLIENT_OUTOFMEMORY _HRESULT_TYPEDEF_(0x80244002L) + +// +// MessageId: WU_E_PT_SOAPCLIENT_GENERATE +// +// MessageText: +// +// Same as SOAPCLIENT_GENERATE_ERROR - SOAP client failed to generate the request. +// +#define WU_E_PT_SOAPCLIENT_GENERATE _HRESULT_TYPEDEF_(0x80244003L) + +// +// MessageId: WU_E_PT_SOAPCLIENT_CONNECT +// +// MessageText: +// +// Same as SOAPCLIENT_CONNECT_ERROR - SOAP client failed to connect to the server. +// +#define WU_E_PT_SOAPCLIENT_CONNECT _HRESULT_TYPEDEF_(0x80244004L) + +// +// MessageId: WU_E_PT_SOAPCLIENT_SEND +// +// MessageText: +// +// Same as SOAPCLIENT_SEND_ERROR - SOAP client failed to send a message for reasons of WU_E_WINHTTP_* error codes. +// +#define WU_E_PT_SOAPCLIENT_SEND _HRESULT_TYPEDEF_(0x80244005L) + +// +// MessageId: WU_E_PT_SOAPCLIENT_SERVER +// +// MessageText: +// +// Same as SOAPCLIENT_SERVER_ERROR - SOAP client failed because there was a server error. +// +#define WU_E_PT_SOAPCLIENT_SERVER _HRESULT_TYPEDEF_(0x80244006L) + +// +// MessageId: WU_E_PT_SOAPCLIENT_SOAPFAULT +// +// MessageText: +// +// Same as SOAPCLIENT_SOAPFAULT - SOAP client failed because there was a SOAP fault for reasons of WU_E_PT_SOAP_* error codes. +// +#define WU_E_PT_SOAPCLIENT_SOAPFAULT _HRESULT_TYPEDEF_(0x80244007L) + +// +// MessageId: WU_E_PT_SOAPCLIENT_PARSEFAULT +// +// MessageText: +// +// Same as SOAPCLIENT_PARSEFAULT_ERROR - SOAP client failed to parse a SOAP fault. +// +#define WU_E_PT_SOAPCLIENT_PARSEFAULT _HRESULT_TYPEDEF_(0x80244008L) + +// +// MessageId: WU_E_PT_SOAPCLIENT_READ +// +// MessageText: +// +// Same as SOAPCLIENT_READ_ERROR - SOAP client failed while reading the response from the server. +// +#define WU_E_PT_SOAPCLIENT_READ _HRESULT_TYPEDEF_(0x80244009L) + +// +// MessageId: WU_E_PT_SOAPCLIENT_PARSE +// +// MessageText: +// +// Same as SOAPCLIENT_PARSE_ERROR - SOAP client failed to parse the response from the server. +// +#define WU_E_PT_SOAPCLIENT_PARSE _HRESULT_TYPEDEF_(0x8024400AL) + +// The following map to SOAP_ERROR_CODEs from atlsoap.h. These errors +// are obtained from the m_fault.m_soapErrCode member on the +// CClientWebService object when GetClientError() returned +// SOAPCLIENT_SOAPFAULT. +// +// MessageId: WU_E_PT_SOAP_VERSION +// +// MessageText: +// +// Same as SOAP_E_VERSION_MISMATCH - SOAP client found an unrecognizable namespace for the SOAP envelope. +// +#define WU_E_PT_SOAP_VERSION _HRESULT_TYPEDEF_(0x8024400BL) + +// +// MessageId: WU_E_PT_SOAP_MUST_UNDERSTAND +// +// MessageText: +// +// Same as SOAP_E_MUST_UNDERSTAND - SOAP client was unable to understand a header. +// +#define WU_E_PT_SOAP_MUST_UNDERSTAND _HRESULT_TYPEDEF_(0x8024400CL) + +// +// MessageId: WU_E_PT_SOAP_CLIENT +// +// MessageText: +// +// Same as SOAP_E_CLIENT - SOAP client found the message was malformed; fix before resending. +// +#define WU_E_PT_SOAP_CLIENT _HRESULT_TYPEDEF_(0x8024400DL) + +// +// MessageId: WU_E_PT_SOAP_SERVER +// +// MessageText: +// +// Same as SOAP_E_SERVER - The SOAP message could not be processed due to a server error; resend later. +// +#define WU_E_PT_SOAP_SERVER _HRESULT_TYPEDEF_(0x8024400EL) + +// +// MessageId: WU_E_PT_WMI_ERROR +// +// MessageText: +// +// There was an unspecified Windows Management Instrumentation (WMI) error. +// +#define WU_E_PT_WMI_ERROR _HRESULT_TYPEDEF_(0x8024400FL) + +// +// MessageId: WU_E_PT_EXCEEDED_MAX_SERVER_TRIPS +// +// MessageText: +// +// The number of round trips to the server exceeded the maximum limit. +// +#define WU_E_PT_EXCEEDED_MAX_SERVER_TRIPS _HRESULT_TYPEDEF_(0x80244010L) + +// +// MessageId: WU_E_PT_SUS_SERVER_NOT_SET +// +// MessageText: +// +// WUServer policy value is missing in the registry. +// +#define WU_E_PT_SUS_SERVER_NOT_SET _HRESULT_TYPEDEF_(0x80244011L) + +// +// MessageId: WU_E_PT_DOUBLE_INITIALIZATION +// +// MessageText: +// +// Initialization failed because the object was already initialized. +// +#define WU_E_PT_DOUBLE_INITIALIZATION _HRESULT_TYPEDEF_(0x80244012L) + +// +// MessageId: WU_E_PT_INVALID_COMPUTER_NAME +// +// MessageText: +// +// The computer name could not be determined. +// +#define WU_E_PT_INVALID_COMPUTER_NAME _HRESULT_TYPEDEF_(0x80244013L) + +// +// MessageId: WU_E_PT_REFRESH_CACHE_REQUIRED +// +// MessageText: +// +// The reply from the server indicates that the server was changed or the cookie was invalid; refresh the state of the internal cache and retry. +// +#define WU_E_PT_REFRESH_CACHE_REQUIRED _HRESULT_TYPEDEF_(0x80244015L) + +// +// MessageId: WU_E_PT_HTTP_STATUS_BAD_REQUEST +// +// MessageText: +// +// Same as HTTP status 400 - the server could not process the request due to invalid syntax. +// +#define WU_E_PT_HTTP_STATUS_BAD_REQUEST _HRESULT_TYPEDEF_(0x80244016L) + +// +// MessageId: WU_E_PT_HTTP_STATUS_DENIED +// +// MessageText: +// +// Same as HTTP status 401 - the requested resource requires user authentication. +// +#define WU_E_PT_HTTP_STATUS_DENIED _HRESULT_TYPEDEF_(0x80244017L) + +// +// MessageId: WU_E_PT_HTTP_STATUS_FORBIDDEN +// +// MessageText: +// +// Same as HTTP status 403 - server understood the request, but declined to fulfill it. +// +#define WU_E_PT_HTTP_STATUS_FORBIDDEN _HRESULT_TYPEDEF_(0x80244018L) + +// +// MessageId: WU_E_PT_HTTP_STATUS_NOT_FOUND +// +// MessageText: +// +// Same as HTTP status 404 - the server cannot find the requested URI (Uniform Resource Identifier). +// +// +#define WU_E_PT_HTTP_STATUS_NOT_FOUND _HRESULT_TYPEDEF_(0x80244019L) + +// +// MessageId: WU_E_PT_HTTP_STATUS_BAD_METHOD +// +// MessageText: +// +// Same as HTTP status 405 - the HTTP method is not allowed. +// +#define WU_E_PT_HTTP_STATUS_BAD_METHOD _HRESULT_TYPEDEF_(0x8024401AL) + +// +// MessageId: WU_E_PT_HTTP_STATUS_PROXY_AUTH_REQ +// +// MessageText: +// +// Same as HTTP status 407 - proxy authentication is required. +// +#define WU_E_PT_HTTP_STATUS_PROXY_AUTH_REQ _HRESULT_TYPEDEF_(0x8024401BL) + +// +// MessageId: WU_E_PT_HTTP_STATUS_REQUEST_TIMEOUT +// +// MessageText: +// +// Same as HTTP status 408 - the server timed out waiting for the request. +// +#define WU_E_PT_HTTP_STATUS_REQUEST_TIMEOUT _HRESULT_TYPEDEF_(0x8024401CL) + +// +// MessageId: WU_E_PT_HTTP_STATUS_CONFLICT +// +// MessageText: +// +// Same as HTTP status 409 - the request was not completed due to a conflict with the current state of the resource. +// +#define WU_E_PT_HTTP_STATUS_CONFLICT _HRESULT_TYPEDEF_(0x8024401DL) + +// +// MessageId: WU_E_PT_HTTP_STATUS_GONE +// +// MessageText: +// +// Same as HTTP status 410 - requested resource is no longer available at the server. +// +#define WU_E_PT_HTTP_STATUS_GONE _HRESULT_TYPEDEF_(0x8024401EL) + +// +// MessageId: WU_E_PT_HTTP_STATUS_SERVER_ERROR +// +// MessageText: +// +// Same as HTTP status 500 - an error internal to the server prevented fulfilling the request. +// +#define WU_E_PT_HTTP_STATUS_SERVER_ERROR _HRESULT_TYPEDEF_(0x8024401FL) + +// +// MessageId: WU_E_PT_HTTP_STATUS_NOT_SUPPORTED +// +// MessageText: +// +// Same as HTTP status 500 - server does not support the functionality required to fulfill the request. +// +#define WU_E_PT_HTTP_STATUS_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80244020L) + +// +// MessageId: WU_E_PT_HTTP_STATUS_BAD_GATEWAY +// +// MessageText: +// +// Same as HTTP status 502 - the server, while acting as a gateway or proxy, received an invalid response from the upstream server it accessed in attempting to fulfill the request. +// +#define WU_E_PT_HTTP_STATUS_BAD_GATEWAY _HRESULT_TYPEDEF_(0x80244021L) + +// +// MessageId: WU_E_PT_HTTP_STATUS_SERVICE_UNAVAIL +// +// MessageText: +// +// Same as HTTP status 503 - the service is temporarily overloaded. +// +#define WU_E_PT_HTTP_STATUS_SERVICE_UNAVAIL _HRESULT_TYPEDEF_(0x80244022L) + +// +// MessageId: WU_E_PT_HTTP_STATUS_GATEWAY_TIMEOUT +// +// MessageText: +// +// Same as HTTP status 503 - the request was timed out waiting for a gateway. +// +#define WU_E_PT_HTTP_STATUS_GATEWAY_TIMEOUT _HRESULT_TYPEDEF_(0x80244023L) + +// +// MessageId: WU_E_PT_HTTP_STATUS_VERSION_NOT_SUP +// +// MessageText: +// +// Same as HTTP status 505 - the server does not support the HTTP protocol version used for the request. +// +#define WU_E_PT_HTTP_STATUS_VERSION_NOT_SUP _HRESULT_TYPEDEF_(0x80244024L) + +// +// MessageId: WU_E_PT_FILE_LOCATIONS_CHANGED +// +// MessageText: +// +// Operation failed due to a changed file location; refresh internal state and resend. +// +#define WU_E_PT_FILE_LOCATIONS_CHANGED _HRESULT_TYPEDEF_(0x80244025L) + +// +// MessageId: WU_E_PT_REGISTRATION_NOT_SUPPORTED +// +// MessageText: +// +// Operation failed because Windows Update Agent does not support registration with a non-WSUS server. +// +#define WU_E_PT_REGISTRATION_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80244026L) + +// +// MessageId: WU_E_PT_NO_AUTH_PLUGINS_REQUESTED +// +// MessageText: +// +// The server returned an empty authentication information list. +// +#define WU_E_PT_NO_AUTH_PLUGINS_REQUESTED _HRESULT_TYPEDEF_(0x80244027L) + +// +// MessageId: WU_E_PT_NO_AUTH_COOKIES_CREATED +// +// MessageText: +// +// Windows Update Agent was unable to create any valid authentication cookies. +// +#define WU_E_PT_NO_AUTH_COOKIES_CREATED _HRESULT_TYPEDEF_(0x80244028L) + +// +// MessageId: WU_E_PT_INVALID_CONFIG_PROP +// +// MessageText: +// +// A configuration property value was wrong. +// +#define WU_E_PT_INVALID_CONFIG_PROP _HRESULT_TYPEDEF_(0x80244029L) + +// +// MessageId: WU_E_PT_CONFIG_PROP_MISSING +// +// MessageText: +// +// A configuration property value was missing. +// +#define WU_E_PT_CONFIG_PROP_MISSING _HRESULT_TYPEDEF_(0x8024402AL) + +// +// MessageId: WU_E_PT_HTTP_STATUS_NOT_MAPPED +// +// MessageText: +// +// The HTTP request could not be completed and the reason did not correspond to any of the WU_E_PT_HTTP_* error codes. +// +#define WU_E_PT_HTTP_STATUS_NOT_MAPPED _HRESULT_TYPEDEF_(0x8024402BL) + +// +// MessageId: WU_E_PT_WINHTTP_NAME_NOT_RESOLVED +// +// MessageText: +// +// Same as ERROR_WINHTTP_NAME_NOT_RESOLVED - the proxy server or target server name cannot be resolved. +// +#define WU_E_PT_WINHTTP_NAME_NOT_RESOLVED _HRESULT_TYPEDEF_(0x8024402CL) + +// +// MessageId: WU_E_PT_SAME_REDIR_ID +// +// MessageText: +// +// Windows Update Agent failed to download a redirector cabinet file with a new redirectorId value from the server during the recovery. +// +#define WU_E_PT_SAME_REDIR_ID _HRESULT_TYPEDEF_(0x8024502DL) + +// +// MessageId: WU_E_PT_NO_MANAGED_RECOVER +// +// MessageText: +// +// A redirector recovery action did not complete because the server is managed. +// +#define WU_E_PT_NO_MANAGED_RECOVER _HRESULT_TYPEDEF_(0x8024502EL) + +// +// MessageId: WU_E_PT_ECP_SUCCEEDED_WITH_ERRORS +// +// MessageText: +// +// External cab file processing completed with some errors. +// +#define WU_E_PT_ECP_SUCCEEDED_WITH_ERRORS _HRESULT_TYPEDEF_(0x8024402FL) + +// +// MessageId: WU_E_PT_ECP_INIT_FAILED +// +// MessageText: +// +// The external cab processor initialization did not complete. +// +#define WU_E_PT_ECP_INIT_FAILED _HRESULT_TYPEDEF_(0x80244030L) + +// +// MessageId: WU_E_PT_ECP_INVALID_FILE_FORMAT +// +// MessageText: +// +// The format of a metadata file was invalid. +// +#define WU_E_PT_ECP_INVALID_FILE_FORMAT _HRESULT_TYPEDEF_(0x80244031L) + +// +// MessageId: WU_E_PT_ECP_INVALID_METADATA +// +// MessageText: +// +// External cab processor found invalid metadata. +// +#define WU_E_PT_ECP_INVALID_METADATA _HRESULT_TYPEDEF_(0x80244032L) + +// +// MessageId: WU_E_PT_ECP_FAILURE_TO_EXTRACT_DIGEST +// +// MessageText: +// +// The file digest could not be extracted from an external cab file. +// +#define WU_E_PT_ECP_FAILURE_TO_EXTRACT_DIGEST _HRESULT_TYPEDEF_(0x80244033L) + +// +// MessageId: WU_E_PT_ECP_FAILURE_TO_DECOMPRESS_CAB_FILE +// +// MessageText: +// +// An external cab file could not be decompressed. +// +#define WU_E_PT_ECP_FAILURE_TO_DECOMPRESS_CAB_FILE _HRESULT_TYPEDEF_(0x80244034L) + +// +// MessageId: WU_E_PT_ECP_FILE_LOCATION_ERROR +// +// MessageText: +// +// External cab processor was unable to get file locations. +// +#define WU_E_PT_ECP_FILE_LOCATION_ERROR _HRESULT_TYPEDEF_(0x80244035L) + +// +// MessageId: WU_E_PT_CATALOG_SYNC_REQUIRED +// +// MessageText: +// +// The server does not support category-specific search; Full catalog search has to be issued instead. +// +#define WU_E_PT_CATALOG_SYNC_REQUIRED _HRESULT_TYPEDEF_(0x80240436L) + +// +// MessageId: WU_E_PT_UNEXPECTED +// +// MessageText: +// +// A communication error not covered by another WU_E_PT_* error code. +// +#define WU_E_PT_UNEXPECTED _HRESULT_TYPEDEF_(0x80244FFFL) + +/////////////////////////////////////////////////////////////////////////////// +// Redirector errors +// +// The following errors are generated by the components that download and +// parse the wuredir.cab +/////////////////////////////////////////////////////////////////////////////// +// +// MessageId: WU_E_REDIRECTOR_LOAD_XML +// +// MessageText: +// +// The redirector XML document could not be loaded into the DOM class. +// +#define WU_E_REDIRECTOR_LOAD_XML _HRESULT_TYPEDEF_(0x80245001L) + +// +// MessageId: WU_E_REDIRECTOR_S_FALSE +// +// MessageText: +// +// The redirector XML document is missing some required information. +// +#define WU_E_REDIRECTOR_S_FALSE _HRESULT_TYPEDEF_(0x80245002L) + +// +// MessageId: WU_E_REDIRECTOR_ID_SMALLER +// +// MessageText: +// +// The redirectorId in the downloaded redirector cab is less than in the cached cab. +// +#define WU_E_REDIRECTOR_ID_SMALLER _HRESULT_TYPEDEF_(0x80245003L) + +// +// MessageId: WU_E_REDIRECTOR_UNEXPECTED +// +// MessageText: +// +// The redirector failed for reasons not covered by another WU_E_REDIRECTOR_* error code. +// +#define WU_E_REDIRECTOR_UNEXPECTED _HRESULT_TYPEDEF_(0x80245FFFL) + +/////////////////////////////////////////////////////////////////////////////// +// driver util errors +// +// The device PnP enumerated device was pruned from the SystemSpec because +// one of the hardware or compatible IDs matched an installed printer driver. +// This is not considered a fatal error and the device is simply skipped. +/////////////////////////////////////////////////////////////////////////////// +// +// MessageId: WU_E_DRV_PRUNED +// +// MessageText: +// +// A driver was skipped. +// +#define WU_E_DRV_PRUNED _HRESULT_TYPEDEF_(0x8024C001L) + +// +// MessageId: WU_E_DRV_NOPROP_OR_LEGACY +// +// MessageText: +// +// A property for the driver could not be found. It may not conform with required specifications. +// +#define WU_E_DRV_NOPROP_OR_LEGACY _HRESULT_TYPEDEF_(0x8024C002L) + +// +// MessageId: WU_E_DRV_REG_MISMATCH +// +// MessageText: +// +// The registry type read for the driver does not match the expected type. +// +#define WU_E_DRV_REG_MISMATCH _HRESULT_TYPEDEF_(0x8024C003L) + +// +// MessageId: WU_E_DRV_NO_METADATA +// +// MessageText: +// +// The driver update is missing metadata. +// +#define WU_E_DRV_NO_METADATA _HRESULT_TYPEDEF_(0x8024C004L) + +// +// MessageId: WU_E_DRV_MISSING_ATTRIBUTE +// +// MessageText: +// +// The driver update is missing a required attribute. +// +#define WU_E_DRV_MISSING_ATTRIBUTE _HRESULT_TYPEDEF_(0x8024C005L) + +// +// MessageId: WU_E_DRV_SYNC_FAILED +// +// MessageText: +// +// Driver synchronization failed. +// +#define WU_E_DRV_SYNC_FAILED _HRESULT_TYPEDEF_(0x8024C006L) + +// +// MessageId: WU_E_DRV_NO_PRINTER_CONTENT +// +// MessageText: +// +// Information required for the synchronization of applicable printers is missing. +// +#define WU_E_DRV_NO_PRINTER_CONTENT _HRESULT_TYPEDEF_(0x8024C007L) + +// +// MessageId: WU_E_DRV_UNEXPECTED +// +// MessageText: +// +// A driver error not covered by another WU_E_DRV_* code. +// +#define WU_E_DRV_UNEXPECTED _HRESULT_TYPEDEF_(0x8024CFFFL) + +////////////////////////////////////////////////////////////////////////////// +// data store errors +/////////////////////////////////////////////////////////////////////////////// +// +// MessageId: WU_E_DS_SHUTDOWN +// +// MessageText: +// +// An operation failed because Windows Update Agent is shutting down. +// +#define WU_E_DS_SHUTDOWN _HRESULT_TYPEDEF_(0x80248000L) + +// +// MessageId: WU_E_DS_INUSE +// +// MessageText: +// +// An operation failed because the data store was in use. +// +#define WU_E_DS_INUSE _HRESULT_TYPEDEF_(0x80248001L) + +// +// MessageId: WU_E_DS_INVALID +// +// MessageText: +// +// The current and expected states of the data store do not match. +// +#define WU_E_DS_INVALID _HRESULT_TYPEDEF_(0x80248002L) + +// +// MessageId: WU_E_DS_TABLEMISSING +// +// MessageText: +// +// The data store is missing a table. +// +#define WU_E_DS_TABLEMISSING _HRESULT_TYPEDEF_(0x80248003L) + +// +// MessageId: WU_E_DS_TABLEINCORRECT +// +// MessageText: +// +// The data store contains a table with unexpected columns. +// +#define WU_E_DS_TABLEINCORRECT _HRESULT_TYPEDEF_(0x80248004L) + +// +// MessageId: WU_E_DS_INVALIDTABLENAME +// +// MessageText: +// +// A table could not be opened because the table is not in the data store. +// +#define WU_E_DS_INVALIDTABLENAME _HRESULT_TYPEDEF_(0x80248005L) + +// +// MessageId: WU_E_DS_BADVERSION +// +// MessageText: +// +// The current and expected versions of the data store do not match. +// +#define WU_E_DS_BADVERSION _HRESULT_TYPEDEF_(0x80248006L) + +// +// MessageId: WU_E_DS_NODATA +// +// MessageText: +// +// The information requested is not in the data store. +// +#define WU_E_DS_NODATA _HRESULT_TYPEDEF_(0x80248007L) + +// +// MessageId: WU_E_DS_MISSINGDATA +// +// MessageText: +// +// The data store is missing required information or has a NULL in a table column that requires a non-null value. +// +#define WU_E_DS_MISSINGDATA _HRESULT_TYPEDEF_(0x80248008L) + +// +// MessageId: WU_E_DS_MISSINGREF +// +// MessageText: +// +// The data store is missing required information or has a reference to missing license terms, file, localized property or linked row. +// +#define WU_E_DS_MISSINGREF _HRESULT_TYPEDEF_(0x80248009L) + +// +// MessageId: WU_E_DS_UNKNOWNHANDLER +// +// MessageText: +// +// The update was not processed because its update handler could not be recognized. +// +#define WU_E_DS_UNKNOWNHANDLER _HRESULT_TYPEDEF_(0x8024800AL) + +// +// MessageId: WU_E_DS_CANTDELETE +// +// MessageText: +// +// The update was not deleted because it is still referenced by one or more services. +// +#define WU_E_DS_CANTDELETE _HRESULT_TYPEDEF_(0x8024800BL) + +// +// MessageId: WU_E_DS_LOCKTIMEOUTEXPIRED +// +// MessageText: +// +// The data store section could not be locked within the allotted time. +// +#define WU_E_DS_LOCKTIMEOUTEXPIRED _HRESULT_TYPEDEF_(0x8024800CL) + +// +// MessageId: WU_E_DS_NOCATEGORIES +// +// MessageText: +// +// The category was not added because it contains no parent categories and is not a top-level category itself. +// +#define WU_E_DS_NOCATEGORIES _HRESULT_TYPEDEF_(0x8024800DL) + +// +// MessageId: WU_E_DS_ROWEXISTS +// +// MessageText: +// +// The row was not added because an existing row has the same primary key. +// +#define WU_E_DS_ROWEXISTS _HRESULT_TYPEDEF_(0x8024800EL) + +// +// MessageId: WU_E_DS_STOREFILELOCKED +// +// MessageText: +// +// The data store could not be initialized because it was locked by another process. +// +#define WU_E_DS_STOREFILELOCKED _HRESULT_TYPEDEF_(0x8024800FL) + +// +// MessageId: WU_E_DS_CANNOTREGISTER +// +// MessageText: +// +// The data store is not allowed to be registered with COM in the current process. +// +#define WU_E_DS_CANNOTREGISTER _HRESULT_TYPEDEF_(0x80248010L) + +// +// MessageId: WU_E_DS_UNABLETOSTART +// +// MessageText: +// +// Could not create a data store object in another process. +// +#define WU_E_DS_UNABLETOSTART _HRESULT_TYPEDEF_(0x80248011L) + +// +// MessageId: WU_E_DS_DUPLICATEUPDATEID +// +// MessageText: +// +// The server sent the same update to the client with two different revision IDs. +// +#define WU_E_DS_DUPLICATEUPDATEID _HRESULT_TYPEDEF_(0x80248013L) + +// +// MessageId: WU_E_DS_UNKNOWNSERVICE +// +// MessageText: +// +// An operation did not complete because the service is not in the data store. +// +#define WU_E_DS_UNKNOWNSERVICE _HRESULT_TYPEDEF_(0x80248014L) + +// +// MessageId: WU_E_DS_SERVICEEXPIRED +// +// MessageText: +// +// An operation did not complete because the registration of the service has expired. +// +#define WU_E_DS_SERVICEEXPIRED _HRESULT_TYPEDEF_(0x80248015L) + +// +// MessageId: WU_E_DS_DECLINENOTALLOWED +// +// MessageText: +// +// A request to hide an update was declined because it is a mandatory update or because it was deployed with a deadline. +// +#define WU_E_DS_DECLINENOTALLOWED _HRESULT_TYPEDEF_(0x80248016L) + +// +// MessageId: WU_E_DS_TABLESESSIONMISMATCH +// +// MessageText: +// +// A table was not closed because it is not associated with the session. +// +#define WU_E_DS_TABLESESSIONMISMATCH _HRESULT_TYPEDEF_(0x80248017L) + +// +// MessageId: WU_E_DS_SESSIONLOCKMISMATCH +// +// MessageText: +// +// A table was not closed because it is not associated with the session. +// +#define WU_E_DS_SESSIONLOCKMISMATCH _HRESULT_TYPEDEF_(0x80248018L) + +// +// MessageId: WU_E_DS_NEEDWINDOWSSERVICE +// +// MessageText: +// +// A request to remove the Windows Update service or to unregister it with Automatic Updates was declined because it is a built-in service and/or Automatic Updates cannot fall back to another service. +// +#define WU_E_DS_NEEDWINDOWSSERVICE _HRESULT_TYPEDEF_(0x80248019L) + +// +// MessageId: WU_E_DS_INVALIDOPERATION +// +// MessageText: +// +// A request was declined because the operation is not allowed. +// +#define WU_E_DS_INVALIDOPERATION _HRESULT_TYPEDEF_(0x8024801AL) + +// +// MessageId: WU_E_DS_SCHEMAMISMATCH +// +// MessageText: +// +// The schema of the current data store and the schema of a table in a backup XML document do not match. +// +#define WU_E_DS_SCHEMAMISMATCH _HRESULT_TYPEDEF_(0x8024801BL) + +// +// MessageId: WU_E_DS_RESETREQUIRED +// +// MessageText: +// +// The data store requires a session reset; release the session and retry with a new session. +// +#define WU_E_DS_RESETREQUIRED _HRESULT_TYPEDEF_(0x8024801CL) + +// +// MessageId: WU_E_DS_IMPERSONATED +// +// MessageText: +// +// A data store operation did not complete because it was requested with an impersonated identity. +// +#define WU_E_DS_IMPERSONATED _HRESULT_TYPEDEF_(0x8024801DL) + +// +// MessageId: WU_E_DS_UNEXPECTED +// +// MessageText: +// +// A data store error not covered by another WU_E_DS_* code. +// +#define WU_E_DS_UNEXPECTED _HRESULT_TYPEDEF_(0x80248FFFL) + +///////////////////////////////////////////////////////////////////////////// +//Inventory Errors +///////////////////////////////////////////////////////////////////////////// +// +// MessageId: WU_E_INVENTORY_PARSEFAILED +// +// MessageText: +// +// Parsing of the rule file failed. +// +#define WU_E_INVENTORY_PARSEFAILED _HRESULT_TYPEDEF_(0x80249001L) + +// +// MessageId: WU_E_INVENTORY_GET_INVENTORY_TYPE_FAILED +// +// MessageText: +// +// Failed to get the requested inventory type from the server. +// +#define WU_E_INVENTORY_GET_INVENTORY_TYPE_FAILED _HRESULT_TYPEDEF_(0x80249002L) + +// +// MessageId: WU_E_INVENTORY_RESULT_UPLOAD_FAILED +// +// MessageText: +// +// Failed to upload inventory result to the server. +// +#define WU_E_INVENTORY_RESULT_UPLOAD_FAILED _HRESULT_TYPEDEF_(0x80249003L) + +// +// MessageId: WU_E_INVENTORY_UNEXPECTED +// +// MessageText: +// +// There was an inventory error not covered by another error code. +// +#define WU_E_INVENTORY_UNEXPECTED _HRESULT_TYPEDEF_(0x80249004L) + +// +// MessageId: WU_E_INVENTORY_WMI_ERROR +// +// MessageText: +// +// A WMI error occurred when enumerating the instances for a particular class. +// +#define WU_E_INVENTORY_WMI_ERROR _HRESULT_TYPEDEF_(0x80249005L) + +///////////////////////////////////////////////////////////////////////////// +//AU Errors +///////////////////////////////////////////////////////////////////////////// +// +// MessageId: WU_E_AU_NOSERVICE +// +// MessageText: +// +// Automatic Updates was unable to service incoming requests. +// +#define WU_E_AU_NOSERVICE _HRESULT_TYPEDEF_(0x8024A000L) + +// +// MessageId: WU_E_AU_NONLEGACYSERVER +// +// MessageText: +// +// The old version of the Automatic Updates client has stopped because the WSUS server has been upgraded. +// +#define WU_E_AU_NONLEGACYSERVER _HRESULT_TYPEDEF_(0x8024A002L) + +// +// MessageId: WU_E_AU_LEGACYCLIENTDISABLED +// +// MessageText: +// +// The old version of the Automatic Updates client was disabled. +// +#define WU_E_AU_LEGACYCLIENTDISABLED _HRESULT_TYPEDEF_(0x8024A003L) + +// +// MessageId: WU_E_AU_PAUSED +// +// MessageText: +// +// Automatic Updates was unable to process incoming requests because it was paused. +// +#define WU_E_AU_PAUSED _HRESULT_TYPEDEF_(0x8024A004L) + +// +// MessageId: WU_E_AU_NO_REGISTERED_SERVICE +// +// MessageText: +// +// No unmanaged service is registered with AU. +// +#define WU_E_AU_NO_REGISTERED_SERVICE _HRESULT_TYPEDEF_(0x8024A005L) + +// +// MessageId: WU_E_AU_DETECT_SVCID_MISMATCH +// +// MessageText: +// +// The default service registered with AU changed during the search. +// +#define WU_E_AU_DETECT_SVCID_MISMATCH _HRESULT_TYPEDEF_(0x8024A006L) + +// +// MessageId: WU_E_AU_UNEXPECTED +// +// MessageText: +// +// An Automatic Updates error not covered by another WU_E_AU * code. +// +#define WU_E_AU_UNEXPECTED _HRESULT_TYPEDEF_(0x8024AFFFL) + +////////////////////////////////////////////////////////////////////////////// +// update handler errors +/////////////////////////////////////////////////////////////////////////////// +// +// MessageId: WU_E_UH_REMOTEUNAVAILABLE +// +// MessageText: +// +// A request for a remote update handler could not be completed because no remote process is available. +// +#define WU_E_UH_REMOTEUNAVAILABLE _HRESULT_TYPEDEF_(0x80242000L) + +// +// MessageId: WU_E_UH_LOCALONLY +// +// MessageText: +// +// A request for a remote update handler could not be completed because the handler is local only. +// +#define WU_E_UH_LOCALONLY _HRESULT_TYPEDEF_(0x80242001L) + +// +// MessageId: WU_E_UH_UNKNOWNHANDLER +// +// MessageText: +// +// A request for an update handler could not be completed because the handler could not be recognized. +// +#define WU_E_UH_UNKNOWNHANDLER _HRESULT_TYPEDEF_(0x80242002L) + +// +// MessageId: WU_E_UH_REMOTEALREADYACTIVE +// +// MessageText: +// +// A remote update handler could not be created because one already exists. +// +#define WU_E_UH_REMOTEALREADYACTIVE _HRESULT_TYPEDEF_(0x80242003L) + +// +// MessageId: WU_E_UH_DOESNOTSUPPORTACTION +// +// MessageText: +// +// A request for the handler to install (uninstall) an update could not be completed because the update does not support install (uninstall). +// +#define WU_E_UH_DOESNOTSUPPORTACTION _HRESULT_TYPEDEF_(0x80242004L) + +// +// MessageId: WU_E_UH_WRONGHANDLER +// +// MessageText: +// +// An operation did not complete because the wrong handler was specified. +// +#define WU_E_UH_WRONGHANDLER _HRESULT_TYPEDEF_(0x80242005L) + +// +// MessageId: WU_E_UH_INVALIDMETADATA +// +// MessageText: +// +// A handler operation could not be completed because the update contains invalid metadata. +// +#define WU_E_UH_INVALIDMETADATA _HRESULT_TYPEDEF_(0x80242006L) + +// +// MessageId: WU_E_UH_INSTALLERHUNG +// +// MessageText: +// +// An operation could not be completed because the installer exceeded the time limit. +// +#define WU_E_UH_INSTALLERHUNG _HRESULT_TYPEDEF_(0x80242007L) + +// +// MessageId: WU_E_UH_OPERATIONCANCELLED +// +// MessageText: +// +// An operation being done by the update handler was cancelled. +// +#define WU_E_UH_OPERATIONCANCELLED _HRESULT_TYPEDEF_(0x80242008L) + +// +// MessageId: WU_E_UH_BADHANDLERXML +// +// MessageText: +// +// An operation could not be completed because the handler-specific metadata is invalid. +// +#define WU_E_UH_BADHANDLERXML _HRESULT_TYPEDEF_(0x80242009L) + +// +// MessageId: WU_E_UH_CANREQUIREINPUT +// +// MessageText: +// +// A request to the handler to install an update could not be completed because the update requires user input. +// +#define WU_E_UH_CANREQUIREINPUT _HRESULT_TYPEDEF_(0x8024200AL) + +// +// MessageId: WU_E_UH_INSTALLERFAILURE +// +// MessageText: +// +// The installer failed to install (uninstall) one or more updates. +// +#define WU_E_UH_INSTALLERFAILURE _HRESULT_TYPEDEF_(0x8024200BL) + +// +// MessageId: WU_E_UH_FALLBACKTOSELFCONTAINED +// +// MessageText: +// +// The update handler should download self-contained content rather than delta-compressed content for the update. +// +#define WU_E_UH_FALLBACKTOSELFCONTAINED _HRESULT_TYPEDEF_(0x8024200CL) + +// +// MessageId: WU_E_UH_NEEDANOTHERDOWNLOAD +// +// MessageText: +// +// The update handler did not install the update because it needs to be downloaded again. +// +#define WU_E_UH_NEEDANOTHERDOWNLOAD _HRESULT_TYPEDEF_(0x8024200DL) + +// +// MessageId: WU_E_UH_NOTIFYFAILURE +// +// MessageText: +// +// The update handler failed to send notification of the status of the install (uninstall) operation. +// +#define WU_E_UH_NOTIFYFAILURE _HRESULT_TYPEDEF_(0x8024200EL) + +// +// MessageId: WU_E_UH_INCONSISTENT_FILE_NAMES +// +// MessageText: +// +// The file names contained in the update metadata and in the update package are inconsistent. +// +#define WU_E_UH_INCONSISTENT_FILE_NAMES _HRESULT_TYPEDEF_(0x8024200FL) + +// +// MessageId: WU_E_UH_FALLBACKERROR +// +// MessageText: +// +// The update handler failed to fall back to the self-contained content. +// +#define WU_E_UH_FALLBACKERROR _HRESULT_TYPEDEF_(0x80242010L) + +// +// MessageId: WU_E_UH_TOOMANYDOWNLOADREQUESTS +// +// MessageText: +// +// The update handler has exceeded the maximum number of download requests. +// +#define WU_E_UH_TOOMANYDOWNLOADREQUESTS _HRESULT_TYPEDEF_(0x80242011L) + +// +// MessageId: WU_E_UH_UNEXPECTEDCBSRESPONSE +// +// MessageText: +// +// The update handler has received an unexpected response from CBS. +// +#define WU_E_UH_UNEXPECTEDCBSRESPONSE _HRESULT_TYPEDEF_(0x80242012L) + +// +// MessageId: WU_E_UH_BADCBSPACKAGEID +// +// MessageText: +// +// The update metadata contains an invalid CBS package identifier. +// +#define WU_E_UH_BADCBSPACKAGEID _HRESULT_TYPEDEF_(0x80242013L) + +// +// MessageId: WU_E_UH_POSTREBOOTSTILLPENDING +// +// MessageText: +// +// The post-reboot operation for the update is still in progress. +// +#define WU_E_UH_POSTREBOOTSTILLPENDING _HRESULT_TYPEDEF_(0x80242014L) + +// +// MessageId: WU_E_UH_POSTREBOOTRESULTUNKNOWN +// +// MessageText: +// +// The result of the post-reboot operation for the update could not be determined. +// +#define WU_E_UH_POSTREBOOTRESULTUNKNOWN _HRESULT_TYPEDEF_(0x80242015L) + +// +// MessageId: WU_E_UH_POSTREBOOTUNEXPECTEDSTATE +// +// MessageText: +// +// The state of the update after its post-reboot operation has completed is unexpected. +// +#define WU_E_UH_POSTREBOOTUNEXPECTEDSTATE _HRESULT_TYPEDEF_(0x80242016L) + +// +// MessageId: WU_E_UH_NEW_SERVICING_STACK_REQUIRED +// +// MessageText: +// +// The OS servicing stack must be updated before this update is downloaded or installed. +// +#define WU_E_UH_NEW_SERVICING_STACK_REQUIRED _HRESULT_TYPEDEF_(0x80242017L) + +// +// MessageId: WU_E_UH_CALLED_BACK_FAILURE +// +// MessageText: +// +// A callback installer called back with an error. +// +#define WU_E_UH_CALLED_BACK_FAILURE _HRESULT_TYPEDEF_(0x80242018L) + +// +// MessageId: WU_E_UH_CUSTOMINSTALLER_INVALID_SIGNATURE +// +// MessageText: +// +// The custom installer signature did not match the signature required by the update. +// +#define WU_E_UH_CUSTOMINSTALLER_INVALID_SIGNATURE _HRESULT_TYPEDEF_(0x80242019L) + +// +// MessageId: WU_E_UH_UNSUPPORTED_INSTALLCONTEXT +// +// MessageText: +// +// The installer does not support the installation configuration. +// +#define WU_E_UH_UNSUPPORTED_INSTALLCONTEXT _HRESULT_TYPEDEF_(0x8024201AL) + +// +// MessageId: WU_E_UH_INVALID_TARGETSESSION +// +// MessageText: +// +// The targeted session for isntall is invalid. +// +#define WU_E_UH_INVALID_TARGETSESSION _HRESULT_TYPEDEF_(0x8024201BL) + +// +// MessageId: WU_E_UH_UNEXPECTED +// +// MessageText: +// +// An update handler error not covered by another WU_E_UH_* code. +// +#define WU_E_UH_UNEXPECTED _HRESULT_TYPEDEF_(0x80242FFFL) + +////////////////////////////////////////////////////////////////////////////// +// download manager errors +/////////////////////////////////////////////////////////////////////////////// +// +// MessageId: WU_E_DM_URLNOTAVAILABLE +// +// MessageText: +// +// A download manager operation could not be completed because the requested file does not have a URL. +// +#define WU_E_DM_URLNOTAVAILABLE _HRESULT_TYPEDEF_(0x80246001L) + +// +// MessageId: WU_E_DM_INCORRECTFILEHASH +// +// MessageText: +// +// A download manager operation could not be completed because the file digest was not recognized. +// +#define WU_E_DM_INCORRECTFILEHASH _HRESULT_TYPEDEF_(0x80246002L) + +// +// MessageId: WU_E_DM_UNKNOWNALGORITHM +// +// MessageText: +// +// A download manager operation could not be completed because the file metadata requested an unrecognized hash algorithm. +// +#define WU_E_DM_UNKNOWNALGORITHM _HRESULT_TYPEDEF_(0x80246003L) + +// +// MessageId: WU_E_DM_NEEDDOWNLOADREQUEST +// +// MessageText: +// +// An operation could not be completed because a download request is required from the download handler. +// +#define WU_E_DM_NEEDDOWNLOADREQUEST _HRESULT_TYPEDEF_(0x80246004L) + +// +// MessageId: WU_E_DM_NONETWORK +// +// MessageText: +// +// A download manager operation could not be completed because the network connection was unavailable. +// +#define WU_E_DM_NONETWORK _HRESULT_TYPEDEF_(0x80246005L) + +// +// MessageId: WU_E_DM_WRONGBITSVERSION +// +// MessageText: +// +// A download manager operation could not be completed because the version of Background Intelligent Transfer Service (BITS) is incompatible. +// +#define WU_E_DM_WRONGBITSVERSION _HRESULT_TYPEDEF_(0x80246006L) + +// +// MessageId: WU_E_DM_NOTDOWNLOADED +// +// MessageText: +// +// The update has not been downloaded. +// +#define WU_E_DM_NOTDOWNLOADED _HRESULT_TYPEDEF_(0x80246007L) + +// +// MessageId: WU_E_DM_FAILTOCONNECTTOBITS +// +// MessageText: +// +// A download manager operation failed because the download manager was unable to connect the Background Intelligent Transfer Service (BITS). +// +#define WU_E_DM_FAILTOCONNECTTOBITS _HRESULT_TYPEDEF_(0x80246008L) + +// +// MessageId: WU_E_DM_BITSTRANSFERERROR +// +// MessageText: +// +// A download manager operation failed because there was an unspecified Background Intelligent Transfer Service (BITS) transfer error. +// +#define WU_E_DM_BITSTRANSFERERROR _HRESULT_TYPEDEF_(0x80246009L) + +// +// MessageId: WU_E_DM_DOWNLOADLOCATIONCHANGED +// +// MessageText: +// +// A download must be restarted because the location of the source of the download has changed. +// +#define WU_E_DM_DOWNLOADLOCATIONCHANGED _HRESULT_TYPEDEF_(0x8024600AL) + +// +// MessageId: WU_E_DM_CONTENTCHANGED +// +// MessageText: +// +// A download must be restarted because the update content changed in a new revision. +// +#define WU_E_DM_CONTENTCHANGED _HRESULT_TYPEDEF_(0x8024600BL) + +// +// MessageId: WU_E_DM_UNEXPECTED +// +// MessageText: +// +// There was a download manager error not covered by another WU_E_DM_* error code. +// +#define WU_E_DM_UNEXPECTED _HRESULT_TYPEDEF_(0x80246FFFL) + +////////////////////////////////////////////////////////////////////////////// +// Setup/SelfUpdate errors +/////////////////////////////////////////////////////////////////////////////// +// +// MessageId: WU_E_SETUP_INVALID_INFDATA +// +// MessageText: +// +// Windows Update Agent could not be updated because an INF file contains invalid information. +// +#define WU_E_SETUP_INVALID_INFDATA _HRESULT_TYPEDEF_(0x8024D001L) + +// +// MessageId: WU_E_SETUP_INVALID_IDENTDATA +// +// MessageText: +// +// Windows Update Agent could not be updated because the wuident.cab file contains invalid information. +// +#define WU_E_SETUP_INVALID_IDENTDATA _HRESULT_TYPEDEF_(0x8024D002L) + +// +// MessageId: WU_E_SETUP_ALREADY_INITIALIZED +// +// MessageText: +// +// Windows Update Agent could not be updated because of an internal error that caused setup initialization to be performed twice. +// +#define WU_E_SETUP_ALREADY_INITIALIZED _HRESULT_TYPEDEF_(0x8024D003L) + +// +// MessageId: WU_E_SETUP_NOT_INITIALIZED +// +// MessageText: +// +// Windows Update Agent could not be updated because setup initialization never completed successfully. +// +#define WU_E_SETUP_NOT_INITIALIZED _HRESULT_TYPEDEF_(0x8024D004L) + +// +// MessageId: WU_E_SETUP_SOURCE_VERSION_MISMATCH +// +// MessageText: +// +// Windows Update Agent could not be updated because the versions specified in the INF do not match the actual source file versions. +// +#define WU_E_SETUP_SOURCE_VERSION_MISMATCH _HRESULT_TYPEDEF_(0x8024D005L) + +// +// MessageId: WU_E_SETUP_TARGET_VERSION_GREATER +// +// MessageText: +// +// Windows Update Agent could not be updated because a WUA file on the target system is newer than the corresponding source file. +// +#define WU_E_SETUP_TARGET_VERSION_GREATER _HRESULT_TYPEDEF_(0x8024D006L) + +// +// MessageId: WU_E_SETUP_REGISTRATION_FAILED +// +// MessageText: +// +// Windows Update Agent could not be updated because regsvr32.exe returned an error. +// +#define WU_E_SETUP_REGISTRATION_FAILED _HRESULT_TYPEDEF_(0x8024D007L) + +// +// MessageId: WU_E_SELFUPDATE_SKIP_ON_FAILURE +// +// MessageText: +// +// An update to the Windows Update Agent was skipped because previous attempts to update have failed. +// +#define WU_E_SELFUPDATE_SKIP_ON_FAILURE _HRESULT_TYPEDEF_(0x8024D008L) + +// +// MessageId: WU_E_SETUP_SKIP_UPDATE +// +// MessageText: +// +// An update to the Windows Update Agent was skipped due to a directive in the wuident.cab file. +// +#define WU_E_SETUP_SKIP_UPDATE _HRESULT_TYPEDEF_(0x8024D009L) + +// +// MessageId: WU_E_SETUP_UNSUPPORTED_CONFIGURATION +// +// MessageText: +// +// Windows Update Agent could not be updated because the current system configuration is not supported. +// +#define WU_E_SETUP_UNSUPPORTED_CONFIGURATION _HRESULT_TYPEDEF_(0x8024D00AL) + +// +// MessageId: WU_E_SETUP_BLOCKED_CONFIGURATION +// +// MessageText: +// +// Windows Update Agent could not be updated because the system is configured to block the update. +// +#define WU_E_SETUP_BLOCKED_CONFIGURATION _HRESULT_TYPEDEF_(0x8024D00BL) + +// +// MessageId: WU_E_SETUP_REBOOT_TO_FIX +// +// MessageText: +// +// Windows Update Agent could not be updated because a restart of the system is required. +// +#define WU_E_SETUP_REBOOT_TO_FIX _HRESULT_TYPEDEF_(0x8024D00CL) + +// +// MessageId: WU_E_SETUP_ALREADYRUNNING +// +// MessageText: +// +// Windows Update Agent setup is already running. +// +#define WU_E_SETUP_ALREADYRUNNING _HRESULT_TYPEDEF_(0x8024D00DL) + +// +// MessageId: WU_E_SETUP_REBOOTREQUIRED +// +// MessageText: +// +// Windows Update Agent setup package requires a reboot to complete installation. +// +#define WU_E_SETUP_REBOOTREQUIRED _HRESULT_TYPEDEF_(0x8024D00EL) + +// +// MessageId: WU_E_SETUP_HANDLER_EXEC_FAILURE +// +// MessageText: +// +// Windows Update Agent could not be updated because the setup handler failed during execution. +// +#define WU_E_SETUP_HANDLER_EXEC_FAILURE _HRESULT_TYPEDEF_(0x8024D00FL) + +// +// MessageId: WU_E_SETUP_INVALID_REGISTRY_DATA +// +// MessageText: +// +// Windows Update Agent could not be updated because the registry contains invalid information. +// +#define WU_E_SETUP_INVALID_REGISTRY_DATA _HRESULT_TYPEDEF_(0x8024D010L) + +// +// MessageId: WU_E_SELFUPDATE_REQUIRED +// +// MessageText: +// +// Windows Update Agent must be updated before search can continue. +// +#define WU_E_SELFUPDATE_REQUIRED _HRESULT_TYPEDEF_(0x8024D011L) + +// +// MessageId: WU_E_SELFUPDATE_REQUIRED_ADMIN +// +// MessageText: +// +// Windows Update Agent must be updated before search can continue. An administrator is required to perform the operation. +// +#define WU_E_SELFUPDATE_REQUIRED_ADMIN _HRESULT_TYPEDEF_(0x8024D012L) + +// +// MessageId: WU_E_SETUP_WRONG_SERVER_VERSION +// +// MessageText: +// +// Windows Update Agent could not be updated because the server does not contain update information for this version. +// +#define WU_E_SETUP_WRONG_SERVER_VERSION _HRESULT_TYPEDEF_(0x8024D013L) + +// +// MessageId: WU_E_SETUP_UNEXPECTED +// +// MessageText: +// +// Windows Update Agent could not be updated because of an error not covered by another WU_E_SETUP_* error code. +// +#define WU_E_SETUP_UNEXPECTED _HRESULT_TYPEDEF_(0x8024DFFFL) + +////////////////////////////////////////////////////////////////////////////// +// expression evaluator errors +/////////////////////////////////////////////////////////////////////////////// +// +// MessageId: WU_E_EE_UNKNOWN_EXPRESSION +// +// MessageText: +// +// An expression evaluator operation could not be completed because an expression was unrecognized. +// +#define WU_E_EE_UNKNOWN_EXPRESSION _HRESULT_TYPEDEF_(0x8024E001L) + +// +// MessageId: WU_E_EE_INVALID_EXPRESSION +// +// MessageText: +// +// An expression evaluator operation could not be completed because an expression was invalid. +// +#define WU_E_EE_INVALID_EXPRESSION _HRESULT_TYPEDEF_(0x8024E002L) + +// +// MessageId: WU_E_EE_MISSING_METADATA +// +// MessageText: +// +// An expression evaluator operation could not be completed because an expression contains an incorrect number of metadata nodes. +// +#define WU_E_EE_MISSING_METADATA _HRESULT_TYPEDEF_(0x8024E003L) + +// +// MessageId: WU_E_EE_INVALID_VERSION +// +// MessageText: +// +// An expression evaluator operation could not be completed because the version of the serialized expression data is invalid. +// +#define WU_E_EE_INVALID_VERSION _HRESULT_TYPEDEF_(0x8024E004L) + +// +// MessageId: WU_E_EE_NOT_INITIALIZED +// +// MessageText: +// +// The expression evaluator could not be initialized. +// +#define WU_E_EE_NOT_INITIALIZED _HRESULT_TYPEDEF_(0x8024E005L) + +// +// MessageId: WU_E_EE_INVALID_ATTRIBUTEDATA +// +// MessageText: +// +// An expression evaluator operation could not be completed because there was an invalid attribute. +// +#define WU_E_EE_INVALID_ATTRIBUTEDATA _HRESULT_TYPEDEF_(0x8024E006L) + +// +// MessageId: WU_E_EE_CLUSTER_ERROR +// +// MessageText: +// +// An expression evaluator operation could not be completed because the cluster state of the computer could not be determined. +// +#define WU_E_EE_CLUSTER_ERROR _HRESULT_TYPEDEF_(0x8024E007L) + +// +// MessageId: WU_E_EE_UNEXPECTED +// +// MessageText: +// +// There was an expression evaluator error not covered by another WU_E_EE_* error code. +// +#define WU_E_EE_UNEXPECTED _HRESULT_TYPEDEF_(0x8024EFFFL) + +////////////////////////////////////////////////////////////////////////////// +// UI errors +/////////////////////////////////////////////////////////////////////////////// +// +// MessageId: WU_E_INSTALLATION_RESULTS_UNKNOWN_VERSION +// +// MessageText: +// +// The results of download and installation could not be read from the registry due to an unrecognized data format version. +// +#define WU_E_INSTALLATION_RESULTS_UNKNOWN_VERSION _HRESULT_TYPEDEF_(0x80243001L) + +// +// MessageId: WU_E_INSTALLATION_RESULTS_INVALID_DATA +// +// MessageText: +// +// The results of download and installation could not be read from the registry due to an invalid data format. +// +#define WU_E_INSTALLATION_RESULTS_INVALID_DATA _HRESULT_TYPEDEF_(0x80243002L) + +// +// MessageId: WU_E_INSTALLATION_RESULTS_NOT_FOUND +// +// MessageText: +// +// The results of download and installation are not available; the operation may have failed to start. +// +#define WU_E_INSTALLATION_RESULTS_NOT_FOUND _HRESULT_TYPEDEF_(0x80243003L) + +// +// MessageId: WU_E_TRAYICON_FAILURE +// +// MessageText: +// +// A failure occurred when trying to create an icon in the taskbar notification area. +// +#define WU_E_TRAYICON_FAILURE _HRESULT_TYPEDEF_(0x80243004L) + +// +// MessageId: WU_E_NON_UI_MODE +// +// MessageText: +// +// Unable to show UI when in non-UI mode; WU client UI modules may not be installed. +// +#define WU_E_NON_UI_MODE _HRESULT_TYPEDEF_(0x80243FFDL) + +// +// MessageId: WU_E_WUCLTUI_UNSUPPORTED_VERSION +// +// MessageText: +// +// Unsupported version of WU client UI exported functions. +// +#define WU_E_WUCLTUI_UNSUPPORTED_VERSION _HRESULT_TYPEDEF_(0x80243FFEL) + +// +// MessageId: WU_E_AUCLIENT_UNEXPECTED +// +// MessageText: +// +// There was a user interface error not covered by another WU_E_AUCLIENT_* error code. +// +#define WU_E_AUCLIENT_UNEXPECTED _HRESULT_TYPEDEF_(0x80243FFFL) + +////////////////////////////////////////////////////////////////////////////// +// reporter errors +/////////////////////////////////////////////////////////////////////////////// +// +// MessageId: WU_E_REPORTER_EVENTCACHECORRUPT +// +// MessageText: +// +// The event cache file was defective. +// +#define WU_E_REPORTER_EVENTCACHECORRUPT _HRESULT_TYPEDEF_(0x8024F001L) + +// +// MessageId: WU_E_REPORTER_EVENTNAMESPACEPARSEFAILED +// +// MessageText: +// +// The XML in the event namespace descriptor could not be parsed. +// +#define WU_E_REPORTER_EVENTNAMESPACEPARSEFAILED _HRESULT_TYPEDEF_(0x8024F002L) + +// +// MessageId: WU_E_INVALID_EVENT +// +// MessageText: +// +// The XML in the event namespace descriptor could not be parsed. +// +#define WU_E_INVALID_EVENT _HRESULT_TYPEDEF_(0x8024F003L) + +// +// MessageId: WU_E_SERVER_BUSY +// +// MessageText: +// +// The server rejected an event because the server was too busy. +// +#define WU_E_SERVER_BUSY _HRESULT_TYPEDEF_(0x8024F004L) + +// +// MessageId: WU_E_CALLBACK_COOKIE_NOT_FOUND +// +// MessageText: +// +// The specified callback cookie is not found. +// +#define WU_E_CALLBACK_COOKIE_NOT_FOUND _HRESULT_TYPEDEF_(0x8024F005L) + +// +// MessageId: WU_E_REPORTER_UNEXPECTED +// +// MessageText: +// +// There was a reporter error not covered by another error code. +// +#define WU_E_REPORTER_UNEXPECTED _HRESULT_TYPEDEF_(0x8024FFFFL) + +// +// MessageId: WU_E_OL_INVALID_SCANFILE +// +// MessageText: +// +// An operation could not be completed because the scan package was invalid. +// +#define WU_E_OL_INVALID_SCANFILE _HRESULT_TYPEDEF_(0x80247001L) + +// +// MessageId: WU_E_OL_NEWCLIENT_REQUIRED +// +// MessageText: +// +// An operation could not be completed because the scan package requires a greater version of the Windows Update Agent. +// +#define WU_E_OL_NEWCLIENT_REQUIRED _HRESULT_TYPEDEF_(0x80247002L) + +// +// MessageId: WU_E_OL_UNEXPECTED +// +// MessageText: +// +// Search using the scan package failed. +// +#define WU_E_OL_UNEXPECTED _HRESULT_TYPEDEF_(0x80247FFFL) + +#endif //_WUERROR_ diff --git a/nsisplugin/EnableMicrosoftUpdate.c b/nsisplugin/EnableMicrosoftUpdate.c new file mode 100644 index 0000000..9ae2b7a --- /dev/null +++ b/nsisplugin/EnableMicrosoftUpdate.c @@ -0,0 +1,41 @@ +#define CINTERFACE +#define COBJMACROS +#include +#include +#include +#include "main.h" + +static const GUID our_CLSID_UpdateServiceManager = { 0xf8d253d9, 0x89a4, 0x4daa, { 0x87, 0xb6, 0x11, 0x68, 0x36, 0x9f, 0x0b, 0x21 } }; +static const GUID our_IID_IUpdateServiceManager2 = { 0x0bb8531d, 0x7e8d, 0x424f, { 0x98, 0x6c, 0xa0, 0xb8, 0xf6, 0x0a, 0x3e, 0x7b } }; + +static const LPWSTR MicrosoftUpdateServiceID = L"7971f918-a847-4430-9279-4a52d1efe18d"; + +EXTERN_C __declspec(dllexport) +void __cdecl EnableMicrosoftUpdate(HWND hwndParent, int string_size, TCHAR *variables, stack_t **stacktop, extra_parameters *extra) { + EXDLL_INIT(); + g_hwndParent = hwndParent; + + IUpdateServiceManager2 *serviceManager; + IUpdateServiceRegistration *registration; + + HRESULT hr = CoCreateInstance(our_CLSID_UpdateServiceManager, NULL, CLSCTX_INPROC_SERVER, our_IID_IUpdateServiceManager2, (void **)&serviceManager); + if (!SUCCEEDED(hr)) { + goto end; + } + + hr = IUpdateServiceManager2_AddService2(serviceManager, SysAllocString(MicrosoftUpdateServiceID), asfAllowPendingRegistration | asfAllowOnlineRegistration | asfRegisterServiceWithAU, SysAllocString(L""), ®istration); + if (!SUCCEEDED(hr)) { + goto end; + } + +end: + if (registration != NULL) { + IUpdateServiceManager2_Release(registration); + } + + if (serviceManager != NULL) { + IUpdateServiceManager2_Release(serviceManager); + } + + pushint(hr); +} diff --git a/nsisplugin/IsProcessRunning.c b/nsisplugin/IsProcessRunning.c new file mode 100644 index 0000000..ba8fda0 --- /dev/null +++ b/nsisplugin/IsProcessRunning.c @@ -0,0 +1,45 @@ +#include +#include +#include +#include "main.h" + +EXTERN_C __declspec(dllexport) +void __cdecl IsProcessRunning(HWND hwndParent, int string_size, TCHAR *variables, stack_t **stacktop, extra_parameters *extra) { + EXDLL_INIT(); + g_hwndParent = hwndParent; + + LPTSTR process = (LPTSTR)malloc(string_size * sizeof(TCHAR)); + popstring(process); + CharLowerBuffW(process, wcslen(process)); + + // Yes, eat all of our SHRTs! + DWORD pids[SHRT_MAX]; + DWORD bytesReturned; + if (!EnumProcesses(pids, sizeof(pids), &bytesReturned)) { + pushstring(L"0"); + return; + } + + DWORD count = bytesReturned / sizeof(DWORD); + for (DWORD i = 0; i < count; ++i) { + HANDLE handle = OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION | PROCESS_VM_READ, FALSE, pids[i]); + if (handle) { + WCHAR path[MAX_PATH]; + if (GetProcessImageFileName(handle, path, ARRAYSIZE(path))) { + LPWSTR basename = wcsrchr(path, L'\\'); + if (basename != NULL) { + basename += 1; + CharLowerBuffW(basename, wcslen(basename)); + if (_wcsicmp(process, basename) == 0) { + pushstring(L"1"); + CloseHandle(handle); + return; + } + } + } + CloseHandle(handle); + } + } + + pushstring(L"0"); +} diff --git a/nsisplugin/Makefile b/nsisplugin/Makefile new file mode 100644 index 0000000..d131958 --- /dev/null +++ b/nsisplugin/Makefile @@ -0,0 +1,110 @@ +FILES = \ + $(wildcard *.c) \ + ../include/nsis/pluginapi.c \ + ../Shared/HResult.c \ + ../Shared/WUErrors.c +RCFILES = resource.rc + +BIN = obj/LegacyUpdateNSIS.dll +DEF = $(patsubst %.dll,%.def,$(BIN)) +STATIC = $(patsubst %.dll,%.a,$(BIN)) +OBJ = $(foreach file,$(FILES),obj/$(notdir $(basename $(file)).o)) +RES = $(foreach file,$(RCFILES),obj/$(notdir $(basename $(file)).res)) + +PREFIX = i686-w64-mingw32- + +CC = $(PREFIX)g++ +RC = $(PREFIX)windres + +override DEBUG := $(or $(DEBUG),1) + +CFLAGS = \ + -std=c++11 \ + -march=i486 \ + -mdll \ + -municode \ + -DUNICODE \ + -D_UNICODE \ + $(if $(filter 1,$(DEBUG)),-D_DEBUG -g,-DNDEBUG -Os) \ + -D__USE_MINGW_ANSI_STDIO=0 \ + -D_USRDLL \ + -s \ + -fPIE \ + -ffunction-sections \ + -fdata-sections \ + -fno-unwind-tables \ + -fno-asynchronous-unwind-tables \ + -fno-exceptions \ + -fno-rtti \ + -flto \ + -Wno-write-strings \ + -I../include \ + -I../shared \ + -include stdafx.h + +LDFLAGS = \ + -nodefaultlibs \ + -nostartfiles \ + -nostdlib \ + -Wl,--gc-sections \ + -Wl,--no-seh \ + -Wl,--nxcompat \ + -Wl,--enable-auto-image-base \ + -Wl,--enable-stdcall-fixup \ + -Wl,--output-def,$(DEF) \ + -Wl,--out-implib,$(STATIC) \ + -Wl,--strip-all \ + -Wl,-e_DllMain \ + -lmsvcrt \ + -lgcc \ + -lpsapi \ + -lkernel32 \ + -luser32 \ + -lole32 \ + -loleaut32 + +RCFLAGS = \ + -F pe-i386 \ + -O coff + +all: before-all $(BIN) after-all + +before-all: + mkdir -p obj + +after-all: +ifeq ($(SIGN),1) + ../build/sign.sh $(BIN) +endif + cp $(BIN) ../setup/x86-unicode/ + +$(BIN): $(OBJ) $(RES) + $(CC) $^ $(CFLAGS) $(LDFLAGS) -o $@ + +obj/%.o: %.c + $(CC) $< $(CFLAGS) -c -o $@ + +obj/%.o: %.cpp + $(CC) $< $(CFLAGS) -c -o $@ + +obj/%.o: ../shared/%.c + $(CC) $< $(CFLAGS) -c -o $@ + +obj/%.o: ../shared/%.cpp + $(CC) $< $(CFLAGS) -c -o $@ + +obj/%.o: ../include/nsis/%.c + $(CC) $< $(CFLAGS) -c -o $@ + +obj/%.res: %.rc + $(RC) $< $(RCFLAGS) -o $@ + +clean: + rm -rf obj + +test: + $(MAKE) DEBUG=$(DEBUG) + cd ../setup && makensis test.nsi + cd ../setup && explorer.exe test.exe + +.PHONY: all before-all after-all clean test diff --git a/nsisplugin/MessageForHresult.c b/nsisplugin/MessageForHresult.c new file mode 100644 index 0000000..02367e8 --- /dev/null +++ b/nsisplugin/MessageForHresult.c @@ -0,0 +1,14 @@ +#include +#include +#include "../shared/HResult.h" + +EXTERN_C __declspec(dllexport) +void __cdecl MessageForHresult(HWND hwndParent, int string_size, TCHAR *variables, stack_t **stacktop, extra_parameters *extra) { + EXDLL_INIT(); + g_hwndParent = hwndParent; + + HRESULT hr = popint(); + LPWSTR message = GetMessageForHresult(hr); + pushstring(message); + LocalFree(message); +} diff --git a/nsisplugin/TaskbarProgress.c b/nsisplugin/TaskbarProgress.c new file mode 100644 index 0000000..181acef --- /dev/null +++ b/nsisplugin/TaskbarProgress.c @@ -0,0 +1,109 @@ +// Based on https://nsis.sourceforge.io/TaskbarProgress_plug-in - zlib licensed +// Cleaned up and refactored into C by Legacy Update +#define CINTERFACE +#define COBJMACROS +#include +#include +#include +#include +#include +#include "main.h" + +static const GUID our_CLSID_ITaskbarList = { 0x56fdf344, 0xfd6d, 0x11d0, { 0x95, 0x8a, 0x00, 0x60, 0x97, 0xc9, 0xa0, 0x90 } }; +static const GUID our_IID_ITaskbarList3 = { 0xea1afb91, 0x9e28, 0x4b86, { 0x90, 0xe9, 0x9e, 0x9f, 0x8a, 0x5e, 0xef, 0xaf } }; + +ITaskbarList3 *g_taskbarList; +UINT g_totalRange; +WNDPROC g_origWndProc; + +LRESULT ProgressBarWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { + if (g_origWndProc == NULL) { + return 0; + } + + switch (uMsg) { + case PBM_SETRANGE: + g_totalRange = LOWORD(lParam) + HIWORD(lParam); + break; + + case PBM_SETRANGE32: + g_totalRange = wParam + lParam; + break; + + case PBM_SETPOS: + if (g_taskbarList != NULL) { + ITaskbarList3_SetProgressValue(g_taskbarList, g_hwndParent, wParam, g_totalRange); + } + break; + + case WM_DESTROY: + SetWindowLongPtr(hwnd, GWLP_WNDPROC, (LONG_PTR)g_origWndProc); + + if (g_taskbarList != NULL) { + ITaskbarList3_SetProgressState(g_taskbarList, g_hwndParent, TBPF_NOPROGRESS); + ITaskbarList3_Release(g_taskbarList); + g_taskbarList = NULL; + } + + g_origWndProc = NULL; + break; + } + + return CallWindowProc(g_origWndProc, hwnd, uMsg, wParam, lParam); +} + +UINT_PTR NSISPluginCallback(enum NSPIM event) { + // Does nothing, but keeping a callback registered prevents NSIS from unloading the plugin + return 0; +} + +EXTERN_C __declspec(dllexport) +void __cdecl InitTaskbarProgress(HWND hwndParent, int string_size, TCHAR *variables, stack_t **stacktop, extra_parameters *extra) { + EXDLL_INIT(); + g_hwndParent = hwndParent; + + extra->RegisterPluginCallback(g_hInstance, NSISPluginCallback); + + if (g_taskbarList != NULL && g_origWndProc != NULL) { + // Already initialised + return; + } + + HWND innerWindow = FindWindowEx(g_hwndParent, NULL, L"#32770", NULL); + HWND progressBar = FindWindowEx(innerWindow, NULL, L"msctls_progress32", NULL); + PBRANGE range; + HRESULT hr; + + if (progressBar == NULL) { + goto fail; + } + + hr = CoCreateInstance(our_CLSID_ITaskbarList, NULL, CLSCTX_INPROC_SERVER, our_IID_ITaskbarList3, (void**)&g_taskbarList); + if (!SUCCEEDED(hr)) { + goto fail; + } + + hr = ITaskbarList3_HrInit(g_taskbarList); + if (!SUCCEEDED(hr)) { + goto fail; + } + + // Get the initial progress bar range + SendMessage(progressBar, PBM_GETRANGE, 0, (LPARAM)&range); + g_totalRange = range.iLow + range.iHigh; + + // Add our own window procedure so we can respond to progress bar updates + g_origWndProc = (WNDPROC)SetWindowLongPtr(progressBar, GWLP_WNDPROC, (LONG_PTR)ProgressBarWndProc); + if (g_origWndProc == NULL) { + goto fail; + } + return; + +fail: + if (g_taskbarList != NULL) { + ITaskbarList3_Release(g_taskbarList); + g_taskbarList = NULL; + } + + g_origWndProc = NULL; +} diff --git a/nsisplugin/main.c b/nsisplugin/main.c new file mode 100644 index 0000000..4bf78f6 --- /dev/null +++ b/nsisplugin/main.c @@ -0,0 +1,10 @@ +#include +#include + +HMODULE g_hInstance; +HWND g_hwndParent; + +EXTERN_C BOOL WINAPI DllMain(HMODULE hInstance, UINT iReason, LPVOID lpReserved) { + g_hInstance = hInstance; + return TRUE; +} diff --git a/nsisplugin/main.h b/nsisplugin/main.h new file mode 100644 index 0000000..8cc23f6 --- /dev/null +++ b/nsisplugin/main.h @@ -0,0 +1,4 @@ +#include + +EXTERN_C HMODULE g_hInstance; +EXTERN_C HWND g_hwndParent; diff --git a/nsisplugin/resource.h b/nsisplugin/resource.h new file mode 100644 index 0000000..e69de29 diff --git a/nsisplugin/resource.rc b/nsisplugin/resource.rc new file mode 100644 index 0000000..c665022 --- /dev/null +++ b/nsisplugin/resource.rc @@ -0,0 +1,53 @@ +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +#include +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(65001) + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,9,0,0 + PRODUCTVERSION 1,9,0,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "Hashbang Productions" + VALUE "FileDescription", "Legacy Update Setup Helper" + VALUE "FileVersion", "1.9.0.0" + VALUE "InternalName", "LegacyUpdateNSIS.dll" + VALUE "LegalCopyright", "© Hashbang Productions. All rights reserved." + VALUE "OriginalFilename", "LegacyUpdateNSIS.dll" + VALUE "ProductName", "Legacy Update" + VALUE "ProductVersion", "1.9.0.0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// diff --git a/nsisplugin/stdafx.h b/nsisplugin/stdafx.h new file mode 100644 index 0000000..d6480c0 --- /dev/null +++ b/nsisplugin/stdafx.h @@ -0,0 +1,16 @@ +#pragma once + +#ifndef STRICT +#define STRICT +#endif + +#define WINVER 0x0500 +#define _WIN32_WINNT 0x0500 + +#define ISOLATION_AWARE_ENABLED 1 // Enable comctl 6.0 (visual styles) + +#include "resource.h" + +#include + +EXTERN_C HWND g_hwndParent; diff --git a/setup/7z.exe b/setup/7z.exe new file mode 100644 index 0000000000000000000000000000000000000000..fad2cfab94ef0a46098653dadb5b73d4e3c81488 GIT binary patch literal 1301195 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%0ADniJLedcH6Hj-Q=iA_jwHs^PgXte! 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 Y21-g~$+GrcIBLo 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࣪?x~j>o>A2;k@OB;Z)YKX2qv`H@XsS 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

t@rdc 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

$W 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

EE=eF741xRB%=QpYvcXl&Wo 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⪙SNR5+tAMeo2oG8+H`^K)xAoms$L1tSP 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 ixvIlsrl7N7nci3B&+7QFZsnNfE)rU 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

5h*G8vWtT&b| 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

  • D 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 literal 0 HcmV?d00001 diff --git a/setup/7zip.nsh b/setup/7zip.nsh new file mode 100644 index 0000000..d95c882 --- /dev/null +++ b/setup/7zip.nsh @@ -0,0 +1,4 @@ +Function Install7Zip + File 7z.exe + !insertmacro Install "7-Zip" "7z.exe" "/S" +FunctionEnd \ No newline at end of file diff --git a/setup/ActiveX.inf b/setup/ActiveX.inf new file mode 100644 index 0000000..b245ba9 --- /dev/null +++ b/setup/ActiveX.inf @@ -0,0 +1,9 @@ +[Version] +Signature="$CHICAGO$" +AdvancedINF=2.0 + +[Setup Hooks] +setup=setup + +[setup] +run="%EXTRACT_DIR%\setup.exe" diff --git a/setup/AeroWizard.nsh b/setup/AeroWizard.nsh new file mode 100644 index 0000000..80e2962 --- /dev/null +++ b/setup/AeroWizard.nsh @@ -0,0 +1,86 @@ +!macro SetFont font parent control + GetDlgItem $0 ${parent} ${control} + SendMessage $0 ${WM_SETFONT} ${font} 0 +!macroend + +!macro SetControlColor parent control color + GetDlgItem $0 ${parent} ${control} + SetCtlColors $0 ${color} SYSCLR:WINDOW +!macroend + +!macro SetBackground parent control + !insertmacro SetControlColor ${parent} ${control} SYSCLR:WINDOWTEXT +!macroend + +Var /GLOBAL ChildHwnd + +!macro -AeroWizardOnShow + ; Get the child window where the wizard page is + FindWindow $ChildHwnd "#32770" "" $HWNDPARENT + + ; Set font + ${If} ${AtLeastWinVista} + ; Aero wizard style + ${If} ${AtLeastWin11} + ; Semi-Fluent style + CreateFont $3 "Segoe UI Variable Display Semibold" 14 600 + !insertmacro SetControlColor $HWNDPARENT 1037 SYSCLR:WINDOWTEXT + ${Else} + CreateFont $3 "Segoe UI" 12 400 + !insertmacro SetControlColor $HWNDPARENT 1037 0x003399 + ${EndIf} + CreateFont $2 "Segoe UI" 8 400 + !insertmacro SetFont $3 $HWNDPARENT 1037 + !insertmacro SetFont $2 $HWNDPARENT 1 + !insertmacro SetFont $2 $HWNDPARENT 2 + !insertmacro SetFont $2 $HWNDPARENT 3 + !insertmacro SetFont $2 $HWNDPARENT 1028 + !insertmacro SetFont $2 $ChildHwnd 1000 + !insertmacro SetFont $2 $ChildHwnd 1004 + !insertmacro SetFont $2 $ChildHwnd 1006 + !insertmacro SetFont $2 $ChildHwnd 1016 + !insertmacro SetFont $2 $ChildHwnd 1022 + !insertmacro SetFont $2 $ChildHwnd 1023 + !insertmacro SetFont $2 $ChildHwnd 1029 + !insertmacro SetFont $2 $ChildHwnd 1027 + !insertmacro SetFont $2 $ChildHwnd 1032 + !insertmacro SetFont $2 $ChildHwnd 1043 + ${Else} + ; Wizard97 style + ${If} ${FileExists} "$FONTS\framd.ttf" + CreateFont $2 "Franklin Gothic Medium" 13 400 + !insertmacro SetFont $2 $HWNDPARENT 1037 + !insertmacro SetControlColor $HWNDPARENT 1037 0x003399 + ${Else} + CreateFont $2 "Verdana" 12 800 + !insertmacro SetFont $2 $HWNDPARENT 1037 + !insertmacro SetControlColor $HWNDPARENT 1037 SYSCLR:WINDOWTEXT + ${EndIf} + ${EndIf} + + ; Set white background + SetCtlColors $HWNDPARENT SYSCLR:WINDOWTEXT SYSCLR:WINDOW + SetCtlColors $ChildHwnd SYSCLR:WINDOWTEXT SYSCLR:WINDOW + !insertmacro SetBackground $ChildHwnd 1020 + !insertmacro SetBackground $ChildHwnd 1028 + !insertmacro SetBackground $ChildHwnd 1006 + !insertmacro SetBackground $ChildHwnd 1022 + !insertmacro SetBackground $ChildHwnd 1023 + !insertmacro SetBackground $ChildHwnd 1027 + !insertmacro SetBackground $ChildHwnd 1029 + !insertmacro SetBackground $ChildHwnd 1032 + !insertmacro SetBackground $ChildHwnd 1043 + + ; Activate taskbar progress bar plugin + ${If} ${AtLeastWin7} + LegacyUpdateNSIS::InitTaskbarProgress + ${EndIf} +!macroend + +Function AeroWizardOnShow + !insertmacro -AeroWizardOnShow +FunctionEnd + +Function un.AeroWizardOnShow + !insertmacro -AeroWizardOnShow +FunctionEnd diff --git a/setup/Common.nsh b/setup/Common.nsh new file mode 100644 index 0000000..83a82e8 --- /dev/null +++ b/setup/Common.nsh @@ -0,0 +1,258 @@ +!addplugindir /x86-unicode x86-unicode + +SetPluginUnload alwaysoff + +!if ${SIGN} == 1 + !finalize '../build/sign.sh "%1"' + !uninstfinalize '../build/sign.sh "%1"' +!endif + +!define IsNativeIA64 '${IsNativeMachineArchitecture} ${IMAGE_FILE_MACHINE_IA64}' + +Function GetArch + Var /GLOBAL Arch + ${If} $Arch == "" + ${If} ${IsNativeIA32} + StrCpy $Arch "x86" + ${ElseIf} ${IsNativeAMD64} + StrCpy $Arch "x64" + ${ElseIf} ${IsNativeIA64} + StrCpy $Arch "ia64" + ${Else} + StrCpy $Arch "" + ${EndIf} + ${EndIf} + Push $Arch +FunctionEnd + +!macro _HasFlag _a _b _t _f + !insertmacro _LOGICLIB_TEMP + ${GetParameters} $_LOGICLIB_TEMP + ClearErrors + ${GetOptions} $_LOGICLIB_TEMP `${_b}` $_LOGICLIB_TEMP + IfErrors `${_f}` `${_t}` +!macroend + +!define IsActiveXInstall `"" HasFlag "/activex"` +!define IsHelp `"" HasFlag "/?"` + +!macro DetailPrint text + SetDetailsPrint both + DetailPrint "${text}" + SetDetailsPrint listonly +!macroend + +Var /GLOBAL Download.ID + +!macro DownloadRequest url local extra + NSxfer::Request \ + /TIMEOUTCONNECT 60000 \ + /TIMEOUTRECONNECT 60000 \ + /OPTCONNECTTIMEOUT 60000 \ + /OPTRECEIVETIMEOUT 60000 \ + /OPTSENDTIMEOUT 60000 \ + /URL "${url}" \ + /LOCAL "${local}" \ + /INTERNETFLAGS ${INTERNET_FLAG_RELOAD}|${INTERNET_FLAG_NO_CACHE_WRITE}|${INTERNET_FLAG_KEEP_CONNECTION}|${INTERNET_FLAG_NO_COOKIES}|${INTERNET_FLAG_NO_UI} \ + /SECURITYFLAGS ${SECURITY_FLAG_STRENGTH_STRONG} \ + ${extra} \ + /END + Pop $Download.ID +!macroend + +Function DownloadWaitSilent + NSxfer::Wait /ID $Download.ID /MODE SILENT /END + NSxfer::Query /ID $Download.ID /ERRORCODE /ERRORTEXT /END +FunctionEnd + +Function DownloadWait + NSxfer::Wait /ID $Download.ID /MODE PAGE \ + /STATUSTEXT \ + "{TIMEREMAINING} left - {RECVSIZE} of {FILESIZE} ({SPEED})" \ + "{TIMEREMAINING} left - {TOTALRECVSIZE} of {TOTALFILESIZE} ({SPEED})" \ + /ABORT "Legacy Update" "Cancelling will terminate Legacy Update setup." \ + /END + NSxfer::Query /ID $Download.ID /ERRORCODE /ERRORTEXT /END +FunctionEnd + +!macro -Download name url filename verbose + !insertmacro DetailPrint "Downloading ${name}..." + !insertmacro DownloadRequest "${url}" "${filename}" "" + ${If} ${verbose} == 1 + Call DownloadWait + ${Else} + Call DownloadWaitSilent + ${EndIf} + Pop $1 + Pop $0 + ${If} $0 != "OK" + ${If} $1 != ${ERROR_INTERNET_OPERATION_CANCELLED} + MessageBox MB_USERICON "${name} failed to download.$\r$\n$\r$\n$0 ($1)" /SD IDOK + ${EndIf} + Delete /REBOOTOK "${filename}" + SetErrorLevel 1 + Abort + ${EndIf} +!macroend + +!macro Download name url filename verbose + ${If} ${FileExists} "$EXEDIR\${filename}" + ${If} $OUTDIR != "$EXEDIR" + SetOutPath "$EXEDIR" + ${EndIf} + StrCpy $0 "$EXEDIR\${filename}" + ${Else} + ${If} $OUTDIR != "$RunOnceDir" + SetOutPath "$RunOnceDir" + ${EndIf} + ${IfNot} ${FileExists} "$RunOnceDir\${filename}" + !insertmacro -Download '${name}' '${url}' '$RunOnceDir\${filename}' ${verbose} + ${EndIf} + StrCpy $0 "$RunOnceDir\${filename}" + ${EndIf} +!macroend + +Var /GLOBAL Exec.Command +Var /GLOBAL Exec.Name +Var /GLOBAL Exec.IsWusa + +Function ExecWithErrorHandling + Push $0 + ExecWait '$Exec.Command' $0 + ${If} $0 == ${ERROR_SUCCESS_REBOOT_REQUIRED} + SetRebootFlag true + ${ElseIf} $0 == ${ERROR_INSTALL_USEREXIT} + SetErrorLevel ${ERROR_INSTALL_USEREXIT} + Abort + ${ElseIf} $Exec.IsWusa == 1 + ${AndIf} $0 == 1 + ; wusa exits with 1 if the patch is already installed. Treat this as success. + DetailPrint "Installation skipped - already installed" + ${ElseIf} $Exec.IsWusa == 1 + ${AndIf} $0 == ${WU_S_ALREADY_INSTALLED} + DetailPrint "Installation skipped - already installed" + ${ElseIf} $Exec.IsWusa == 1 + ${AndIf} $0 == ${WU_E_NOT_APPLICABLE} + DetailPrint "Installation skipped - not applicable" + ${ElseIf} $0 != 0 + LegacyUpdateNSIS::MessageForHresult $0 + Pop $1 + MessageBox MB_USERICON "$Exec.Name failed to install.$\r$\n$\r$\n$1 ($0)" /SD IDOK + SetErrorLevel $0 + Abort + ${EndIf} + Pop $0 +FunctionEnd + +!macro ExecWithErrorHandling name command iswusa + StrCpy $Exec.Command '${command}' + StrCpy $Exec.Name '${name}' + StrCpy $Exec.IsWusa '${iswusa}' + Call ExecWithErrorHandling +!macroend + +!macro Install name filename args + !insertmacro DetailPrint "Installing ${name}..." + !insertmacro ExecWithErrorHandling '${name}' '"$0" ${args}' 0 +!macroend + +!macro InstallSP name filename + ; SPInstall.exe /norestart seems to be broken. We let it do a delayed restart, then cancel it. + !insertmacro DetailPrint "Extracting ${name}..." + !insertmacro ExecWithErrorHandling '${name}' '"$0" /X:"$PLUGINSDIR\${filename}"' 0 + !insertmacro DetailPrint "Installing ${name}..." + !insertmacro ExecWithErrorHandling '${name}' '"$PLUGINSDIR\${filename}\spinstall.exe" /unattend /nodialog /warnrestart:600' 0 + + ; If we successfully abort a shutdown, we'll get exit code 0, so we know a reboot is required. + ExecWait "$WINDIR\system32\shutdown.exe /a" $0 + ${If} $0 == 0 + SetRebootFlag true + ${EndIf} +!macroend + +!macro DownloadMSU kbid name url + !insertmacro Download '${name} (${kbid})' '${url}' '${kbid}.msu' 1 +!macroend + +!macro InstallMSU kbid name + ; Stop AU service before running wusa so it doesn't try checking for updates online first (which + ; may never complete before we install our patches). + !insertmacro DetailPrint "Installing ${name} (${kbid})..." + SetDetailsPrint none + ExecShellWait "" "$WINDIR\system32\net.exe" "stop wuauserv" SW_HIDE + SetDetailsPrint listonly + !insertmacro ExecWithErrorHandling '${name} (${kbid})' '$WINDIR\system32\wusa.exe /quiet /norestart "$0"' 1 +!macroend + +!macro EnsureAdminRights + ${IfNot} ${AtLeastWin2000} + MessageBox MB_USERICON "Legacy Update requires at least Windows 2000." /SD IDOK + SetErrorLevel ${ERROR_OLD_WIN_VERSION} + Quit + ${EndIf} + + System::Call '${IsUserAnAdmin}() .r0' + ${If} $0 == 0 + MessageBox MB_USERICON "Log on as an administrator to install Legacy Update." /SD IDOK + SetErrorLevel ${ERROR_ELEVATION_REQUIRED} + Quit + ${EndIf} +!macroend + +!macro InhibitSleep state + ${If} ${state} == 1 + System::Call '${SetThreadExecutionState}(${ES_CONTINUOUS}|${ES_SYSTEM_REQUIRED})' + ${Else} + System::Call '${SetThreadExecutionState}(${ES_CONTINUOUS})' + ${EndIf} +!macroend + +!macro TryWithRetry command error + ClearErrors + ${command} + IfErrors 0 +3 + MessageBox MB_RETRYCANCEL|MB_USERICON \ + '${error}$\r$\n$\r$\nIf Internet Explorer is open, close it and click Retry.' \ + /SD IDCANCEL \ + IDRETRY -3 + Abort +!macroend + +!macro TryFile file oname + !insertmacro TryWithRetry `File "/ONAME=${oname}" "${file}"` 'Unable to write to "${oname}".' +!macroend + +!macro TryDelete file + !insertmacro TryWithRetry `Delete "${file}"` 'Unable to delete "${file}".' +!macroend + +!macro TryRename src dest + !insertmacro TryWithRetry `Rename "${src}" "${dest}"` 'Unable to write to "${dest}".' +!macroend + +!macro RegisterDLL un arch file + ${If} "${un}" == "Un" + StrCpy $0 "/u" + ${Else} + StrCpy $0 "" + ${EndIf} + + ${If} "${arch}" == "x64" + ${DisableX64FSRedirection} + ${EndIf} + + ClearErrors + ExecWait '"$WINDIR\system32\regsvr32.exe" /s $0 "${file}"' + ${If} ${Errors} + ; Do it again non-silently so the user can see the error. + ExecWait '"$WINDIR\system32\regsvr32.exe" $0 "${file}"' + ${If} "${arch}" == "x64" + ${EnableX64FSRedirection} + ${EndIf} + Abort + ${EndIf} + + ${If} "${arch}" == "x64" + ${EnableX64FSRedirection} + ${EndIf} +!macroend diff --git a/setup/Constants.nsh b/setup/Constants.nsh new file mode 100644 index 0000000..0e66e52 --- /dev/null +++ b/setup/Constants.nsh @@ -0,0 +1,51 @@ +; Product +!define NAME "WUIsBack" +!define DOMAIN "legacyupdate.net" + +; Version +!getdllversion "..\Release\LegacyUpdate.dll" DLLVersion_ +!define LONGVERSION "${DLLVersion_1}.${DLLVersion_2}.${DLLVersion_3}.${DLLVersion_4}" +!define VERSION "${DLLVersion_1}.${DLLVersion_2}.${DLLVersion_3}" + +!if ${DLLVersion_3} == 0 + !define /redef VERSION "${DLLVersion_1}.${DLLVersion_2}" +!endif + +; Main URLs +!define WEBSITE "http://legacyupdate.net/" +!define UPDATE_URL "http://legacyupdate.net/windowsupdate/v6/" +!define UPDATE_URL_HTTPS "https://legacyupdate.net/windowsupdate/v6/" +!define WSUS_SERVER "http://fritzbox3272.controlliamo.com/WUIsBack/v6" +!define WSUS_SERVER_HTTPS "https://fritzbox3272.controlliamo.com/WUIsBack/v6" +!define TRUSTEDR "http://download.windowsupdate.com/msdownload/update/v3/static/trustedr/en" +!define WIN81UPGRADE_URL "https://go.microsoft.com/fwlink/?LinkId=798437" + +; Control Panel entry +!define CPL_GUID "{FFBE8D44-E9CF-4DD8-9FD6-976802C94D9C}" +!define CPL_APPNAME "LegacyUpdate" + +; RunOnce +!define RUNONCE_USERNAME "LegacyUpdateTemp" +!define RUNONCE_PASSWORD "Legacy_Update0" + +; Registry keys +!define REGPATH_LEGACYUPDATE_SETUP "Software\Hashbang Productions\Legacy Update\Setup" +!define REGPATH_UNINSTSUBKEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}" +!define REGPATH_WUPOLICY "Software\Policies\Microsoft\Windows\WindowsUpdate" +!define REGPATH_WUAUPOLICY "${REGPATH_WUPOLICY}\AU" +!define REGPATH_WU "Software\Microsoft\Windows\CurrentVersion\WindowsUpdate" +!define REGPATH_WU_SERVICES "${REGPATH_WU}\Services" +!define REGPATH_INETSETTINGS "Software\Microsoft\Windows\CurrentVersion\Internet Settings" +!define REGPATH_ZONEDOMAINS "${REGPATH_INETSETTINGS}\ZoneMap\Domains" +!define REGPATH_ZONEESCDOMAINS "${REGPATH_INETSETTINGS}\ZoneMap\EscDomains" +!define REGPATH_CPLNAMESPACE "Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\${CPL_GUID}" +!define REGPATH_CPLCLSID "CLSID\${CPL_GUID}" +!define REGPATH_WINLOGON "Software\Microsoft\Windows NT\CurrentVersion\Winlogon" +!define REGPATH_POSREADY "System\WPA\PosReady" +!define REGPATH_SCHANNEL_PROTOCOLS "System\CurrentControlSet\Control\SecurityProviders\SChannel\Protocols" +!define REGPATH_DOTNET_V2 "Software\Microsoft\.NETFramework\v2.0.50727" +!define REGPATH_DOTNET_V4 "Software\Microsoft\.NETFramework\v4.0.30319" +!define REGPATH_RUNONCE "Software\Microsoft\Windows\CurrentVersion\RunOnce" +!define REGPATH_PACKAGEINDEX "Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\PackageIndex" +!define REGPATH_SERVICING_SHA2 "Software\Microsoft\Windows\CurrentVersion\Servicing\Codesigning\SHA2" +!define REGPATH_COMPONENT_THEMES "Software\Microsoft\Active Setup\Installed Components\{2C7339CF-2B09-4501-B3F3-F3508C9228ED}" diff --git a/setup/Download2KXP.nsh b/setup/Download2KXP.nsh new file mode 100644 index 0000000..eee57f2 --- /dev/null +++ b/setup/Download2KXP.nsh @@ -0,0 +1,122 @@ +Function GetUpdateLanguage + Var /GLOBAL UpdateLanguage + ${If} $UpdateLanguage == "" + ReadRegStr $UpdateLanguage HKLM "Hardware\Description\System" "Identifier" + ${If} $UpdateLanguage == "NEC PC-98" + StrCpy $UpdateLanguage "NEC98" + ${Else} + ReadRegStr $UpdateLanguage HKLM "System\CurrentControlSet\Control\Nls\Language" "InstallLanguage" + ReadINIStr $UpdateLanguage $PLUGINSDIR\Patches.ini Language $UpdateLanguage + ${EndIf} + ${EndIf} + Push $UpdateLanguage +FunctionEnd + +!macro NeedsSPHandler name os sp + Function Needs${name} + ${If} ${Is${os}} + ${AndIf} ${AtMostServicePack} ${sp} + Push 1 + ${Else} + Push 0 + ${EndIf} + FunctionEnd +!macroend + +!macro NeedsFileVersionHandler name file version + Function Needs${name} + ${GetFileVersion} "$SYSDIR\${file}" $0 + ${VersionCompare} $0 ${version} $1 + ${If} $1 == 2 ; Less than + Push 1 + ${Else} + Push 0 + ${EndIf} + FunctionEnd +!macroend + +Var /GLOBAL Patch.Key +Var /GLOBAL Patch.File +Var /GLOBAL Patch.Title + +Function -PatchHandler + Call GetUpdateLanguage + Call GetArch + Pop $1 + Pop $0 + ClearErrors + ReadINIStr $0 $PLUGINSDIR\Patches.ini "$Patch.Key" $0-$1 + ${If} ${Errors} + ; Language neutral + ClearErrors + ReadINIStr $0 $PLUGINSDIR\Patches.ini "$Patch.Key" $1 + ${If} ${Errors} + MessageBox MB_USERICON "$Patch.Title could not be installed.$\r$\n$\r$\nThe installed Windows language and/or architecture is not supported." /SD IDOK + SetErrorLevel 1 + Abort + ${EndIf} + ${EndIf} + !insertmacro Download "$Patch.Title" "$0" "$Patch.File" 1 +FunctionEnd + +!macro PatchHandler kbid title params + Function Download${kbid} + Call Needs${kbid} + Pop $0 + ${If} $0 == 1 + StrCpy $Patch.Key "${kbid}" + StrCpy $Patch.File "${kbid}.exe" + StrCpy $Patch.Title "${title}" + Call -PatchHandler + ${EndIf} + FunctionEnd + + Function Install${kbid} + Call Needs${kbid} + Pop $0 + ${If} $0 == 1 + Call Download${kbid} + !insertmacro Install "${title}" "${kbid}.exe" "${params}" + ${EndIf} + FunctionEnd +!macroend + +!insertmacro NeedsSPHandler "W2KSP4" "Win2000" 2 +!insertmacro NeedsSPHandler "XPSP2" "WinXP2002" 0 +!insertmacro NeedsSPHandler "XPSP3" "WinXP2002" 2 +!insertmacro NeedsSPHandler "XPESP3" "WinXP2002" 2 +!insertmacro NeedsSPHandler "2003SP2" "WinXP2003" 1 + +!insertmacro NeedsFileVersionHandler "KB835732" "kernel32.dll" "5.00.2195.6897" +!insertmacro NeedsFileVersionHandler "IE6" "mshtml.dll" "6.0.2600.0" + +!insertmacro PatchHandler "W2KSP4" "Windows 2000 Service Pack 4" "-u -z" +!insertmacro PatchHandler "KB835732" "Windows 2000 KB835732 Update" "/passive /norestart" +!insertmacro PatchHandler "XPSP2" "Windows XP Service Pack 2" "/passive /norestart" +!insertmacro PatchHandler "XPSP3" "Windows XP Service Pack 3" "/passive /norestart" +!insertmacro PatchHandler "2003SP2" "Windows XP x64 Edition/Server 2003 Service Pack 2" "/passive /norestart" +!insertmacro PatchHandler "XPESP3" "Windows XP Embedded Service Pack 3" "/passive /norestart" + +Function DownloadIE6 + Call NeedsIE6 + Pop $0 + ${If} $0 == 1 + StrCpy $Patch.Key "W2KIE6" + StrCpy $Patch.File "ie6sp1.cab" + StrCpy $Patch.Title "Internet Explorer 6 SP1" + Call -PatchHandler + ${EndIf} +FunctionEnd + +Function InstallIE6 + Call NeedsIE6 + Pop $0 + ${If} $0 == 1 + Call DownloadIE6 + !insertmacro DetailPrint "Extracting Internet Explorer 6 SP1..." + ExecShellWait "" "$WINDIR\system32\expand.exe" '"$OUTDIR\ie6sp1.cab" -F:ie6setup.exe "$PLUGINSDIR"' SW_HIDE + ExecShellWait "" "$WINDIR\system32\expand.exe" '"$OUTDIR\ie6sp1.cab" -F:iebatch.txt "$PLUGINSDIR"' SW_HIDE + !insertmacro DetailPrint "Installing Internet Explorer 6 SP1..." + !insertmacro ExecWithErrorHandling 'Internet Explorer 6 SP1' '"$PLUGINSDIR\ie6setup.exe" /q' 0 + ${EndIf} +FunctionEnd diff --git a/setup/Download8.nsh b/setup/Download8.nsh new file mode 100644 index 0000000..a6d2558 --- /dev/null +++ b/setup/Download8.nsh @@ -0,0 +1,46 @@ +; Windows 8 Servicing Stack +!insertmacro MSUHandler "KB4598297" "2021-01 Servicing Stack Update for Windows Server 2012" "Package_for_KB4598297" + +; Windows 8.1 Servicing Stack +!insertmacro MSUHandler "KB3021910" "2015-04 Servicing Stack Update for Windows 8.1" "Package_for_KB3021910" + +; Windows 8.1 Update 1 +!insertmacro MSUHandler "KB2919355" "Windows 8.1 Update 1" "Package_for_KB2919355" +!insertmacro MSUHandler "KB2932046" "Windows 8.1 Update 1" "Package_for_KB2932046" +!insertmacro MSUHandler "KB2959977" "Windows 8.1 Update 1" "Package_for_KB2959977" +!insertmacro MSUHandler "KB2937592" "Windows 8.1 Update 1" "Package_for_KB2937592" +!insertmacro MSUHandler "KB2934018" "Windows 8.1 Update 1" "Package_for_KB2934018" + +Function NeedsWin81Update1 + Call NeedsKB2919355 + Call NeedsKB2932046 + Call NeedsKB2937592 + Call NeedsKB2934018 + Pop $0 + Pop $1 + Pop $2 + Pop $3 + Pop $4 + + ${If} $0 == 1 + ${OrIf} $1 == 1 + ${OrIf} $2 == 1 + ${OrIf} $3 == 1 + Push 1 + ${Else} + Push 0 + ${EndIf} +FunctionEnd + +; Weird prerequisite to Update 1 that fixes the main KB2919355 update failing to install +Function DownloadClearCompressionFlag + Call GetArch + Pop $0 + ReadINIStr $0 $PLUGINSDIR\Patches.ini ClearCompressionFlag $0 + !insertmacro Download "Windows 8.1 Update 1 Preparation Tool" "$0" "ClearCompressionFlag.exe" 1 +FunctionEnd + +Function InstallClearCompressionFlag + Call DownloadClearCompressionFlag + !insertmacro Install "Windows 8.1 Update 1 Preparation Tool" "ClearCompressionFlag.exe" "" +FunctionEnd diff --git a/setup/DownloadVista7.nsh b/setup/DownloadVista7.nsh new file mode 100644 index 0000000..3cfe4e7 --- /dev/null +++ b/setup/DownloadVista7.nsh @@ -0,0 +1,145 @@ +Function GetComponentArch + Var /GLOBAL ComponentArch + ${If} $ComponentArch == "" + ${If} ${IsNativeIA32} + StrCpy $ComponentArch "x86" + ${ElseIf} ${IsNativeAMD64} + StrCpy $ComponentArch "amd64" + ${ElseIf} ${IsNativeIA64} + StrCpy $ComponentArch "ia64" + ${Else} + StrCpy $ComponentArch "" + ${EndIf} + ${EndIf} + Push $ComponentArch +FunctionEnd + +!macro SPHandler kbid title os sp + !insertmacro NeedsSPHandler "${kbid}" "${os}" "${sp}" + + Function Download${kbid} + Call Needs${kbid} + Pop $0 + ${If} $0 == 1 + Call GetArch + Pop $0 + ReadINIStr $0 $PLUGINSDIR\Patches.ini "${kbid}" $0 + !insertmacro Download "${title}" "$0" "${kbid}.exe" 1 + ${EndIf} + FunctionEnd + + Function Install${kbid} + Call Needs${kbid} + Pop $0 + ${If} $0 == 1 + Call Download${kbid} + !insertmacro InstallSP "${title}" "${kbid}.exe" + ${EndIf} + FunctionEnd +!macroend + +!macro MSUHandler kbid title packagename + Function Needs${kbid} + Call GetComponentArch + Pop $0 + ClearErrors + EnumRegKey $1 HKLM "${REGPATH_PACKAGEINDEX}\${packagename}~31bf3856ad364e35~$0~~0.0.0.0" 0 + ${If} ${Errors} + Push 1 + ${Else} + Push 0 + ${EndIf} + FunctionEnd + + Function Download${kbid} + Call Needs${kbid} + Pop $0 + ${If} $0 == 1 + Call GetArch + Pop $0 + ReadINIStr $1 $PLUGINSDIR\Patches.ini "${kbid}" $0 + !insertmacro DownloadMSU "${kbid}" "${title}" "$1" + ${EndIf} + FunctionEnd + + Function Install${kbid} + Call Needs${kbid} + Pop $0 + ${If} $0 == 1 + Call Download${kbid} + !insertmacro InstallMSU "${kbid}" "${title}" + ${EndIf} + FunctionEnd +!macroend + +; Service Packs +!insertmacro SPHandler "VistaSP1" "Windows Vista Service Pack 1" "WinVista" 0 +!insertmacro SPHandler "VistaSP2" "Windows Vista Service Pack 2" "WinVista" 1 +!insertmacro SPHandler "Win7SP1" "Windows 7 Service Pack 1" "Win7" 0 + +; Windows Vista post-SP2 update combination that fixes WU indefinitely checking for updates +!insertmacro MSUHandler "KB3205638" "Security Update for Windows Vista" "Package_for_KB3205638" +!insertmacro MSUHandler "KB4012583" "Security Update for Windows Vista" "Package_for_KB4012583" +!insertmacro MSUHandler "KB4015195" "Security Update for Windows Vista" "Package_for_KB4015195" +!insertmacro MSUHandler "KB4015380" "Security Update for Windows Vista" "Package_for_KB4015380" + +; Vista IE9 +!insertmacro MSUHandler "KB971512" "Update for Windows Vista" "Package_for_KB971512" +!insertmacro MSUHandler "KB2117917" "Platform Update Supplement for Windows Vista" "Package_for_KB2117917" + +!insertmacro NeedsFileVersionHandler "IE9" "mshtml.dll" "9.0.8112.16421" +!insertmacro PatchHandler "IE9" "Internet Explorer 9 for Windows Vista" "/passive /norestart /update-no /closeprograms" + +; Windows Vista Servicing Stack Update +!insertmacro MSUHandler "KB4493730" "2019-04 Servicing Stack Update for Windows Server 2008" "Package_1_for_KB4493730" + +; Windows 7 Servicing Stack Update +!insertmacro MSUHandler "KB3138612" "2016-03 Servicing Stack Update for Windows 7" "Package_for_KB3138612" +!insertmacro MSUHandler "KB4474419" "SHA-2 Code Signing Support Update for Windows 7" "Package_for_KB4474419" +!insertmacro MSUHandler "KB4490628" "2019-03 Servicing Stack Update for Windows 7" "Package_for_KB3138612" + +; Windows Home Server 2011 Update Rollup 4 +!insertmacro MSUHandler "KB2757011" "Windows Home Server 2011 Update Rollup 4" "Package_for_KB2757011" + +Function NeedsVistaPostSP2 + Call NeedsKB3205638 + Call NeedsKB4012583 + Call NeedsKB4015195 + Call NeedsKB4015380 + Call NeedsKB4493730 + Pop $0 + Pop $1 + Pop $2 + Pop $3 + Pop $4 + ${If} $0 == 1 + ${OrIf} $1 == 1 + ${OrIf} $2 == 1 + ${OrIf} $3 == 1 + ${OrIf} $4 == 1 + Push 1 + ${Else} + Push 0 + ${EndIf} +FunctionEnd + +Function NeedsWin7SHA2 + ReadRegDWORD $0 HKLM "${REGPATH_SERVICING_SHA2}" "SHA2-Codesigning-Support" + ${If} $0 == 1 + Push 0 + ${Else} + Call NeedsKB3138612 + Call NeedsKB4474419 + Call NeedsKB4490628 + Pop $0 + Pop $1 + Pop $2 + ${If} $0 == 1 + ${OrIf} $1 == 1 + ${OrIf} $2 == 1 + Push 1 + ${Else} + Push 0 + ${EndIf} + ${EndIf} +FunctionEnd diff --git a/setup/DownloadWUA.nsh b/setup/DownloadWUA.nsh new file mode 100644 index 0000000..00db8ea --- /dev/null +++ b/setup/DownloadWUA.nsh @@ -0,0 +1,47 @@ +Function DetermineWUAVersion + ; Hardcoded special case for XP Home/Embedded SP3, because the WUA 7.6.7600.256 setup SFX is + ; seriously broken on it, potentially causing an unbootable Windows install due to it entering an + ; infinite loop of creating folders in the root of C:. + ${If} ${IsWinXP2002} + ${AndIf} ${AtLeastServicePack} 3 + ${AndIf} ${IsHomeEdition} + ${OrIf} ${IsEmbedded} + StrCpy $1 "5.1.3-home" + ${Else} + GetWinVer $1 Major + GetWinVer $2 Minor + GetWinVer $3 ServicePack + StrCpy $1 "$1.$2.$3" + ${EndIf} + + StrCpy $0 "" + + ClearErrors + ReadINIStr $2 $PLUGINSDIR\Patches.ini WUA $1 + ${If} ${Errors} + Return + ${EndIf} + + ${GetFileVersion} "$SYSDIR\wuapi.dll" $1 + ${VersionCompare} $1 $2 $3 + ${If} $3 == 2 + Call GetArch + Pop $0 + ReadINIStr $0 $PLUGINSDIR\Patches.ini WUA $2-$0 + ${EndIf} +FunctionEnd + +Function DownloadWUA + Call DetermineWUAVersion + ${If} $0 != "" + !insertmacro Download "Windows Update Agent" "$0" "WindowsUpdateAgent.exe" 1 + ${EndIf} +FunctionEnd + +Function InstallWUA + Call DetermineWUAVersion + ${If} $0 != "" + Call DownloadWUA + !insertmacro Install "Windows Update Agent" "WindowsUpdateAgent.exe" "/quiet /norestart" + ${EndIf} +FunctionEnd diff --git a/setup/Patches.ini b/setup/Patches.ini new file mode 100644 index 0000000..9977144 --- /dev/null +++ b/setup/Patches.ini @@ -0,0 +1,346 @@ +[Language] +0401=ARA +0403=CAT +0404=CHT +0804=CHS +0405=CSY +0406=DAN +0407=DEU +0408=ELL +0409=ENU +0c0a=ESN +0425=ETI +040b=FIN +040c=FRA +040d=HEB +040e=HUN +0410=ITA +0411=JPN +0412=KOR +0427=LTH +0426=LVI +0413=NLD +0414=NOR +0415=PLK +0416=PTB +0816=PTG +0418=ROM +0419=RUS +041a=HRV +041b=SKY +041d=SVE +041e=THA +041f=TRK +0424=SLV +042a=VIT +042d=EUQ +0c04=CHH + +; Windows 2000 +[W2KSP4] +ARA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_ar_d2a46163d29f14829f230729e2c0821.exe +CHH-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_hk_89b5425007c388c1c146756557915ab.exe +CHS-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_cn_a6d8fab4fe598cf1d5c3cf257b11fc8.exe +CHT-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_tw_baf16f1aaae8be095127f4a46dded69.exe +CSY-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_cs_d055279f80e684debdac3f4a230ab2c.exe +DAN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_da_e9afc8657e31b34730ea2cda85ece36.exe +DEU-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_de_00d4912b4703c77c46cf53a8a8f2027.exe +ELL-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_el_55eeec8b3b303e61cb0ddab4d943cd1.exe +ENU-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_en_7f12d2da3d7c5b6a62ec4fde9a4b1e6.exe +ESN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_es_51bae94c83adcf9f0ad3155bcf3ddfc.exe +FIN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_fi_794e2bba5a5286287dccf7943055e46.exe +FRA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_fr_4556797dfc88fdd4be13d638bcfb655.exe +HEB-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_he_b8e8519d7ae067f49ce742b59e8bcce.exe +HUN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_hu_1de3d254582472c714af315c85bf2b3.exe +ITA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_it_6395c3848397fa6cf05e0c3d1923205.exe +JPN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_ja_beb10c6f96ac4bb93f6e192b419a50f.exe +KOR-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_ko_8bd7a0eedfaf1fb30439abdad43c347.exe +NLD-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_nl_07596ad911493b966a18b6626e4a1c4.exe +NOR-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_no_64602c5f513d7244dd5790c6a11577e.exe +PLK-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_pl_5248f4f8262d599079f5ee246cafc28.exe +PTB-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_br_a90a49821bf9b5e37810e4c453a5128.exe +PTG-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_pt_cdf5d5ecd163862ff6f641b0a4d4168.exe +RUS-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_ru_980742b1376cf5614a9e10705952dcd.exe +SVE-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_sv_c46814adb550c5184297a290acd9d25.exe +TRK-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_tr_3d5c002a300e271049b18acdc569d83.exe +NEC98-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/w2ksp4_ja_7cf59dd6babe7afcf1d7489b40941a8.exe + +[KB835732] +ARA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-ara_caf56d0f9606b68387a228f7aae57d5.exe +CHH-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-cht_c3991c4bde0e9996c3d0727cd3fdbc1.exe +CHS-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-chs_779d1b67c993ed5edaeeb6706f37a0d.exe +CHT-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-cht_c3991c4bde0e9996c3d0727cd3fdbc1.exe +CSY-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-csy_c4f86e2d69be35ba780c4f930b43e63.exe +DAN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-dan_3a6d22e0daccb7fe2d77ccda8624283.exe +DEU-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-deu_62210b6322e8370917f00fb0eb40bf1.exe +ELL-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-ell_5f2073b1f1cad898c61bea003084320.exe +ENU-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-enu_7b7d1dffd9347af2c166bfcecc4782c.exe +ESN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-esn_d62fd2652c870e4a06766638a4b119b.exe +FIN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-fin_08a377df67f697ce14d53d1d9f8dab1.exe +FRA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-fra_85fb76a002b43ad7f8bf236a4469ad4.exe +HEB-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-heb_4c1f72024873e31a37fad21b9194dfc.exe +HUN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-hun_538b15f6b13aba4549248313cfa4c7c.exe +ITA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-ita_10e1ca8aec2249cca79a2dd6f7d05ff.exe +JPN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-jpn_2602d9d56b3995923611494ea90f535.exe +KOR-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-kor_852d1690cd8c36ecf681a454fac484a.exe +NLD-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-nld_742d6aadbbe08ca67b755e0abaaeb8c.exe +NOR-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-nor_99fac6bc7b291e7bc6d7655ea8da446.exe +PLK-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-plk_27a55ddbb55db37b9e15e9975b3f106.exe +PTB-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-ptb_f7d297c52fd7ef6006d3b2798a10025.exe +PTG-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-ptg_67c7095f1db29bb1b4ecb3d253fdde7.exe +RUS-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-rus_0d1eca332ca7543d4cf80846eee3a80.exe +SVE-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-sve_087a446929bed6a79649a7c5a418220.exe +TRK-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-x86-trk_8dc398f69b7c8c59466511aa21eb67c.exe +NEC98-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windows2000-kb835732-nec98-jpn_8fb43a1fa0f40115cae8f3ea72d52bc.exe + +[W2KIE6] +ARA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-ara_b1720a72becd05142cb4ccbb23205c76b51d29e2.cab +CHH-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-cht_1899bffb8ebf36c0a58686f04cc1d721c419792d.cab +CHS-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-chs_6d93ab8525d3b6f775faf692caaa4c8267c8a22b.cab +CHT-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-cht_1899bffb8ebf36c0a58686f04cc1d721c419792d.cab +CSY-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-csy_2789a030bba2128fc90e0475e2530c300ed5defc.cab +DAN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-dan_0c178b2634a97a4879c172797b21a59e567d18e6.cab +DEU-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-deu_2a13ac14e403ad4a1c6877fe478067e81ac20da8.cab +ELL-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-ell_15a4e43c8922f658eddd5d57d23c11e0fa55dce9.cab +ENU-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-enu_91192253c8d3cf7beff22e68ae1fdff9638bf546.cab +ESN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-esn_a9c53ad93bae78becf2b06f6d317ef7ef66a2abe.cab +FIN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-fin_1a369fcc86e803128144e17246e16d0a27a8c35b.cab +FRA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-fra_0bc4219b3119a127503cd93863cfedfb1e37bd55.cab +HEB-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-heb_70518dd1d09d702975b8e44a22c88e139f168975.cab +HUN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-hun_1eeed3e7b3e6bd311c17c0d97f67ec12df8b4b85.cab +ITA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-ita_2c6ab20b41114e53646ebb56ff6d269fd86fba36.cab +JPN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-jpn_b1e1e8b9dbbf440d8964ec375348674502ef0728.cab +KOR-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-kor_f61474b056ae37c5e9670978c6d3b24f4800d7f5.cab +NLD-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-nld_3fd676fe34f93471f4db9a0a1f3ef5c3ed8e5f43.cab +NOR-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-nor_72a81d06462c5a66f9531f4f226b13463698dd24.cab +PLK-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-plk_14889750985a9d29490886c2e901ef3bc69c4ff5.cab +PTB-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-ptb_448df44aea5d853e4954d48411b1953569df23c2.cab +PTG-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-ptg_5892593c72f702ba6c7d88b47c2bd7c5707081fd.cab +RUS-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-rus_842c289d0887bbe2e4edea1ff3763addc8d77db5.cab +SVE-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-sve_db8dcfef073f2df327fc3706d9a141b6124cfed0.cab +TRK-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-trk_64479241feb2f783f851b16791d5d1c684d94a66.cab +NEC98-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/ie6sp1-wucab-jpn_b1e1e8b9dbbf440d8964ec375348674502ef0728.cab + +; Windows XP 2002 +[XPSP2] +ARA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_a001b2b27b0f748ab89bd28fa45359f28f95ffb6.exe +CHH-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_546c11a0a5a41e90ae5f021f234d9abad5a0a25a.exe +CHS-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_554ee954bae0f65e88b706cf9b9fd733c02fa397.exe +CHT-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_66d8ba2cbf90737010a45e2b5969c9a779ab1d35.exe +CSY-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_767f81c9d0154bfa21d19a49e0b27ede9f93190a.exe +DAN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_e60a2b567fda2ab2cf4629700cf65cd3f4d46b0d.exe +DEU-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_ac8d3101744ff56f74a4de941dc04a7e567c8ba7.exe +ELL-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_fd86a331f91bc16185e88e6706db859cb27264d1.exe +ENU-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_33a8fef60d48ae1f2c4feea27111af5ceca3c4f6.exe +ESN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_8e7e8de62676d994a7412df190fcdce848f25cf0.exe +FIN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_2feacc1ad5a703d508e9aee4c2fca1e0b9ca9962.exe +FRA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_da94a031147ebd6f8d02eadb7972801843a533bb.exe +HEB-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_76096ed9f2218ac7a14472cbf435f380ffc1c2f6.exe +HUN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_bd03a3d2a28de2de9e58da3e5dec888ffae25aca.exe +ITA-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_1334fdd285666bfd821eef8590914f188b1bcc0c.exe +JPN-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_d36c0a7046f2dbe29dfff33b6dbb6bb4574bbd7d.exe +KOR-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_4a6b32f007fe94a2a8b4542fc6778582ef4245e3.exe +NLD-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_64551a535981fbcd9c2bac3f91df30c6b3610725.exe +NOR-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_ace2994463597f9cb7cb059e1dca2a87c12bf278.exe +PLK-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_8aefc12abade033f2f093786646206fbb70cbb5d.exe +PTB-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_bcbc1bbb2c493dd0a942d13695b18da0400188f8.exe +PTG-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_db1f7c486f0eda249d77ae91c858a162cefb769b.exe +RUS-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_72946fbe955201f2387430963d4372cda7cac392.exe +SVE-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_3ff578d759e77df91effefe34a42030b8ada1c24.exe +TRK-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp2_68cfeb8fda746b900f9c3ce313d7348c812fd30d.exe + +[XPSP3] +ARA-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/04/windowsxp-kb936929-sp3-x86-ara_4e82a87cea3b9643fd57b39393a88061614cdae6.exe +CHH-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-chh_2663fb610f29e65a10be176740ea6757ca1f22d5.exe +CHS-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-chs_d7067e86abd4257454200d0c398d71c4ce6cd33e.exe +CHT-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-cht_8a0625e10b8c6cb88d9d1952f1a189fbd761b744.exe +CSY-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-csy_7af606916b887dba9dd38ae282505ce2c2b81b08.exe +DAN-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-dan_37e03a7d43ad65bc4b71f3947c76bd2fc0fe44d6.exe +DEU-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-deu_f2dcd2211384a78df215c696a7fd1a7949dc794b.exe +ELL-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-ell_cec2ed1c3097e44e62dcb1f2a473a64a58e031fe.exe +ENU-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/04/windowsxp-kb936929-sp3-x86-enu_c81472f7eeea2eca421e116cd4c03e2300ebfde4.exe +ESN-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-esn_e305becfc6fd5a8199368ceffc496397247ac60f.exe +FIN-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-fin_5654c021a03bfb10543a2c673bdfc42a853e347a.exe +FRA-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-fra_414b61bbc86e09579d8447baa23eb1b867f9ca93.exe +HEB-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-heb_eb8fc9ff0890279346661dde065c14b5c696e423.exe +HUN-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-hun_77b70fe421baeebb115c2f378b8a1fc274db9867.exe +ITA-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-ita_2162c1d419d1e462a7dc34294528b2daf593302c.exe +JPN-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-jpn_e0fc34cfa52d270b3c79a68af8fa358244f7419e.exe +KOR-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-kor_8ca7e862bfc2742ad9c4c58df0b0cd5ad4b700ae.exe +NLD-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-nld_b2576b4d1972583a3b776fdf963b914341d34058.exe +NOR-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-nor_67c9167275a2c3e3884a38c2ad7387556ad4713a.exe +PLK-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-plk_7cbe718131e9c71b322f1149e86bedba351ba11c.exe +PTB-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-ptb_02900ef11f5a982a93de5f927997ce92d5a81a86.exe +PTG-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-ptg_bc5189c05e93cd0e5742712d84f0b5f5ffcbb7e4.exe +RUS-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-rus_850cda9f57033a17d046a56d422547ea80dcaf61.exe +SVE-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-sve_13c5ecca22e12224934a1faa1190ee34db3995ae.exe +TRK-x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windowsxp-kb936929-sp3-x86-trk_5aaf60501636af08c97ef1c18f1315f4ed6fbcdf.exe + +[XPESP3] +; Only seems to be available in English. +x86=http://web.archive.org/web/20140813085714/http://download.microsoft.com/download/3/a/e/3aea3d4e-159d-4078-a5b4-5b1e4f5a4db4/WindowsXP-KB958255-ENU.exe + +; Windows XP 2003 +[2003SP2] +CHH-x86=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windowsserver2003-kb914961-sp2-x86-chh_2de4fb187533e226cd615bcda30b9a8a2836e197.exe +CHS-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-chs_c3e7772c6ad063bac3cb6ca05ea6e1b39c5bb35d.exe +CHT-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-cht_65a62b8ef051bf93d0ccd78900fe8d6709d37a92.exe +CSY-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-csy_fa0c18ba0a265001778e9d2691086742fc4efeb6.exe +DEU-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-deu_f9a055504e882bb06ce2c7e83319000d905f7917.exe +ENU-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-enu_51e1759a1fda6cd588660324abaed59dd3bbe86b.exe +ESN-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-esn_38d7fba08bdebdaf567ae626042e860bf525306e.exe +FRA-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-fra_51f76d9ebb01806f905199f83a16715e8026c095.exe +HUN-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-hun_0ac4aaf8685d74132da6256439ed5f74337cb7f5.exe +ITA-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-ita_75aa7220b0e226330a723cd27cb0f8b56e9b5f22.exe +JPN-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-jpn_af70b74d70df32c530352b75e42ce772e9bb68d2.exe +KOR-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-kor_65bcd5be738a08046f0714a108a5fa334ef08fd0.exe +NLD-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-nld_12014e84ae5c8a41cd918a6e2c97586bdee030f7.exe +PLK-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-plk_213469cc7ac58cfa82215f1e5ca6753675061b57.exe +PTB-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-ptb_73a2c9a9a28f1203aba9f1852c64247467494652.exe +PTG-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-ptg_d8b921ee4bb0e0d2831f249e99c64264ae9098db.exe +RUS-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-rus_b53c66c6cec98327d1a25b77a252dc82d984f959.exe +SVE-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-sve_fba6d5c90dc7c15ae750c98cf407a0f148bbfee5.exe +TRK-x86=http://download.windowsupdate.com/msdownload/update/software/dflt/2008/02/windowsserver2003-kb914961-sp2-x86-trk_428236b66433ce6b08c9d7a6aa6c523874a340ae.exe +ENU-x64=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windowsserver2003.windowsxp-kb914961-sp2-x64-enu_7f8e909c52d23ac8b5dbfd73f1f12d3ee0fe794c.exe +JPN-x64=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windowsserver2003.windowsxp-kb914961-sp2-x64-jpn_c725a8c4e03803b12a9ac8820e964dbc377a80dc.exe +DEU-ia64=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windowsserver2003-kb914961-sp2-ia64-deu_f6857c1bb8fc03798541a78cdc1f5bb98b456333.exe +ENU-ia64=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windowsserver2003-kb914961-sp2-ia64-enu_8856af0aa0f198a8aad2de2c1ca68240d1d49bf3.exe +FRA-ia64=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windowsserver2003-kb914961-sp2-ia64-fra_0289b81fe7ed5c1c36f87232f87b25cdb21d331d.exe +JPN-ia64=http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windowsserver2003-kb914961-sp2-ia64-jpn_3216b1978fd418181ecbf77eef67398edb97a106.exe + +; Windows Update Agent standalone installer +[WUA] +; Pay no attention to the version numbers in the urls, they're all over the place. The keys have the +; actual versions of dlls that gets installed. +7.2.6001.788-x86=http://download.windowsupdate.com/windowsupdate/redist/standalone/7.2.6001.788/WindowsUpdateAgent30-x86.exe +7.2.6001.788-x64=http://download.windowsupdate.com/windowsupdate/redist/standalone/7.2.6001.788/WindowsUpdateAgent30-x64.exe +7.2.6001.788-ia64=http://download.windowsupdate.com/windowsupdate/redist/standalone/7.2.6001.788/WindowsUpdateAgent30-ia64.exe +7.6.7600.243-x86=http://download.windowsupdate.com/windowsupdate/redist/standalone/7.4.7600.243/WindowsUpdateAgent30-x86.exe +7.6.7600.256-x86=http://download.windowsupdate.com/windowsupdate/redist/standalone/7.6.7600.320/WindowsUpdateAgent-7.6-x86.exe +7.6.7600.256-x64=http://download.windowsupdate.com/windowsupdate/redist/standalone/7.6.7600.320/WindowsUpdateAgent-7.6-x64.exe +7.6.7600.256-ia64=http://download.windowsupdate.com/windowsupdate/redist/standalone/7.6.7600.320/WindowsUpdateAgent-7.6-ia64.exe +; Win2k +5.0.0=7.2.6001.788 +5.0.1=7.2.6001.788 +5.0.2=7.2.6001.788 +5.0.3=7.2.6001.788 +5.0.4=7.2.6001.788 +; XP +5.1.0=7.2.6001.788 +5.1.1=7.2.6001.788 +5.1.2=7.2.6001.788 +5.1.3=7.6.7600.256 +5.1.3-home=7.6.7600.243 +; Server 03/XP x64 +5.2.0=7.2.6001.788 +5.2.1=7.2.6001.788 +5.2.2=7.6.7600.256 +; Vista/Server 08 +6.0.2=7.6.7600.256 + +; Vista/Server 08 +[VistaSP1] +x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windows6.0-kb936330-x86_b8a3fa8f819269e37d8acde799e7a9aea3dd4529.exe +x64=http://download.windowsupdate.com/msdownload/update/software/svpk/2008/04/windows6.0-kb936330-x64_12eed6cf0a842ce2a609c622b843afc289a8f4b9.exe +; No ia64 release for Vista SP1 + +[VistaSP2] +x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2009/06/windows6.0-kb948465-x86_55f17352b4398ecb4f0cc20e3737631420ca1609.exe +x64=http://download.windowsupdate.com/msdownload/update/software/svpk/2009/06/windows6.0-kb948465-x64_2eedca0bfa5ae8d1b0acf2117ddc4f15ac5183c9.exe +ia64=http://download.windowsupdate.com/msdownload/update/software/svpk/2009/06/windows6.0-kb948465-ia64_1a6cd9ade213bcc056cba3b810e86f0c09c16b51.exe + +[KB3205638] +x86=http://download.windowsupdate.com/d/msdownload/update/software/secu/2016/11/windows6.0-kb3205638-x86_e2211e9a6523061972decd158980301fc4c32a47.msu +x64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2016/11/windows6.0-kb3205638-x64_a52aaa009ee56ca941e21a6009c00bc4c88cbb7c.msu +ia64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2016/11/windows6.0-kb3205638-ia64_d6bd55663080885c712c3afb9021c7336d0be83a.msu + +[KB4012583] +x86=http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/02/windows6.0-kb4012583-x86_1887cb5393b62cbd2dbb6a6ff6b136e809a2fbd0.msu +x64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/02/windows6.0-kb4012583-x64_f63c9a85aa877d86c886e432560fdcfad53b752d.msu +ia64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/02/windows6.0-kb4012583-ia64_ab1ab96d3a3d7fbd1bf5d1cee53bf0be958c6329.msu + +[KB4015195] +x86=http://download.windowsupdate.com/d/msdownload/update/software/secu/2017/03/windows6.0-kb4015195-x86_eb045e0144266b20b615f29fa581c4001ebb7852.msu +x64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2017/03/windows6.0-kb4015195-x64_2e310724d86b6a43c5ae8ec659685dd6cfb28ba4.msu +ia64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2017/03/windows6.0-kb4015195-ia64_0ae8f7c2ab5cf24123f6e279469674d823d20129.msu + +[KB4015380] +x86=http://download.windowsupdate.com/d/msdownload/update/software/secu/2017/03/windows6.0-kb4015380-x86_3f3548db24cf61d6f47d2365c298d739e6cb069a.msu +x64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/03/windows6.0-kb4015380-x64_959aedbe0403d160be89f4dac057e2a0cd0c6d40.msu +ia64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2017/03/windows6.0-kb4015380-ia64_2a825e5f1aca191bb5f627b494838660180da2d6.msu + +[KB4493730] +x86=http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/04/windows6.0-kb4493730-x86_ab4368f19db796680ff445a7769886c4cdc009a0.msu +x64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/04/windows6.0-kb4493730-x64_5cb91f4e9000383f061b80f88feffdf228c2443c.msu +ia64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/04/windows6.0-kb4493730-ia64_024e5a390f7eace6d2e9dcaa91f09976e4d147db.msu + +; IE9 for Vista +[KB971512] +x86=http://download.windowsupdate.com/msdownload/update/software/updt/2009/10/windows6.0-kb971512-x86_370c3e41e1c161ddce29676e9273e4b8bb7ba3eb.msu +x64=http://download.windowsupdate.com/msdownload/update/software/updt/2009/10/windows6.0-kb971512-x64_0b329b985437c6c572529e5fd0042b9d54aeaa0c.msu + +[KB2117917] +x86=http://download.windowsupdate.com/msdownload/update/software/updt/2011/02/windows6.0-kb2117917-x86_370435d9efa6643c44d6506666b1960d56cf673a.msu +x64=http://download.windowsupdate.com/msdownload/update/software/updt/2011/02/windows6.0-kb2117917-x64_655a21758801e9648702791d7bf30f81b58884b3.msu + +[IE9] +x86=http://download.windowsupdate.com/msdownload/update/software/uprl/2011/05/wu-ie9-windowsvista-x86_90e3e90e964c2769a008cbf924eefdc42413dd52.exe +x64=http://download.windowsupdate.com/msdownload/update/software/uprl/2011/03/wu-ie9-windowsvista-x64_f599c02e7e1ea8a4e1029f0e49418a8be8416367.exe + +; 7/Server 08 R2 +[Win7SP1] +x86=http://download.windowsupdate.com/msdownload/update/software/svpk/2011/02/windows6.1-kb976932-x86_c3516bc5c9e69fee6d9ac4f981f5b95977a8a2fa.exe +x64=http://download.windowsupdate.com/msdownload/update/software/svpk/2011/02/windows6.1-kb976932-x64_74865ef2562006e51d7f9333b4a8d45b7a749dab.exe + +[KB3138612] +x86=http://download.windowsupdate.com/d/msdownload/update/software/updt/2016/02/windows6.1-kb3138612-x86_6e90531daffc13bc4e92ecea890e501e807c621f.msu +x64=http://download.windowsupdate.com/d/msdownload/update/software/updt/2016/02/windows6.1-kb3138612-x64_f7b1de8ea7cf8faf57b0138c4068d2e899e2b266.msu +ia64=http://download.windowsupdate.com/d/msdownload/update/software/updt/2016/02/windows6.1-kb3138612-ia64_4edd5410fb137382d77f468a14118fa6d1c03655.msu + +[KB4474419] +x86=http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/09/windows6.1-kb4474419-v3-x86_0f687d50402790f340087c576886501b3223bec6.msu +x64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/09/windows6.1-kb4474419-v3-x64_b5614c6cea5cb4e198717789633dca16308ef79c.msu +ia64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/09/windows6.1-kb4474419-v3-ia64_1436a990f64876332857baaafa7aeb9eadcb4fa4.msu + +[KB4490628] +x86=http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/03/windows6.1-kb4490628-x86_3cdb3df55b9cd7ef7fcb24fc4e237ea287ad0992.msu +x64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/03/windows6.1-kb4490628-x64_d3de52d6987f7c8bdc2c015dca69eac96047c76e.msu +ia64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/03/windows6.1-kb4490628-ia64_4736acd98e0a4e02f29fcdef63feacc5ac7b702b.msu + +; Windows Home Server 2011 +[KB2757011] +x64=http://download.windowsupdate.com/msdownload/update/software/uprl/2012/12/windows6.1-kb2757011-x64_4140355ab0b06df89668ec51432a820dff9af356.msu + +; 8/Server 2012 +[KB4598297] +x86=http://download.windowsupdate.com/d/msdownload/update/software/secu/2021/01/windows8-rt-kb4598297-x86_a517ea587c91af5f803b0973d40166c3e076fe5c.msu +x64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2021/01/windows8-rt-kb4598297-x64_60f5c45d1216ee6ff1ab88ca03b037ac519ad0da.msu + +; 8.1/Server 2012 R2 +[KB3021910] +x86=http://download.windowsupdate.com/c/msdownload/update/software/updt/2015/04/windows8.1-kb3021910-x86_7e70173bec00c3d4fe3b0b8cba17b095b4ed2d20.msu +x64=http://download.windowsupdate.com/c/msdownload/update/software/updt/2015/04/windows8.1-kb3021910-x64_e291c0c339586e79c36ebfc0211678df91656c3d.msu + +[ClearCompressionFlag] +x86=http://download.windowsupdate.com/c/msdownload/update/software/secu/2014/04/clearcompressionflag_220edca17ae47089fc4da060915e0df568eac4ff.exe +x64=http://download.windowsupdate.com/d/msdownload/update/software/secu/2014/04/clearcompressionflag_3104315db9d84f6a2a56b9621e89ea66a8c27604.exe + +[KB2919355] +x86=http://download.windowsupdate.com/c/msdownload/update/software/crup/2014/02/windows8.1-kb2919355-x86_de9df31e42fe034c9a763328326e5852c2b4963d.msu +x64=http://download.windowsupdate.com/d/msdownload/update/software/crup/2014/02/windows8.1-kb2919355-x64_e6f4da4d33564419065a7370865faacf9b40ff72.msu + +[KB2932046] +x86=http://download.windowsupdate.com/c/msdownload/update/software/crup/2014/02/windows8.1-kb2932046-x86_bfd8ca4c683ccec26355afc1f2e677f3809cb3d6.msu +x64=http://download.windowsupdate.com/d/msdownload/update/software/crup/2014/02/windows8.1-kb2932046-x64_6aee5fda6e2a6729d1fbae6eac08693acd70d985.msu + +[KB2959977] +x86=http://download.windowsupdate.com/d/msdownload/update/software/secu/2014/04/windows8.1-kb2959977-x86_5ccf761a356bb143b68887f99883d8c24946d2c2.msu +x64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2014/04/windows8.1-kb2959977-x64_574ba2d60baa13645b764f55069b74b2de866975.msu + +[KB2937592] +x86=http://download.windowsupdate.com/d/msdownload/update/software/crup/2014/02/windows8.1-kb2937592-x86_96a3416d480bd2b54803df26b8e76cd1d0008d43.msu +x64=http://download.windowsupdate.com/c/msdownload/update/software/crup/2014/02/windows8.1-kb2937592-x64_4abc0a39c9e500c0fbe9c41282169c92315cafc2.msu + +[KB2934018] +x86=http://download.windowsupdate.com/d/msdownload/update/software/secu/2014/04/windows8.1-kb2934018-x86_8fb05387836b77abbf1755185ae743c9da417e9a.msu +x64=http://download.windowsupdate.com/c/msdownload/update/software/secu/2014/04/windows8.1-kb2934018-x64_234a5fc4955f81541f5bfc0d447e4fc4934efc38.msu diff --git a/setup/RunOnce.nsh b/setup/RunOnce.nsh new file mode 100644 index 0000000..647ee03 --- /dev/null +++ b/setup/RunOnce.nsh @@ -0,0 +1,166 @@ +!define IsRunOnce `"" HasFlag "/runonce"` +!define IsPostInstall `"" HasFlag "/postinstall"` +!define NoRestart `"" HasFlag "/norestart"` + +!macro -PromptReboot + SetErrorLevel ${ERROR_SUCCESS_REBOOT_REQUIRED} + + ${If} ${NoRestart} + ; Prompt for reboot + ${IfNot} ${Silent} + System::Call '${RestartDialog}($HWNDPARENT, \ + "Windows will be restarted to complete installation of prerequisite components. Setup will resume after the restart.", \ + ${EWX_REBOOT})' + ${EndIf} + ${Else} + ; Reboot immediately + Reboot + ${EndIf} +!macroend + +!macro -RegisterRunOnce flags + WriteRegStr HKLM "${REGPATH_RUNONCE}" "Legacy Update" '"$RunOnceDir\LegacyUpdateSetup.exe" ${flags}' +!macroend + +Function RegisterRunOnce + !insertmacro -RegisterRunOnce "/runonce" +FunctionEnd + +Function un.RegisterRunOnce + ; Unused, just needs to exist to make the compiler happy +FunctionEnd + +Function RegisterRunOncePostInstall + !insertmacro -RegisterRunOnce "/postinstall" +FunctionEnd + +!macro -WriteRegStrWithBackup root key name value + ; Backup the key if it exists + ClearErrors + ReadRegStr $0 ${root} "${key}" "${name}" + ${IfNot} ${Errors} + WriteRegStr ${root} "${key}" "LegacyUpdate_${name}" $0 + ${EndIf} + + WriteRegStr ${root} "${key}" "${name}" "${value}" +!macroend + +!macro -RestoreRegStr root key name + ; Restore the key if it exists + ClearErrors + ReadRegStr $0 ${root} "${key}" "LegacyUpdate_${name}" + ${If} ${Errors} + DeleteRegValue ${root} "${key}" "${name}" + ${Else} + WriteRegStr ${root} "${key}" "${name}" $0 + DeleteRegValue ${root} "${key}" "LegacyUpdate_${name}" + ${EndIf} +!macroend + +!macro -RebootIfRequired un + ${If} ${RebootFlag} + ${IfNot} ${IsRunOnce} + ${AndIfNot} ${NoRestart} + !insertmacro DetailPrint "Preparing to restart..." + + ; Get the localised name of the Administrators group from its SID + System::Call '*(&i1 0, &i4 0, &i1 5) i .r0' + ; S-1-5-32-544 + System::Call '${AllocateAndInitializeSid}(r0, 2, ${SECURITY_BUILTIN_DOMAIN_RID}, ${DOMAIN_ALIAS_RID_ADMINS}, 0, 0, 0, 0, 0, 0, .r1)' + System::Free $0 + System::Call '${LookupAccountSid}(0, r1, .r0, ${NSIS_MAX_STRLEN}, .r2, ${NSIS_MAX_STRLEN}, 0)' + System::Call '${FreeSid}(r1)' + + ; Create the admin user + ExecShellWait "" "$WINDIR\system32\net.exe" "user /add ${RUNONCE_USERNAME} ${RUNONCE_PASSWORD}" SW_HIDE + ExecShellWait "" "$WINDIR\system32\net.exe" 'localgroup /add "$0" ${RUNONCE_USERNAME}' SW_HIDE + + !insertmacro -WriteRegStrWithBackup HKLM "${REGPATH_WINLOGON}" "AutoAdminLogon" "1" + !insertmacro -WriteRegStrWithBackup HKLM "${REGPATH_WINLOGON}" "DefaultDomainName" "." + !insertmacro -WriteRegStrWithBackup HKLM "${REGPATH_WINLOGON}" "DefaultUserName" "${RUNONCE_USERNAME}" + !insertmacro -WriteRegStrWithBackup HKLM "${REGPATH_WINLOGON}" "DefaultPassword" "${RUNONCE_PASSWORD}" + + ; Copy to runonce path to ensure installer is accessible by the temp user + CreateDirectory "$RunOnceDir" + CopyFiles /SILENT "$EXEPATH" "$RunOnceDir\LegacyUpdateSetup.exe" + + ; Remove mark of the web to prevent "Open File - Security Warning" dialog + System::Call '${DeleteFile}("$RunOnceDir\LegacyUpdateSetup.exe:Zone.Identifier")' + ${EndIf} + + Call ${un}RegisterRunOnce + !insertmacro -PromptReboot + Quit + ${EndIf} +!macroend + +Function RebootIfRequired + ${MementoSectionSave} + !insertmacro -RebootIfRequired "" +FunctionEnd + +Function un.RebootIfRequired + !insertmacro -RebootIfRequired "un." +FunctionEnd + +Function OnRunOnceLogon + ; Trick winlogon into thinking the shell has started, so it doesn't appear to be stuck at + ; "Welcome" (XP) or "Preparing your desktop..." (Vista+) + ; https://social.msdn.microsoft.com/Forums/WINDOWS/en-US/ca253e22-1ef8-4582-8710-9cd9c89b15c3 + ${If} ${AtLeastWinVista} + StrCpy $0 "ShellDesktopSwitchEvent" + ${Else} + StrCpy $0 "msgina: ShellReadyEvent" + ${EndIf} + + System::Call '${OpenEvent}(${EVENT_MODIFY_STATE}, 0, "$0") .r0' + ${If} $0 != 0 + System::Call '${SetEvent}(r0)' + System::Call '${CloseHandle}(r0)' + ${EndIf} + + ; Handle Safe Mode case. RunOnce can still be processed in Safe Mode in some edge cases. If that + ; happens, just silently register runonce again and quit. + ${If} ${IsSafeMode} + Call RegisterRunOnce + Quit + ${EndIf} + + ; Allow the themes component to be registered if necessary. This sets the theme to Aero Basic + ; rather than Classic in Vista/7. + ClearErrors + ReadRegStr $0 HKLM "${REGPATH_COMPONENT_THEMES}" "StubPath" + ${IfNot} ${Errors} + ExecShellWait "" "$WINDIR\system32\cmd.exe" "/c $0" SW_HIDE + ${EndIf} +FunctionEnd + +Function CleanUpRunOnce + ; Restore autologon keys + !insertmacro -RestoreRegStr HKLM "${REGPATH_WINLOGON}" "AutoAdminLogon" + !insertmacro -RestoreRegStr HKLM "${REGPATH_WINLOGON}" "DefaultDomainName" + !insertmacro -RestoreRegStr HKLM "${REGPATH_WINLOGON}" "DefaultUserName" + !insertmacro -RestoreRegStr HKLM "${REGPATH_WINLOGON}" "DefaultPassword" + + ; Delete the temp user + ExecShellWait "" "$WINDIR\system32\net.exe" "user /delete ${RUNONCE_USERNAME}" SW_HIDE + + ${If} ${IsRunOnce} + ; Clean up temporary setup exe if we created it (likely on next reboot) + ${If} ${FileExists} "$RunOnceDir" + RMDir /r /REBOOTOK "$RunOnceDir" + ${EndIf} + + ; Be really really sure this is the right user before we nuke their profile and log out + System::Call '${GetUserName}(.r0, ${NSIS_MAX_STRLEN}) .r1' + ${If} $0 == "${RUNONCE_USERNAME}" + ; Register postinstall runonce for the next admin user logon, and log out of the temporary user + ${IfNot} ${Abort} + Call RegisterRunOncePostInstall + ${EndIf} + + RMDir /r /REBOOTOK "$PROFILE" + System::Call "${ExitWindowsEx}(${EWX_FORCE}, 0) .r0" + ${EndIf} + ${EndIf} +FunctionEnd diff --git a/setup/UpdateRoots.nsh b/setup/UpdateRoots.nsh new file mode 100644 index 0000000..22e9e95 --- /dev/null +++ b/setup/UpdateRoots.nsh @@ -0,0 +1,82 @@ +!macro -SetSecureProtocolsBitmask + ; If the value isn't yet set, ReadRegDword will return 0. This means TLSv1.1 and v1.2 will be the + ; only enabled protocols. This is intentional behavior, because SSLv2 and SSLv3 are not secure, + ; and TLSv1.0 is deprecated. The user can manually enable them in Internet Settings if needed. + ; On XP, we'll also enable TLSv1.0, given TLSv1.1 and v1.2 are only offered through an optional + ; POSReady 2009 update. + ${If} $0 == 0 + ${AndIf} ${AtMostWinXP2003} + IntOp $0 $0 | ${WINHTTP_FLAG_SECURE_PROTOCOL_TLS1} + ${EndIf} + IntOp $0 $0 | ${WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1} + IntOp $0 $0 | ${WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2} +!macroend + +Function _ConfigureCrypto + ; Enable SChannel TLSv1.1 and v1.2 + WriteRegDword HKLM "${REGPATH_SCHANNEL_PROTOCOLS}\TLS 1.1\Client" "Enabled" 1 + WriteRegDword HKLM "${REGPATH_SCHANNEL_PROTOCOLS}\TLS 1.1\Client" "DisabledByDefault" 0 + WriteRegDword HKLM "${REGPATH_SCHANNEL_PROTOCOLS}\TLS 1.1\Server" "Enabled" 1 + WriteRegDword HKLM "${REGPATH_SCHANNEL_PROTOCOLS}\TLS 1.1\Server" "DisabledByDefault" 0 + WriteRegDword HKLM "${REGPATH_SCHANNEL_PROTOCOLS}\TLS 1.2\Client" "Enabled" 1 + WriteRegDword HKLM "${REGPATH_SCHANNEL_PROTOCOLS}\TLS 1.2\Client" "DisabledByDefault" 0 + WriteRegDword HKLM "${REGPATH_SCHANNEL_PROTOCOLS}\TLS 1.2\Server" "Enabled" 1 + WriteRegDword HKLM "${REGPATH_SCHANNEL_PROTOCOLS}\TLS 1.2\Server" "DisabledByDefault" 0 + + ; Enable IE TLSv1.1 and v1.2 + ReadRegDword $0 HKLM "${REGPATH_INETSETTINGS}" "SecureProtocols" + !insertmacro -SetSecureProtocolsBitmask + WriteRegDword HKLM "${REGPATH_INETSETTINGS}" "SecureProtocols" $0 + + ReadRegDword $0 HKCU "${REGPATH_INETSETTINGS}" "SecureProtocols" + !insertmacro -SetSecureProtocolsBitmask + WriteRegDword HKCU "${REGPATH_INETSETTINGS}" "SecureProtocols" $0 + + ; Enable WinHTTP TLSv1.1 and v1.2 + ReadRegDword $0 HKLM "${REGPATH_INETSETTINGS}\WinHttp" "DefaultSecureProtocols" + !insertmacro -SetSecureProtocolsBitmask + WriteRegDword HKLM "${REGPATH_INETSETTINGS}\WinHttp" "DefaultSecureProtocols" $0 + + ReadRegDword $0 HKCU "${REGPATH_INETSETTINGS}\WinHttp" "DefaultSecureProtocols" + !insertmacro -SetSecureProtocolsBitmask + WriteRegDword HKCU "${REGPATH_INETSETTINGS}\WinHttp" "DefaultSecureProtocols" $0 + + ; Enable .NET inheriting SChannel protocol config + ; .NET 3 uses the same registry keys as .NET 2. + WriteRegDword HKLM "${REGPATH_DOTNET_V2}" "SystemDefaultTlsVersions" 1 + WriteRegDword HKLM "${REGPATH_DOTNET_V4}" "SystemDefaultTlsVersions" 1 +FunctionEnd + +Function ConfigureCrypto + Call _ConfigureCrypto + + ; Repeat in the WOW64 registry if needed + ${If} ${RunningX64} + SetRegView 32 + Call _ConfigureCrypto + SetRegView 64 + ${EndIf} +FunctionEnd + +!macro _DownloadSST name + !insertmacro Download "Certificate Trust List" "${TRUSTEDR}/${name}.sst" "${name}.sst" 0 +!macroend + +Function DownloadRoots + !insertmacro DetailPrint "Downloading Certificate Trust List..." + !insertmacro _DownloadSST "authroots" + !insertmacro _DownloadSST "delroots" + !insertmacro _DownloadSST "roots" + !insertmacro _DownloadSST "updroots" + !insertmacro _DownloadSST "disallowedcert" +FunctionEnd + +Function UpdateRoots + File "updroots.exe" + !insertmacro DetailPrint "Installing Certificate Trust List..." + !insertmacro ExecWithErrorHandling "Certificate Trust List" '"$OUTDIR\updroots.exe" authroots.sst' 0 + !insertmacro ExecWithErrorHandling "Certificate Trust List" '"$OUTDIR\updroots.exe" updroots.sst' 0 + !insertmacro ExecWithErrorHandling "Certificate Trust List" '"$OUTDIR\updroots.exe" -l roots.sst' 0 + !insertmacro ExecWithErrorHandling "Certificate Trust List" '"$OUTDIR\updroots.exe" -d delroots.sst' 0 + !insertmacro ExecWithErrorHandling "Certificate Trust List" '"$OUTDIR\updroots.exe" -l -u disallowedcert.sst' 0 +FunctionEnd diff --git a/setup/Win32.nsh b/setup/Win32.nsh new file mode 100644 index 0000000..0369fb6 --- /dev/null +++ b/setup/Win32.nsh @@ -0,0 +1,69 @@ +; advapi32 +!define SECURITY_BUILTIN_DOMAIN_RID 0x00000020 +!define DOMAIN_ALIAS_RID_ADMINS 0x00000220 + +!define AllocateAndInitializeSid 'advapi32::AllocateAndInitializeSid(i, i, i, i, i, i, i, i, i, i, *i) i' +!define LookupAccountSid 'advapi32::LookupAccountSid(i, i, t, *i, t, *i, *i) i' +!define FreeSid 'advapi32::FreeSid(i)' +!define GetUserName 'advapi32::GetUserName(t, *i) i' + +; kernel32 +!define PF_XMMI64_INSTRUCTIONS_AVAILABLE 10 + +!define ES_CONTINUOUS 0x80000000 +!define ES_SYSTEM_REQUIRED 0x00000001 + +!define GetVersionEx 'kernel32::GetVersionEx(pr) i' +!define GetLogicalProcessorInformationEx 'kernel32::GetLogicalProcessorInformationEx(i, *i, *i) i' +!define SetThreadExecutionState 'kernel32::SetThreadExecutionState(i) i' +!define OpenEvent 'kernel32::OpenEvent(i, i, t) i' +!define SetEvent 'kernel32::SetEvent(i) i' +!define CloseHandle 'kernel32::CloseHandle(i) i' +!define DeleteFile 'kernel32::DeleteFile(t) i' + +; netapi32 +!define NetApiBufferFree 'netapi32::NetApiBufferFree(i) i' +!define NetUserGetInfo 'netapi32::NetUserGetInfo(t, t, i, *i) i' +!define NetUserAdd 'netapi32::NetUserAdd(t, i, t, i, *i) i' +!define NetLocalGroupAddMembers 'netapi32::NetLocalGroupAddMembers(t, t, i, *i, i) i' + +; ole32 +!define CoCreateInstance 'ole32::CoCreateInstance(g, p, i, g, *p) i' +!define CoTaskMemFree 'ole32::CoTaskMemFree(p)' + +; oleaut32 +!define SysAllocString 'oleaut32::SysAllocString(t) p' +!define SysFreeString 'oleaut32::SysFreeString(p)' + +; shell32 +!define IsUserAnAdmin 'shell32::IsUserAnAdmin() i' +!define RestartDialog 'shell32::RestartDialog(p, t, i) i' + +; user32 +!define EWX_REBOOT 0x02 +!define EWX_FORCE 0x04 + +!define ExitWindowsEx 'user32::ExitWindowsEx(i, i) i' +!define GetSystemMetrics 'user32::GetSystemMetrics(i) i' + +; winhttp +!define WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 0x00000080 +!define WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 0x00000200 +!define WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 0x00000800 + +!define ERROR_INTERNET_OPERATION_CANCELLED 12017 + +; wininet +!define INTERNET_FLAG_RELOAD 0x80000000 +!define INTERNET_FLAG_NO_CACHE_WRITE 0x04000000 +!define INTERNET_FLAG_KEEP_CONNECTION 0x00400000 +!define INTERNET_FLAG_NO_COOKIES 0x00080000 +!define INTERNET_FLAG_NO_UI 0x00000200 + +!define SECURITY_FLAG_STRENGTH_STRONG 0x20000000 + +; wuapi +!define WU_S_ALREADY_INSTALLED 2359302 ; 0x00240006 +!define WU_E_NOT_APPLICABLE -2145124329 ; 0x80240017 + +!define WU_MU_SERVICE_ID "7971f918-a847-4430-9279-4a52d1efe18d" diff --git a/setup/WinVer.nsh b/setup/WinVer.nsh new file mode 100644 index 0000000..6282f8f --- /dev/null +++ b/setup/WinVer.nsh @@ -0,0 +1,173 @@ +; NSIS WinVer.nsh rewritten to work more like what I expect. + +!include LogicLib.nsh +!include Util.nsh + +; Defines + +!define OSVERSIONINFOW_SIZE 276 +!define OSVERSIONINFOEXW_SIZE 284 + +!define WINVER_2000 0x0500 ; 5.0.2195 +!define WINVER_XP 0x0501 ; 5.1.2600 +!define WINVER_XP2002 0x0501 ; 5.1.2600 +!define WINVER_XP2003 0x0502 ; 5.2.3790 +!define WINVER_VISTA 0x0600 ; 6.0.6000 +!define WINVER_7 0x0601 ; 6.1.7600 +!define WINVER_8 0x0602 ; 6.2.9200 +!define WINVER_8.1 0x0603 ; 6.3.9600 +!define WINVER_10 0x0A00 ; 10.0.10240 + +!define WINVER_SERVER_2000 ${WINVER_2000} +!define WINVER_SERVER_2003 ${WINVER_XP2003} +!define WINVER_SERVER_2003R2 ${WINVER_XP2003} +!define WINVER_SERVER_2008 ${WINVER_VISTA} +!define WINVER_SERVER_2008R2 ${WINVER_7} +!define WINVER_SERVER_2012 ${WINVER_8} +!define WINVER_SERVER_2012R2 ${WINVER_8.1} +!define WINVER_SERVER_2016 ${WINVER_10} + +!define WINVER_BUILD_11 22000 + +!define /ifndef VER_NT_WORKSTATION 1 + +!define VER_SUITE_BACKOFFICE 0x00000004 ; Microsoft BackOffice +!define VER_SUITE_BLADE 0x00000400 ; Windows Server 2003, Web Edition +!define VER_SUITE_COMPUTE_SERVER 0x00004000 ; Windows Server 2003, Compute Cluster Edition +!define VER_SUITE_DATACENTER 0x00000080 ; Windows Server Datacenter +!define VER_SUITE_ENTERPRISE 0x00000002 ; Windows Server Enterprise +!define VER_SUITE_EMBEDDEDNT 0x00000040 ; Windows Embedded +!define VER_SUITE_PERSONAL 0x00000200 ; Windows Home Edition +!define VER_SUITE_SINGLEUSERTS 0x00000100 ; Single-user Remote Desktop +!define VER_SUITE_SMALLBUSINESS 0x00000001 ; Small Business Server +!define VER_SUITE_SMALLBUSINESS_RESTRICTED 0x00000020 ; Small Business Server (restrictive client license) +!define VER_SUITE_STORAGE_SERVER 0x00002000 ; Windows Storage Server 2003 +!define VER_SUITE_TERMINAL 0x00000010 ; Terminal Services (always true) +!define VER_SUITE_WH_SERVER 0x00008000 ; Windows Home Server +!define VER_SUITE_MULTIUSERTS 0x00020000 ; Multi-user Remote Desktop + +!define SM_CLEANBOOT 67 + +; Init + +!macro __WinVer_Init + !ifndef __WINVER_VARS_DECLARED + !define __WINVER_VARS_DECLARED + + Var /GLOBAL __WINVEROS + Var /GLOBAL __WINVERBUILD + Var /GLOBAL __WINVERSP + Var /GLOBAL __WINVERPROD + Var /GLOBAL __WINVERSUITE + !endif + + StrCmp $__WINVEROS "" _winver_noveryet + Return + + _winver_noveryet: + GetWinVer $__WINVEROS NTDDIMajMin + GetWinVer $__WINVERBUILD Build + GetWinVer $__WINVERSP ServicePack + GetWinVer $__WINVERPROD Product + + Push $0 + Push $1 + System::Alloc ${OSVERSIONINFOEXW_SIZE} + Pop $0 + System::Call '*$0(i ${OSVERSIONINFOEXW_SIZE})' + System::Call '${GetVersionEx}(.r0)' + System::Call '*$0(i, i, i, i, i, &t128, h, h, h .r1, b, b)' + System::Free $0 + StrCpy $__WINVERSUITE $1 + Pop $1 + Pop $0 +!macroend + +; Tests + +!macro __WinVer_TestOS op num _t _f + ${CallArtificialFunction} __WinVer_Init + !insertmacro _${op} $__WINVEROS ${num} `${_t}` `${_f}` +!macroend + +!macro __WinVer_TestBuild op num _t _f + ${CallArtificialFunction} __WinVer_Init + !insertmacro _${op} $__WINVERBUILD ${num} `${_t}` `${_f}` +!macroend + +!macro __WinVer_TestSP op num _t _f + ${CallArtificialFunction} __WinVer_Init + !insertmacro _${op} $__WINVERSP ${num} `${_t}` `${_f}` +!macroend + +!macro __WinVer_TestProduct op num _t _f + ${CallArtificialFunction} __WinVer_Init + !insertmacro _${op} $__WINVERPROD ${num} `${_t}` `${_f}` +!macroend + +!macro __WinVer_TestSuite _a num _t _f + !insertmacro _LOGICLIB_TEMP + ${CallArtificialFunction} __WinVer_Init + IntOp $_LOGICLIB_TEMP $__WINVERSUITE & ${num} + !insertmacro _= $_LOGICLIB_TEMP ${num} `${_t}` `${_f}` +!macroend + +!macro __WinVer_TestSystemMetric op metric _t _f + !insertmacro _LOGICLIB_TEMP + ${CallArtificialFunction} __WinVer_Init + System::Call '${GetSystemMetrics}(${metric}) .s' + Pop $_LOGICLIB_TEMP + !insertmacro _${op} $_LOGICLIB_TEMP 0 `${_t}` `${_f}` +!macroend + +; Defines + +!define IsClientOS `= _WinVer_TestProduct ${VER_NT_WORKSTATION}` +!define IsServerOS `!= _WinVer_TestProduct ${VER_NT_WORKSTATION}` + +!define IsHomeEdition `"" _WinVer_TestSuite ${VER_SUITE_PERSONAL}` +!define IsEmbedded `"" _WinVer_TestSuite ${VER_SUITE_EMBEDDEDNT}` +!define IsHomeServer `"" _WinVer_TestSuite ${VER_SUITE_WH_SERVER}` + +!define IsSafeMode `!= _WinVer_TestSystemMetric ${SM_CLEANBOOT}` + +!define IsServicePack `= _WinVer_TestSP` +!define AtLeastServicePack `>= _WinVer_TestSP` +!define AtMostServicePack `<= _WinVer_TestSP` + +!macro __WinVer_DefineClient os + !define IsWin${os} `= _WinVer_TestOS ${WINVER_${os}}` + !define AtLeastWin${os} `>= _WinVer_TestOS ${WINVER_${os}}` + !define AtMostWin${os} `<= _WinVer_TestOS ${WINVER_${os}}` +!macroend + +!macro __WinVer_DefineServer os + !define IsWin${os} `= _WinVer_TestOS ${WINVER_SERVER_${os}}` + !define AtLeastWin${os} `>= _WinVer_TestOS ${WINVER_SERVER_${os}}` + !define AtMostWin${os} `<= _WinVer_TestOS ${WINVER_SERVER_${os}}` +!macroend + +!macro __WinVer_DefineBuild os + !define IsWin${os} `= _WinVer_TestBuild ${WINVER_BUILD_${os}}` + !define AtLeastWin${os} `>= _WinVer_TestBuild ${WINVER_BUILD_${os}}` + !define AtMostWin${os} `<= _WinVer_TestBuild ${WINVER_BUILD_${os}}` +!macroend + +!insertmacro __WinVer_DefineClient 2000 +!insertmacro __WinVer_DefineClient XP2002 +!insertmacro __WinVer_DefineClient XP2003 +!insertmacro __WinVer_DefineClient Vista +!insertmacro __WinVer_DefineClient 7 +!insertmacro __WinVer_DefineClient 8 +!insertmacro __WinVer_DefineClient 8.1 +!insertmacro __WinVer_DefineClient 10 + +!insertmacro __WinVer_DefineServer 2003 +!insertmacro __WinVer_DefineServer 2003R2 +!insertmacro __WinVer_DefineServer 2008 +!insertmacro __WinVer_DefineServer 2008R2 +!insertmacro __WinVer_DefineServer 2012 +!insertmacro __WinVer_DefineServer 2012R2 +!insertmacro __WinVer_DefineServer 2016 + +!insertmacro __WinVer_DefineBuild 11 diff --git a/setup/codebase/lucontrl.ddf b/setup/codebase/lucontrl.ddf new file mode 100644 index 0000000..b194e37 --- /dev/null +++ b/setup/codebase/lucontrl.ddf @@ -0,0 +1,20 @@ +.Set CabinetNameTemplate=lucontrl.cab +.Set CompressionType=MSZIP +.Set CompressionLevel=7 +.Set InfFileName=lucontrl_layout.inf +.Set MaxDiskSize=CDROM +.Set ReservePerCabinetSize=6144 +.Set InfCabinetLineFormat=*cab#*=Application Source Media,*cabfile*,0 +.Set Compress=on +.Set CompressionMemory=21 +.Set DiskDirectoryTemplate= +.Set Cabinet=ON +.Set MaxCabinetSize=999999999 +.Set InfDiskHeader= +.Set InfDiskLineFormat= +.Set InfCabinetHeader=[SourceDisksNames] +.Set InfFileHeader= +.Set InfFileHeader1=[SourceDisksFiles] +.Set InfFileLineFormat=*file*=*cab#*,,*size*,*csum* +setup.inf +setup.exe diff --git a/setup/codebase/setup.inf b/setup/codebase/setup.inf new file mode 100644 index 0000000..dd167d8 --- /dev/null +++ b/setup/codebase/setup.inf @@ -0,0 +1,9 @@ +[Version] +Signature="$CHICAGO$" +AdvancedINF=2.0 + +[Setup Hooks] +setup=setup + +[setup] +run="%EXTRACT_DIR%\setup.exe" /activex diff --git a/setup/codebase/test.html b/setup/codebase/test.html new file mode 100644 index 0000000..adf78e8 --- /dev/null +++ b/setup/codebase/test.html @@ -0,0 +1 @@ + diff --git a/setup/ie6setupstub.nsi b/setup/ie6setupstub.nsi new file mode 100644 index 0000000..e793287 --- /dev/null +++ b/setup/ie6setupstub.nsi @@ -0,0 +1,89 @@ +; Stub file used to replace the ie6setup_w2k.exe file that was previously hosted by Legacy Update. +; This was a full copy of IE6 SP1, but only for English installations of Windows 2000. +; This is expected to ONLY be run by Legacy Update 1.5 and earlier. It should not be used directly. + +!define MUI_UI "modern_aerowizard.exe" +!define MUI_UI_HEADERIMAGE "modern_aerowizard.exe" + +!define MUI_CUSTOMFUNCTION_GUIINIT OnShow + +!include Constants.nsh + +Name "${NAME}" +Caption "${NAME} - Internet Explorer 6 Downloader" +BrandingText "${NAME} ${VERSION} - ${DOMAIN}" +OutFile "ie6setupstub-${VERSION}.exe" + +Unicode True +RequestExecutionLevel Admin +AutoCloseWindow true + +VIAddVersionKey /LANG=1033 "ProductName" "${NAME} - Internet Explorer 6 Downloader" +VIAddVersionKey /LANG=1033 "ProductVersion" "${LONGVERSION}" +VIAddVersionKey /LANG=1033 "CompanyName" "Hashbang Productions" +VIAddVersionKey /LANG=1033 "LegalCopyright" "© Hashbang Productions. All rights reserved." +VIAddVersionKey /LANG=1033 "FileDescription" "${NAME} - Internet Explorer 6 Downloader" +VIAddVersionKey /LANG=1033 "FileVersion" "${LONGVERSION}" +VIProductVersion ${LONGVERSION} +VIFileVersion ${LONGVERSION} + +!define MUI_ICON "..\icon.ico" + +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_BITMAP "setupbanner.bmp" + +!include FileFunc.nsh +!include LogicLib.nsh +!include MUI2.nsh +!include Win\WinNT.nsh +!include WinCore.nsh +!include WinVer.nsh +!include WordFunc.nsh +!include x64.nsh + +!include Common.nsh +!include AeroWizard.nsh +!include Download2KXP.nsh + +!insertmacro GetParameters +!insertmacro GetOptions + +!define MUI_PAGE_HEADER_TEXT "Performing Actions" +!define MUI_PAGE_CUSTOMFUNCTION_SHOW OnShow + +!insertmacro MUI_PAGE_INSTFILES + +!insertmacro MUI_LANGUAGE "English" + +Function OnShow + Call AeroWizardOnShow +FunctionEnd + +Section "Internet Explorer 6.0 Service Pack 1" IE6SP1 + SectionIn Ro + Call DownloadIE6 + Call InstallIE6 +SectionEnd + +Function .onInit + SetShellVarContext All + !insertmacro EnsureAdminRights + SetDetailsPrint listonly + + ${IfNot} ${IsWin2000} + MessageBox MB_USERICON "This tool is intended only for use on Windows 2000." /SD IDOK + Quit + ${EndIf} + + Call NeedsIE6 + Pop $0 + ${If} $0 == 0 + MessageBox MB_USERICON "Internet Explorer 6 Service Pack 1 is already installed." /SD IDOK + Quit + ${EndIf} + + SetOutPath $PLUGINSDIR + File Patches.ini + + SetErrorLevel ${ERROR_SUCCESS_REBOOT_REQUIRED} +FunctionEnd diff --git a/setup/modern_aerowizard.exe b/setup/modern_aerowizard.exe new file mode 100644 index 0000000000000000000000000000000000000000..f29ef9fe8b62a709a5cd4c0f975961be82f15674 GIT binary patch literal 6144 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 literal 0 HcmV?d00001 diff --git a/setup/updroots.exe b/setup/updroots.exe new file mode 100644 index 0000000000000000000000000000000000000000..bf3b0a0302e46b8a780a8a7be05dac76b793660b GIT binary patch literal 6656 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 XDEER@Hk$J$y9@E0I8HK!|ET>NXEfGY literal 0 HcmV?d00001 diff --git a/setup/x86-unicode/LegacyUpdateNSIS.dll b/setup/x86-unicode/LegacyUpdateNSIS.dll new file mode 100644 index 0000000000000000000000000000000000000000..845d0e3e1ae8aa4cc7ec4737fd82abb4221c36d6 GIT binary patch literal 69808 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 literal 0 HcmV?d00001 diff --git a/setup/x86-unicode/NSxfer.dll b/setup/x86-unicode/NSxfer.dll new file mode 100644 index 0000000000000000000000000000000000000000..a5dfcd42b5efc4e7607209486f3003e6fc12387a GIT binary patch literal 81584 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 z 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 literal 0 HcmV?d00001 diff --git a/setup/x86-unicode/System.dll b/setup/x86-unicode/System.dll new file mode 100644 index 0000000000000000000000000000000000000000..7e7adf8063039e6dc405f1a469e060cd523f9a07 GIT binary patch literal 51376 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 CrI5n_ literal 0 HcmV?d00001 diff --git a/shared/HResult.c b/shared/HResult.c new file mode 100644 index 0000000..6a1bd0f --- /dev/null +++ b/shared/HResult.c @@ -0,0 +1,20 @@ +#include +#include "WUErrors.h" + +EXTERN_C LPWSTR GetMessageForHresult(HRESULT hr) { + LPWSTR message; + for (int i = 0; WUErrorMessages[i].hr != 0; i++) { + if (WUErrorMessages[i].hr == hr) { + message = (LPWSTR)LocalAlloc(LPTR, 4096 * sizeof(WCHAR)); + lstrcpy(message, WUErrorMessages[i].message); + return message; + } + } + + if (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, hr, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPWSTR)&message, 0, NULL) == 0) { + message = (LPWSTR)LocalAlloc(LPTR, 1024 * sizeof(WCHAR)); + wsprintf(message, L"Error 0x%08x", hr); + } + + return message; +} diff --git a/shared/HResult.h b/shared/HResult.h new file mode 100644 index 0000000..d40d3b2 --- /dev/null +++ b/shared/HResult.h @@ -0,0 +1,5 @@ +#pragma once + +#include + +EXTERN_C LPWSTR GetMessageForHresult(HRESULT hr); diff --git a/shared/VersionInfo.cpp b/shared/VersionInfo.cpp new file mode 100644 index 0000000..73fa4ab --- /dev/null +++ b/shared/VersionInfo.cpp @@ -0,0 +1,25 @@ +#include "stdafx.h" +#include "VersionInfo.h" + +static BOOL _loadedVersionInfo = FALSE; +static OSVERSIONINFOEX _versionInfo; + +OSVERSIONINFOEX *GetVersionInfo() { + if (!_loadedVersionInfo) { + _loadedVersionInfo = true; + ZeroMemory(&_versionInfo, sizeof(OSVERSIONINFOEX)); + _versionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); + GetVersionEx((LPOSVERSIONINFO)&_versionInfo); + } + return &_versionInfo; +} + +BOOL IsOSVersionOrLater(DWORD major, DWORD minor) { + OSVERSIONINFOEX *versionInfo = GetVersionInfo(); + return versionInfo->dwMajorVersion > major || (versionInfo->dwMajorVersion == major && versionInfo->dwMinorVersion >= minor); +} + +BOOL IsOSVersionOrEarlier(DWORD major, DWORD minor) { + OSVERSIONINFOEX *versionInfo = GetVersionInfo(); + return versionInfo->dwMajorVersion < major || (versionInfo->dwMajorVersion == major && versionInfo->dwMinorVersion <= minor); +} diff --git a/shared/VersionInfo.h b/shared/VersionInfo.h new file mode 100644 index 0000000..a7bdd72 --- /dev/null +++ b/shared/VersionInfo.h @@ -0,0 +1,6 @@ +#pragma once +#include + +OSVERSIONINFOEX *GetVersionInfo(); +BOOL IsOSVersionOrLater(DWORD major, DWORD minor); +BOOL IsOSVersionOrEarlier(DWORD major, DWORD minor); diff --git a/shared/WMI.cpp b/shared/WMI.cpp new file mode 100644 index 0000000..6ef9b5d --- /dev/null +++ b/shared/WMI.cpp @@ -0,0 +1,45 @@ +#include "stdafx.h" +#include "WMI.h" +#include +#include + +#pragma comment(lib, "wbemuuid.lib") + +HRESULT QueryWMIProperty(BSTR query, BSTR property, VARIANT *value) { + CComPtr locator; + HRESULT hr = CoCreateInstance(CLSID_WbemLocator, NULL, CLSCTX_INPROC_SERVER, IID_IWbemLocator, (void **)&locator); + if (!SUCCEEDED(hr)) { + return hr; + } + + CComPtr services; + hr = locator->ConnectServer(_bstr_t(L"ROOT\\CIMV2"), NULL, NULL, NULL, 0, NULL, NULL, &services); + if (!SUCCEEDED(hr)) { + return hr; + } + + hr = CoSetProxyBlanket(services, RPC_C_AUTHN_WINNT, RPC_C_AUTHZ_NONE, NULL, RPC_C_AUTHN_LEVEL_CALL, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE); + if (!SUCCEEDED(hr)) { + return hr; + } + + CComPtr enumerator; + hr = services->ExecQuery(L"WQL", query, WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &enumerator); + if (!SUCCEEDED(hr)) { + return hr; + } + + CComPtr object; + ULONG uReturn = 0; + hr = enumerator->Next(WBEM_INFINITE, 1, &object, &uReturn); + if (!SUCCEEDED(hr)) { + return hr; + } + + hr = object->Get(property, 0, value, NULL, NULL); + if (!SUCCEEDED(hr)) { + return hr; + } + + return S_OK; +} diff --git a/shared/WMI.h b/shared/WMI.h new file mode 100644 index 0000000..b2507d3 --- /dev/null +++ b/shared/WMI.h @@ -0,0 +1,6 @@ +#pragma once +#include +#include +#include + +HRESULT QueryWMIProperty(BSTR query, BSTR property, VARIANT *value); diff --git a/shared/WUErrors.c b/shared/WUErrors.c new file mode 100644 index 0000000..8307365 --- /dev/null +++ b/shared/WUErrors.c @@ -0,0 +1,266 @@ +#include "stdafx.h" +#include "WUErrors.h" +#include + +// TODO: There needs to be a better way to do this other than hardcoding all these English strings... +HResultMessage WUErrorMessages[] = { + { WU_S_SERVICE_STOP, L"Windows Update Agent was stopped successfully." }, + { WU_S_SELFUPDATE, L"Windows Update Agent updated itself." }, + { WU_S_UPDATE_ERROR, L"Operation completed successfully but there were errors applying the updates.." }, + { WU_S_MARKED_FOR_DISCONNECT, L"A callback was marked to be disconnected later because the request to disconnect the operation came while a callback was executing." }, + { WU_S_REBOOT_REQUIRED, L"The system must be restarted to complete installation of the update." }, + { WU_S_ALREADY_INSTALLED, L"The update to be installed is already installed on the system." }, + { WU_S_ALREADY_UNINSTALLED, L"The update to be removed is not installed on the system." }, + { WU_S_ALREADY_DOWNLOADED, L"The update to be downloaded has already been downloaded." }, + { WU_E_NO_SERVICE, L"Windows Update Agent was unable to provide the service." }, + { WU_E_MAX_CAPACITY_REACHED, L"The maximum capacity of the service was exceeded." }, + { WU_E_UNKNOWN_ID, L"An ID cannot be found." }, + { WU_E_NOT_INITIALIZED, L"The object could not be initialized." }, + { WU_E_RANGEOVERLAP, L"The update handler requested a byte range overlapping a previously requested range." }, + { WU_E_TOOMANYRANGES, L"The requested number of byte ranges exceeds the maximum number (2^31 - 1)." }, + { WU_E_INVALIDINDEX, L"The index to a collection was invalid." }, + { WU_E_ITEMNOTFOUND, L"The key for the item queried could not be found." }, + { WU_E_OPERATIONINPROGRESS, L"Another conflicting operation was in progress. Some operations such as installation cannot be performed twice simultaneously." }, + { WU_E_COULDNOTCANCEL, L"Cancellation of the operation was not allowed." }, + { WU_E_CALL_CANCELLED, L"Operation was cancelled." }, + { WU_E_NOOP, L"No operation was required." }, + { WU_E_XML_MISSINGDATA, L"Windows Update Agent could not find required information in the update's XML data." }, + { WU_E_XML_INVALID, L"Windows Update Agent found invalid information in the update's XML data." }, + { WU_E_CYCLE_DETECTED, L"Circular update relationships were detected in the metadata." }, + { WU_E_TOO_DEEP_RELATION, L"Update relationships too deep to evaluate were evaluated." }, + { WU_E_INVALID_RELATIONSHIP, L"An invalid update relationship was detected." }, + { WU_E_REG_VALUE_INVALID, L"An invalid registry value was read." }, + { WU_E_DUPLICATE_ITEM, L"Operation tried to add a duplicate item to a list." }, + { WU_E_INSTALL_NOT_ALLOWED, L"Operation tried to install while another installation was in progress or the system was pending a mandatory restart." }, + { WU_E_NOT_APPLICABLE, L"Operation was not performed because there are no applicable updates." }, + { WU_E_NO_USERTOKEN, L"Operation failed because a required user token is missing." }, + { WU_E_EXCLUSIVE_INSTALL_CONFLICT, L"An exclusive update cannot be installed with other updates at the same time." }, + { WU_E_POLICY_NOT_SET, L"A policy value was not set." }, + { WU_E_SELFUPDATE_IN_PROGRESS, L"The operation could not be performed because the Windows Update Agent is self-updating." }, + { WU_E_INVALID_UPDATE, L"An update contains invalid metadata." }, + { WU_E_SERVICE_STOP, L"Operation did not complete because the service or system was being shut down." }, + { WU_E_NO_CONNECTION, L"Operation did not complete because the network connection was unavailable." }, + { WU_E_NO_INTERACTIVE_USER, L"Operation did not complete because there is no logged-on interactive user." }, + { WU_E_TIME_OUT, L"Operation did not complete because it timed out." }, + { WU_E_ALL_UPDATES_FAILED, L"Operation failed for all the updates." }, + { WU_E_EULAS_DECLINED, L"The license terms for all updates were declined." }, + { WU_E_NO_UPDATE, L"There are no updates." }, + { WU_E_USER_ACCESS_DISABLED, L"Group Policy settings prevented access to Windows Update." }, + { WU_E_INVALID_UPDATE_TYPE, L"The type of update is invalid." }, + { WU_E_URL_TOO_LONG, L"The URL exceeded the maximum length." }, + { WU_E_UNINSTALL_NOT_ALLOWED, L"The update could not be uninstalled because the request did not originate from a WSUS server." }, + { WU_E_INVALID_PRODUCT_LICENSE, L"Search may have missed some updates before there is an unlicensed application on the system." }, + { WU_E_MISSING_HANDLER, L"A component required to detect applicable updates was missing." }, + { WU_E_LEGACYSERVER, L"An operation did not complete because it requires a newer version of server." }, + { WU_E_BIN_SOURCE_ABSENT, L"A delta-compressed update could not be installed because it required the source." }, + { WU_E_SOURCE_ABSENT, L"A full-file update could not be installed because it required the source." }, + { WU_E_WU_DISABLED, L"Access to an unmanaged server is not allowed." }, + { WU_E_CALL_CANCELLED_BY_POLICY, L"Operation did not complete because the DisableWindowsUpdateAccess policy was set." }, + { WU_E_INVALID_PROXY_SERVER, L"The format of the proxy list was invalid." }, + { WU_E_INVALID_FILE, L"The file is in the wrong format." }, + { WU_E_INVALID_CRITERIA, L"The search criteria string was invalid." }, + { WU_E_EULA_UNAVAILABLE, L"License terms could not be downloaded." }, + { WU_E_DOWNLOAD_FAILED, L"Update failed to download." }, + { WU_E_UPDATE_NOT_PROCESSED, L"The update was not processed." }, + { WU_E_INVALID_OPERATION, L"The object's current state did not allow the operation." }, + { WU_E_NOT_SUPPORTED, L"The functionality for the operation is not supported." }, + { WU_E_WINHTTP_INVALID_FILE, L"The downloaded file has an unexpected content type." }, + { WU_E_TOO_MANY_RESYNC, L"Agent is asked by server to resync too many times." }, + { WU_E_NO_SERVER_CORE_SUPPORT, L"WUA API method does not run on Server Core installation." }, + { WU_E_SYSPREP_IN_PROGRESS, L"Service is not available while sysprep is running." }, + { WU_E_UNKNOWN_SERVICE, L"The update service is no longer registered with AU." }, + { WU_E_UNEXPECTED, L"An operation failed due to reasons not covered by another error code." }, + { WU_E_MSI_WRONG_VERSION, L"Search may have missed some updates because the Windows Installer is less than version 3.1." }, + { WU_E_MSI_NOT_CONFIGURED, L"Search may have missed some updates because the Windows Installer is not configured." }, + { WU_E_MSP_DISABLED, L"Search may have missed some updates because policy has disabled Windows Installer patching." }, + { WU_E_MSI_WRONG_APP_CONTEXT, L"An update could not be applied because the application is installed per-user." }, + { WU_E_MSP_UNEXPECTED, L"Search may have missed some updates because there was a failure of the Windows Installer." }, + { WU_E_UH_REMOTEUNAVAILABLE, L"A request for a remote update handler could not be completed because no remote process is available." }, + { WU_E_UH_LOCALONLY, L"A request for a remote update handler could not be completed because the handler is local only." }, + { WU_E_UH_UNKNOWNHANDLER, L"A request for an update handler could not be completed because the handler could not be recognized." }, + { WU_E_UH_REMOTEALREADYACTIVE, L"A remote update handler could not be created because one already exists." }, + { WU_E_UH_DOESNOTSUPPORTACTION, L"A request for the handler to install (uninstall) an update could not be completed because the update does not support install (uninstall)." }, + { WU_E_UH_WRONGHANDLER, L"An operation did not complete because the wrong handler was specified." }, + { WU_E_UH_INVALIDMETADATA, L"A handler operation could not be completed because the update contains invalid metadata." }, + { WU_E_UH_INSTALLERHUNG, L"An operation could not be completed because the installer exceeded the time limit." }, + { WU_E_UH_OPERATIONCANCELLED, L"An operation being done by the update handler was cancelled." }, + { WU_E_UH_BADHANDLERXML, L"An operation could not be completed because the handler-specific metadata is invalid." }, + { WU_E_UH_CANREQUIREINPUT, L"A request to the handler to install an update could not be completed because the update requires user input." }, + { WU_E_UH_INSTALLERFAILURE, L"The installer failed to install (uninstall) one or more updates." }, + { WU_E_UH_FALLBACKTOSELFCONTAINED, L"The update handler should download self-contained content rather than delta-compressed content for the update." }, + { WU_E_UH_NEEDANOTHERDOWNLOAD, L"The update handler did not install the update because it needs to be downloaded again." }, + { WU_E_UH_NOTIFYFAILURE, L"The update handler failed to send notification of the status of the install (uninstall) operation." }, + { WU_E_UH_INCONSISTENT_FILE_NAMES, L"The file names contained in the update metadata and in the update package are inconsistent." }, + { WU_E_UH_FALLBACKERROR, L"The update handler failed to fall back to the self-contained content." }, + { WU_E_UH_TOOMANYDOWNLOADREQUESTS, L"The update handler has exceeded the maximum number of download requests." }, + { WU_E_UH_UNEXPECTEDCBSRESPONSE, L"The update handler has received an unexpected response from CBS." }, + { WU_E_UH_BADCBSPACKAGEID, L"The update metadata contains an invalid CBS package identifier." }, + { WU_E_UH_POSTREBOOTSTILLPENDING, L"The post-reboot operation for the update is still in progress." }, + { WU_E_UH_POSTREBOOTRESULTUNKNOWN, L"The result of the post-reboot operation for the update could not be determined." }, + { WU_E_UH_POSTREBOOTUNEXPECTEDSTATE, L"The state of the update after its post-reboot operation has completed is unexpected." }, + { WU_E_UH_NEW_SERVICING_STACK_REQUIRED, L"The operating system servicing stack must be updated before this update is downloaded or installed." }, + { WU_E_UH_UNEXPECTED, L"An update handler error not covered by another WU_E_UH_* code." }, + { WU_E_INSTALLATION_RESULTS_UNKNOWN_VERSION, L"The results of download and installation could not be read from the registry due to an unrecognized data format version." }, + { WU_E_INSTALLATION_RESULTS_INVALID_DATA, L"The results of download and installation could not be read from the registry due to an invalid data format." }, + { WU_E_INSTALLATION_RESULTS_NOT_FOUND, L"The results of download and installation are not available; the operation may have failed to start." }, + { WU_E_TRAYICON_FAILURE, L"A failure occurred when trying to create an icon in the taskbar notification area." }, + { WU_E_NON_UI_MODE, L"Unable to show UI when in non-UI mode; WU client UI modules may not be installed." }, + { WU_E_WUCLTUI_UNSUPPORTED_VERSION, L"Unsupported version of WU client UI exported functions." }, + { WU_E_AUCLIENT_UNEXPECTED, L"There was a user interface error not covered by another WU_E_AUCLIENT_* error code." }, + { WU_E_PT_SOAPCLIENT_BASE, L"WU_E_PT_SOAPCLIENT_* error codes map to the SOAPCLIENT_ERROR enum of the ATL Server Library." }, + { WU_E_PT_SOAPCLIENT_INITIALIZE, L"SOAPCLIENT_INITIALIZE_ERROR - initialization of the SOAP client failed, possibly because of an MSXML installation failure." }, + { WU_E_PT_SOAPCLIENT_OUTOFMEMORY, L"SOAPCLIENT_OUTOFMEMORY - SOAP client failed because it ran out of memory." }, + { WU_E_PT_SOAPCLIENT_GENERATE, L"SOAPCLIENT_GENERATE_ERROR - SOAP client failed to generate the request." }, + { WU_E_PT_SOAPCLIENT_CONNECT, L"SOAPCLIENT_CONNECT_ERROR - SOAP client failed to connect to the server." }, + { WU_E_PT_SOAPCLIENT_SEND, L"SOAPCLIENT_SEND_ERROR - SOAP client failed to send a message for reasons of WU_E_WINHTTP_* error codes." }, + { WU_E_PT_SOAPCLIENT_SERVER, L"SOAPCLIENT_SERVER_ERROR - SOAP client failed because there was a server error." }, + { WU_E_PT_SOAPCLIENT_SOAPFAULT, L"SOAPCLIENT_SOAPFAULT - SOAP client failed because there was a SOAP fault for reasons of WU_E_PT_SOAP_* error codes." }, + { WU_E_PT_SOAPCLIENT_PARSEFAULT, L"SOAPCLIENT_PARSEFAULT_ERROR - SOAP client failed to parse a SOAP fault." }, + { WU_E_PT_SOAPCLIENT_READ, L"SOAPCLIENT_READ_ERROR - SOAP client failed while reading the response from the server." }, + { WU_E_PT_SOAPCLIENT_PARSE, L"SOAPCLIENT_PARSE_ERROR - SOAP client failed to parse the response from the server." }, + { WU_E_PT_SOAP_VERSION, L"SOAP_E_VERSION_MISMATCH - SOAP client found an unrecognizable namespace for the SOAP envelope." }, + { WU_E_PT_SOAP_MUST_UNDERSTAND, L"SOAP_E_MUST_UNDERSTAND - SOAP client was unable to understand a header." }, + { WU_E_PT_SOAP_CLIENT, L"SOAP_E_CLIENT - SOAP client found the message was malformed; fix before resending." }, + { WU_E_PT_SOAP_SERVER, L"SOAP_E_SERVER - The SOAP message could not be processed due to a server error; resend later." }, + { WU_E_PT_WMI_ERROR, L"There was an unspecified Windows Management Instrumentation (WMI) error." }, + { WU_E_PT_EXCEEDED_MAX_SERVER_TRIPS, L"The number of round trips to the server exceeded the maximum limit." }, + { WU_E_PT_SUS_SERVER_NOT_SET, L"WUServer policy value is missing in the registry." }, + { WU_E_PT_DOUBLE_INITIALIZATION, L"Initialization failed because the object was already initialized." }, + { WU_E_PT_INVALID_COMPUTER_NAME, L"The computer name could not be determined." }, + { WU_E_PT_REFRESH_CACHE_REQUIRED, L"The reply from the server indicates that the server was changed or the cookie was invalid; refresh the state of the internal cache and retry." }, + { WU_E_PT_HTTP_STATUS_BAD_REQUEST, L"HTTP 400 - the server could not process the request due to invalid syntax." }, + { WU_E_PT_HTTP_STATUS_DENIED, L"HTTP 401 - the requested resource requires user authentication." }, + { WU_E_PT_HTTP_STATUS_FORBIDDEN, L"HTTP 403 - server understood the request, but declined to fulfill it." }, + { WU_E_PT_HTTP_STATUS_NOT_FOUND, L"HTTP 404 - the server cannot find the requested URI (Uniform Resource Identifier)." }, + { WU_E_PT_HTTP_STATUS_BAD_METHOD, L"HTTP 405 - the HTTP method is not allowed." }, + { WU_E_PT_HTTP_STATUS_PROXY_AUTH_REQ, L"HTTP 407 - proxy authentication is required." }, + { WU_E_PT_HTTP_STATUS_REQUEST_TIMEOUT, L"HTTP 408 - the server timed out waiting for the request." }, + { WU_E_PT_HTTP_STATUS_CONFLICT, L"HTTP 409 - the request was not completed due to a conflict with the current state of the resource." }, + { WU_E_PT_HTTP_STATUS_GONE, L"HTTP 410 - requested resource is no longer available at the server." }, + { WU_E_PT_HTTP_STATUS_SERVER_ERROR, L"HTTP 500 - an error internal to the server prevented fulfilling the request." }, + { WU_E_PT_HTTP_STATUS_NOT_SUPPORTED, L"HTTP 501 - server does not support the functionality required to fulfill the request." }, + { WU_E_PT_HTTP_STATUS_BAD_GATEWAY, L"HTTP 502 - the server, while acting as a gateway or proxy, received an invalid response from the upstream server it accessed in attempting to fulfill the request." }, + { WU_E_PT_HTTP_STATUS_SERVICE_UNAVAIL, L"HTTP 503 - the service is temporarily overloaded." }, + { WU_E_PT_HTTP_STATUS_GATEWAY_TIMEOUT, L"HTTP 504 - the request was timed out waiting for a gateway." }, + { WU_E_PT_HTTP_STATUS_VERSION_NOT_SUP, L"HTTP 505 - the server does not support the HTTP protocol version used for the request." }, + { WU_E_PT_FILE_LOCATIONS_CHANGED, L"Operation failed due to a changed file location; refresh internal state and resend." }, + { WU_E_PT_REGISTRATION_NOT_SUPPORTED, L"Operation failed because Windows Update Agent does not support registration with a non-WSUS server." }, + { WU_E_PT_NO_AUTH_PLUGINS_REQUESTED, L"The server returned an empty authentication information list." }, + { WU_E_PT_NO_AUTH_COOKIES_CREATED, L"Windows Update Agent was unable to create any valid authentication cookies." }, + { WU_E_PT_INVALID_CONFIG_PROP, L"A configuration property value was wrong." }, + { WU_E_PT_CONFIG_PROP_MISSING, L"A configuration property value was missing." }, + { WU_E_PT_HTTP_STATUS_NOT_MAPPED, L"The HTTP request could not be completed and the reason did not correspond to any of the WU_E_PT_HTTP_* error codes." }, + { WU_E_PT_WINHTTP_NAME_NOT_RESOLVED, L"ERROR_WINHTTP_NAME_NOT_RESOLVED - the proxy server or target server name cannot be resolved." }, + { WU_E_PT_ECP_SUCCEEDED_WITH_ERRORS, L"External cab file processing completed with some errors. (Confirm that download.windowsupdate.com and www.download.windowsupdate.com aren't being blocked by a firewall.)" }, + { WU_E_PT_ECP_INIT_FAILED, L"The external cab processor initialization did not complete." }, + { WU_E_PT_ECP_INVALID_FILE_FORMAT, L"The format of a metadata file was invalid." }, + { WU_E_PT_ECP_INVALID_METADATA, L"External cab processor found invalid metadata." }, + { WU_E_PT_ECP_FAILURE_TO_EXTRACT_DIGEST, L"The file digest could not be extracted from an external cab file." }, + { WU_E_PT_ECP_FAILURE_TO_DECOMPRESS_CAB_FILE, L"An external cab file could not be decompressed." }, + { WU_E_PT_ECP_FILE_LOCATION_ERROR, L"External cab processor was unable to get file locations." }, + { WU_E_PT_UNEXPECTED, L"A communication error not covered by another WU_E_PT_* error code" }, + { WU_E_REDIRECTOR_LOAD_XML, L"The redirector XML document could not be loaded into the DOM class." }, + { WU_E_REDIRECTOR_S_FALSE, L"The redirector XML document is missing some required information." }, + { WU_E_REDIRECTOR_ID_SMALLER, L"The redirector ID in the downloaded redirector cab is less than in the cached cab." }, + { WU_E_PT_SAME_REDIR_ID, L"Windows Update Agent failed to download a redirector cabinet file with a new redirector ID value from the server during the recovery." }, + { WU_E_PT_NO_MANAGED_RECOVER, L"A redirector recovery action did not complete because the server is managed." }, + { WU_E_REDIRECTOR_UNEXPECTED, L"The redirector failed for reasons not covered by another WU_E_REDIRECTOR_* error code." }, + { WU_E_DM_URLNOTAVAILABLE, L"A download manager operation could not be completed because the requested file does not have a URL." }, + { WU_E_DM_INCORRECTFILEHASH, L"A download manager operation could not be completed because the file digest was not recognized." }, + { WU_E_DM_UNKNOWNALGORITHM, L"A download manager operation could not be completed because the file metadata requested an unrecognized hash algorithm." }, + { WU_E_DM_NEEDDOWNLOADREQUEST, L"An operation could not be completed because a download request is required from the download handler." }, + { WU_E_DM_NONETWORK, L"A download manager operation could not be completed because the network connection was unavailable." }, + { WU_E_DM_WRONGBITSVERSION, L"A download manager operation could not be completed because the version of Background Intelligent Transfer Service (BITS) is incompatible." }, + { WU_E_DM_NOTDOWNLOADED, L"The update has not been downloaded." }, + { WU_E_DM_FAILTOCONNECTTOBITS, L"A download manager operation failed because the download manager was unable to connect the Background Intelligent Transfer Service (BITS)." }, + { WU_E_DM_BITSTRANSFERERROR, L"A download manager operation failed because there was an unspecified Background Intelligent Transfer Service (BITS) transfer error." }, + { WU_E_DM_DOWNLOADLOCATIONCHANGED, L"A download must be restarted because the location of the source of the download has changed." }, + { WU_E_DM_CONTENTCHANGED, L"A download must be restarted because the update content changed in a new revision." }, + { WU_E_DM_UNEXPECTED, L"There was a download manager error not covered by another WU_E_DM_* error code." }, + { WU_E_OL_INVALID_SCANFILE, L"An operation could not be completed because the scan package was invalid." }, + { WU_E_OL_NEWCLIENT_REQUIRED, L"An operation could not be completed because the scan package requires a greater version of the Windows Update Agent." }, + { WU_E_OL_UNEXPECTED, L"Search using the scan package failed." }, + { WU_E_REPORTER_EVENTCACHECORRUPT, L"The event cache file was defective." }, + { WU_E_REPORTER_EVENTNAMESPACEPARSEFAILED, L"The XML in the event namespace descriptor could not be parsed." }, + { WU_E_INVALID_EVENT, L"The XML in the event namespace descriptor could not be parsed." }, + { WU_E_SERVER_BUSY, L"The server rejected an event because the server was too busy." }, + { WU_E_REPORTER_UNEXPECTED, L"There was a reporter error not covered by another error code." }, + { WU_E_DS_SHUTDOWN, L"An operation failed because Windows Update Agent is shutting down." }, + { WU_E_DS_INUSE, L"An operation failed because the data store was in use." }, + { WU_E_DS_INVALID, L"The current and expected states of the data store do not match." }, + { WU_E_DS_TABLEMISSING, L"The data store is missing a table." }, + { WU_E_DS_TABLEINCORRECT, L"The data store contains a table with unexpected columns." }, + { WU_E_DS_INVALIDTABLENAME, L"A table could not be opened because the table is not in the data store." }, + { WU_E_DS_BADVERSION, L"The current and expected versions of the data store do not match." }, + { WU_E_DS_NODATA, L"The information requested is not in the data store." }, + { WU_E_DS_MISSINGDATA, L"The data store is missing required information or has a NULL in a table column that requires a non-null value." }, + { WU_E_DS_MISSINGREF, L"The data store is missing required information or has a reference to missing license terms, file, localized property or linked row." }, + { WU_E_DS_UNKNOWNHANDLER, L"The update was not processed because its update handler could not be recognized." }, + { WU_E_DS_CANTDELETE, L"The update was not deleted because it is still referenced by one or more services." }, + { WU_E_DS_LOCKTIMEOUTEXPIRED, L"The data store section could not be locked within the allotted time." }, + { WU_E_DS_NOCATEGORIES, L"The category was not added because it contains no parent categories and is not a top-level category itself." }, + { WU_E_DS_ROWEXISTS, L"The row was not added because an existing row has the same primary key." }, + { WU_E_DS_STOREFILELOCKED, L"The data store could not be initialized because it was locked by another process." }, + { WU_E_DS_CANNOTREGISTER, L"The data store is not allowed to be registered with COM in the current process." }, + { WU_E_DS_UNABLETOSTART, L"Could not create a data store object in another process." }, + { WU_E_DS_DUPLICATEUPDATEID, L"The server sent the same update to the client with two different revision IDs." }, + { WU_E_DS_UNKNOWNSERVICE, L"An operation did not complete because the service is not in the data store." }, + { WU_E_DS_SERVICEEXPIRED, L"An operation did not complete because the registration of the service has expired." }, + { WU_E_DS_DECLINENOTALLOWED, L"A request to hide an update was declined because it is a mandatory update or because it was deployed with a deadline." }, + { WU_E_DS_TABLESESSIONMISMATCH, L"A table was not closed because it is not associated with the session." }, + { WU_E_DS_SESSIONLOCKMISMATCH, L"A table was not closed because it is not associated with the session." }, + { WU_E_DS_NEEDWINDOWSSERVICE, L"A request to remove the Windows Update service or to unregister it with Automatic Updates was declined because it is a built-in service and/or Automatic Updates cannot fall back to another service." }, + { WU_E_DS_INVALIDOPERATION, L"A request was declined because the operation is not allowed." }, + { WU_E_DS_SCHEMAMISMATCH, L"The schema of the current data store and the schema of a table in a backup XML document do not match." }, + { WU_E_DS_RESETREQUIRED, L"The data store requires a session reset; release the session and retry with a new session." }, + { WU_E_DS_IMPERSONATED, L"A data store operation did not complete because it was requested with an impersonated identity." }, + { WU_E_DS_UNEXPECTED, L"A data store error not covered by another WU_E_DS_* code." }, + { WU_E_INVENTORY_PARSEFAILED, L"Parsing of the rule file failed." }, + { WU_E_INVENTORY_GET_INVENTORY_TYPE_FAILED, L"Failed to get the requested inventory type from the server." }, + { WU_E_INVENTORY_RESULT_UPLOAD_FAILED, L"Failed to upload inventory result to the server." }, + { WU_E_INVENTORY_UNEXPECTED, L"There was an inventory error not covered by another error code." }, + { WU_E_INVENTORY_WMI_ERROR, L"A WMI error occurred when enumerating the instances for a particular class." }, + { WU_E_AU_NOSERVICE, L"Automatic Updates was unable to service incoming requests." }, + { WU_E_AU_NONLEGACYSERVER, L"The old version of the Automatic Updates client has stopped because the WSUS server has been upgraded." }, + { WU_E_AU_LEGACYCLIENTDISABLED, L"The old version of the Automatic Updates client was disabled." }, + { WU_E_AU_PAUSED, L"Automatic Updates was unable to process incoming requests because it was paused." }, + { WU_E_AU_NO_REGISTERED_SERVICE, L"No unmanaged service is registered with AU." }, + { WU_E_AU_UNEXPECTED, L"An Automatic Updates error not covered by another WU_E_AU * code." }, + { WU_E_DRV_PRUNED, L"A driver was skipped." }, + { WU_E_DRV_NOPROP_OR_LEGACY, L"A property for the driver could not be found. It may not conform with required specifications." }, + { WU_E_DRV_REG_MISMATCH, L"The registry type read for the driver does not match the expected type." }, + { WU_E_DRV_NO_METADATA, L"The driver update is missing metadata." }, + { WU_E_DRV_MISSING_ATTRIBUTE, L"The driver update is missing a required attribute." }, + { WU_E_DRV_SYNC_FAILED, L"Driver synchronization failed." }, + { WU_E_DRV_NO_PRINTER_CONTENT, L"Information required for the synchronization of applicable printers is missing." }, + { WU_E_DRV_UNEXPECTED, L"A driver error not covered by another WU_E_DRV_* code." }, + { WU_E_SETUP_INVALID_INFDATA, L"Windows Update Agent could not be updated because an INF file contains invalid information." }, + { WU_E_SETUP_INVALID_IDENTDATA, L"Windows Update Agent could not be updated because the wuident.cab file contains invalid information." }, + { WU_E_SETUP_ALREADY_INITIALIZED, L"Windows Update Agent could not be updated because of an internal error that caused setup initialization to be performed twice." }, + { WU_E_SETUP_NOT_INITIALIZED, L"Windows Update Agent could not be updated because setup initialization never completed successfully." }, + { WU_E_SETUP_SOURCE_VERSION_MISMATCH, L"Windows Update Agent could not be updated because the versions specified in the INF do not match the actual source file versions." }, + { WU_E_SETUP_TARGET_VERSION_GREATER, L"Windows Update Agent could not be updated because a WUA file on the target system is newer than the corresponding source file." }, + { WU_E_SETUP_REGISTRATION_FAILED, L"Windows Update Agent could not be updated because regsvr32.exe returned an error." }, + { WU_E_SELFUPDATE_SKIP_ON_FAILURE, L"An update to the Windows Update Agent was skipped because previous attempts to update have failed." }, + { WU_E_SETUP_SKIP_UPDATE, L"An update to the Windows Update Agent was skipped due to a directive in the wuident.cab file." }, + { WU_E_SETUP_UNSUPPORTED_CONFIGURATION, L"Windows Update Agent could not be updated because the current system configuration is not supported." }, + { WU_E_SETUP_BLOCKED_CONFIGURATION, L"Windows Update Agent could not be updated because the system is configured to block the update." }, + { WU_E_SETUP_REBOOT_TO_FIX, L"Windows Update Agent could not be updated because a restart of the system is required." }, + { WU_E_SETUP_ALREADYRUNNING, L"Windows Update Agent setup is already running." }, + { WU_E_SETUP_REBOOTREQUIRED, L"Windows Update Agent setup package requires a reboot to complete installation." }, + { WU_E_SETUP_HANDLER_EXEC_FAILURE, L"Windows Update Agent could not be updated because the setup handler failed during execution." }, + { WU_E_SETUP_INVALID_REGISTRY_DATA, L"Windows Update Agent could not be updated because the registry contains invalid information." }, + { WU_E_SELFUPDATE_REQUIRED, L"Windows Update Agent must be updated before search can continue." }, + { WU_E_SELFUPDATE_REQUIRED_ADMIN, L"Windows Update Agent must be updated before search can continue. An administrator is required to perform the operation." }, + { WU_E_SETUP_WRONG_SERVER_VERSION, L"Windows Update Agent could not be updated because the server does not contain update information for this version." }, + { WU_E_SETUP_UNEXPECTED, L"Windows Update Agent could not be updated because of an error not covered by another WU_E_SETUP_* error code." }, + { WU_E_EE_UNKNOWN_EXPRESSION, L"An expression evaluator operation could not be completed because an expression was unrecognized." }, + { WU_E_EE_INVALID_EXPRESSION, L"An expression evaluator operation could not be completed because an expression was invalid." }, + { WU_E_EE_MISSING_METADATA, L"An expression evaluator operation could not be completed because an expression contains an incorrect number of metadata nodes." }, + { WU_E_EE_INVALID_VERSION, L"An expression evaluator operation could not be completed because the version of the serialized expression data is invalid." }, + { WU_E_EE_NOT_INITIALIZED, L"The expression evaluator could not be initialized." }, + { WU_E_EE_INVALID_ATTRIBUTEDATA, L"An expression evaluator operation could not be completed because there was an invalid attribute." }, + { WU_E_EE_CLUSTER_ERROR, L"An expression evaluator operation could not be completed because the cluster state of the computer could not be determined." }, + { WU_E_EE_UNEXPECTED, L"There was an expression evaluator error not covered by another WU_E_EE_* error code." }, + NULL +}; diff --git a/shared/WUErrors.h b/shared/WUErrors.h new file mode 100644 index 0000000..e077cc6 --- /dev/null +++ b/shared/WUErrors.h @@ -0,0 +1,9 @@ +#pragma once +#include + +struct HResultMessage { + HRESULT hr; + const LPWSTR message; +}; + +EXTERN_C HResultMessage WUErrorMessages[]; diff --git a/shared/stdafx.h b/shared/stdafx.h new file mode 100644 index 0000000..e69de29
  • }P3(7hHOybhXLyen8>7&a1F zOsXGq8D`9l$fTUG{s$;!o3g|u=7Ts)K+FhlXuUt7D?8wAP-YNge!+}A843F@B#wMU z7#Hd*-E7`mMb00-@P+YQ5uMla62LeGMiU1y)P2>SkH^3>+49>o$^)@Xd4wq)Fx-Y@ z?&1J-%$#N@dv|xOdwyke2pfg7C&*M53`X|Q#!0aB=sax2^Qj&kOv}kc`xyE(1_Sxc zV0V5gW*dIhx=&=zST*9b;hF^AuO!=gaYU#xb@w2=Fj|2+hgP7c(@sm&Q}x9MlMUKf zgFHkT|D-ZahbY}n4w5nJ-HMM~{~hhR>{Qtw@^{~q$D_M67r)zuZvT;+Wf^LLd~!sH z8Ehs4U6hTewm)lBfp?C~-xquyackrjO_f+21jK-Ayx>m>ifW{pyi`NraKy1KKuqav z4eCrVZK$+5xQeWB{Ox185ATWd{5Rc6Z61=(IOomIMnbq%D^Na09X =vqT*P?{0M z>$GJ@q%ixKE-$8#zwi~!-kibjinPPWZ#g^y8&{z)(gQ`-wqKv3xr>HcO~N-qKcE?p zBr~_VAG3KZEXcPGd07O^NG`vIyHka~G>zR5nLZbldr86s@3RmkzQP1!9cJiVfbQ(A zTVu|3Zf$6~AoWS46oUvifIqbqTV4_g>qp|Jz$YUq;wh_p;J^jvY45x(eFElF9iE5- z>k$Rbgy0-CMD_xrjJ25ttakU#=lNjDsX0D{xEso?mvEJMQD@H66POTjkN@@;Pvq6I zQn18dgb$m;Nvp!s6bTDl*fk$0S*^*LQP%z&u4zIi+n=h_ZE59lY!?mxCkCLmXg)Y# zN)>$aXNqQ7#yu~LCi9jbT_2&Csri@4b-VpU?fWvJGhQFSUP^+7vuQK?le7dpYwjTJ z7LdWW|KXwGVi!P_YR^I|I1!xlXB^QATMUPD_A{~yG1>EM!PX#uTQ}wn{_D#g+Y*nb zyyfWRKG|*1uM@j$(QmB_XZ&JXo2dnbxM@e9sS$#h!%d%E0xevDt2|E{r8Oo>2&^OF z5-?N(Ho@cmNA-yR0wo4W68yg3W)4yR&Aewecd9wmvjaUy`G6*k(TMNQlh^E2HI@MN z-+=m|bg=(?R$0OAw3k(yvK#D(m)OT&k6dI3)y@HlyM8hA64{&xutl-BV=BaPqawvy z@SFGTxw6=ieJbid$By1XVZDt6bb6J8ALn_^kWFJ3Vgjb)O0@)O^)l7YQepAYZdQ@s zJ)@1!x2{4H^lLvErqk&p$h62FDXRmKiRs*!&$6A_YS!#H*OLi!y3K7sP-4+i0PO;hxs$YztEq68Uo| z@lC%zVxt4U(^YO(B@N34NYHL>xF$znR+!MQpm?VtD3o^Y5> zh~xv(K^gLX3YBd^6BOoh7jNUMFM&l^l~({=W(5{-1*xC*k;+-a;(qd>=FR2Uj+=z% zdt*(oUe)-onca~kl=4nfVbxPuli``#3>n9R zX8zP74WO8ZW4z2UmOmt-N0b9qQZHJzTHH34zHa`)z@t8S{F>&zXMGCR9e#G?Q@;h;DfBc{ta zyyE!cXQRK@c+(P`|zWn|Sv)OXL_$D6ECh~_6#GtYOv5JCIam`is2WNK@{KQKm@a_ZvSVs*Qsz-Nc!wLNIt?KJR#%-#4vSb(rG z>%Qge>OVKc!vl0Y%_VMVMqc4_|{PsH=ShirQ4DNFjSg z3bLiE0rvv!=Pn5FOcP|CXr~>E(1qb(f7B+xM9kyDYXz;<0ulgMDyD3 z5xoo5_!9|O*PhI^X{Hxj=7l{6w3;UIO#3c6y+RPWUcwxoZr=(ifmG}aBN599?zd}rD0U~(UD>f?pcYPPi?gN2mqU}zF2#qk60tNb>6u~g{aF~R|7`40zW3S{=@7iDs`D*{3$3E?x4%x_)|-GXLQqu9o+r zOH6Bn(ADX|b``q#l^aHB?BDekm67j6b5+0(7;D40+aGm~@<+I@8sYMvN1J{~+B>61 zn?~ykan;Z!WeXCRVopHxVz~}M=@f4u1$36u^Z2GGj+;mMeTDOR4068J@;+#|$+;US zuKryTSwlTFrRiqC%(^x$S6F-}F*F;honqt$Ag!ve%mTB`1$Q#n9;1(tNVQW^G@wY) ze)`-jM941G2#Y{o7Ztjb?z?2Vu;s#YQOVuD$!mk)V6z&9(;v;Hydqqs@hay)8_3hw zBKF+itck+T^_qai19cpF?>I~I?1C<&NnD_<-yougNb%0DE%F0vMDV03LX3I4vg`>Y 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¥9|~H4Xms2 zI_#rpXv=56Hzrf05BcFcUgX$VKk%7#B_ow6AOjHkT!dk+fD|cC4a7GN2@8nXNPzya1uM?HnL79|hUzKCN!{9$Ab8So7&L`~U)Nw6hpkSR58 z*0^O1d545~fD>eY48mSGAOiDdDtvG5Hp54{p8Mm!MY~Vx?*|`&cp46qbfjcin{ai0)jGU(B>p$w$&S_@$-->rlo7;lxa+$~ zhgAecb1Lq2?Y+?6kBQ{X$PRd8)t!9W^T8{oau=yV5d~n!1oF>@-YKj%5C=Hvk$(&b zy)FjH3%ZoMIBcaQQz2w#@H*C|F{Z>VRGj6|pl`>Yzm#zpb(tt^=;AYEGV=g}#p^mE z-Tn6MiO&`Z)m7ck@V9?tm@BI`R8cI}^!<5&DT8NL5X2w0StjQ!c2>cMBPbl0CS zMx`;pcqg0p0pMP9*Z9wN6YXXcFVK1+;JVjg*p~z}h9HNFwh}f&Ln^9Z60zM{c4=w_p9bNeZm3Lh({)*K1{YCtgbVNA+Jhr2lGs^4m9dgD z*1+J7S%WKV_k3`ery>Osq;Q$EtpwDx@-AW-hpM-tT^lU=8uasdt>`%Em|PhyRT4=h zuY4yOI&HKRZ{kQ9w`^%z1Y$WzQOuz#RSR0smKb#xCBk#ls2ueawnZc$e0zk<$*XWv zfg6yDUObwI@LJQOo?HuHq6|h$r%U2X148ibeX;R=^*zkpN0?bj6oyfNrG}9lQf*D{ z+g+Eoj;&JGF@6ots5hiFhAqU(8yYQ&nxegmCHya5;x{vvgB1hI@lYQ*DhbwFwrH}>N+fwh7?e%L`c_l-mskj^F0>d5e(@7|RFj_l z8uDKn?|!JvPfM_ah(@m^l*W-upE2}XB^{x5&V=d%0t})9TTr>pQM8dm?7b$2Ukta@l_3%+u+GQ*%X&_^8H^6_#EL=d+iEs=f=H2_0kRl1WaUV zVCKSY`cwi$F|+GZ}(SFX{AQdsCnIScl5@_>>_s+or{xd$gpqT)=X+H z%PHrU1KFvSc_YF0mUB$LUB*kY-9*+nXDV?gIPyxU&6QZ!WO)O6pI zGZ~iEuWlKN z7&MkKzk!k8EcDM`2#>IX1%5K8N0``R$cJD!z;C3PfD*_K%AZM}0-?|2JYseFwiPuMq@NObVVne=Q)q#8$;{M!6++`=MZPeCtC=jzb zII=c2V@``ccg*8NL(?f5LHN#4O^*IO(%*aLmtizSl_1tyO!Xq(IGVTs=a2Bws0t&g zL;p2VEj^fiTW{SIQ${n>x4T5eWpQ+p+>YJ9$&M1ml2s4uytTb@!9~epM=_c5hdpFX z6McP4cRiur_JKxy-?lRSTw>=k6f)kkQ06}+9WEO7YoS-k8}YKAqGU`WO&#k}D%85! zXj!q_ONHPJ$F*aFq2-f!^;t;tTMm_A!W#=QoA!+KN(E#oIM5rRc5L(`V$>8dMX**f z&Bib5H#szFG5?)ArmNBc5dAhWeV{?i*kL}Gd^|m7Xvf&He~X-;*E&M8HG{ItbHUU2 z?J#AVC{zP|4+FsT=RAof&r?-(d#bDBcCl{Uo!AHPFbYj=`$!fIr~B;GmGigsLzXLi zvK15d>4XL;i=`_5K&B}r^_ISR1GaULSY;3Qp2pw|_M8_OYnM5_yehy{6gs(;6Y-J! z|Dctxv^ltUUGyRWv&3~VDDE;$#%_@)iw=7x2~iDLXV(MZ%e1TyuN7i!M?~YDWK5&` z9=T5d4bTFRM54Ti2lqF zumlcRUz&IFbelRb&Y2)A$k+V|x;5#D=t!UOA`eN;(}d{*LlW9mY9^mEbHxRD#CI?L zlB<{F*MGTzRfXm=ZrCN8`#o^=)1Wxlpa(2z3m}qLy%=Fb@cAW|Pa5MHcf!AYD=14r zP%T6%gr;3wV(U0@_yBru4E)Zx$szN*ywT+{mNGSEts_l?S>3tZwl#hadm_i_?dJSP56B!iaZbZS;52OmCsf}tmlKS(FTn-2dzjt!C!Z{g% zT}1d)M(d?+=lcV80M=N+cvW%IA1lC+;Og-f=sQ8w_9Gq|3Lp zQXx;rQyLCZB6n;Yjhzjc*hsv~Q_F5wa7d|1#WZU=u>A-lnNIk%fxk_w;{1KE^rSl7h|MmB! z`J7|saq#haj4=eAticQf>!B;hJg~n?ZdFZCaq;quu*+z8gfz`_F&_tyfHNkBNRT5{ zie;V9Vm?4%HpUlNcTwTq@>{eR1(HWM1A5enysADfV}LxAC>#tBAn$Ghz{^j}3ih-) zAJJS0KlsAf4N?6wd18&(?Zk zF_;nAJMg^g#Rt}FT(Z@|W4mEMX0_8G{8-Iud(7-(XyE|QoL^Y+tts|$1rNz$LXJX( z2JYNGof0m+F=?aL@mXl9OveNXTJV{DJnZpmnvfVoackl;R@E^8eMknucngM*qXwzu z$oxv)8d1OEa<5&0&W!q$dZc_vO8I zce-l$Xd6QaqZ?XI;I>5ihL<3TgUZdrX?KZZmJ=Np70{`&cGn9&dsX=3&O4f%_n?(G z^HwTKZjeo^rvw~wF%-!nEP^AN^1#^0hU)gq*KC}4_l-EBacP2zJoLN8lkmA(iuZ!f zyPz*2$Psi1v8v!(i?EPdBT;U3VOgGLS@gY!=y}w5d0M|HfMD9H^rUp66ww1!RaYL9 zl1Q;x_Zdo-9UwY{Mge!K5_hclgns{S%suB8+xXQUyyC~Kjf93;b~BJuYE=x>%+%qs zS-+5^U}nrf104WP=<^wu60w5ZNiKJm5hF7-r~y4%B8>{J(A)3!R?7`2$QB6*&p>m# zw-ODUc(7$K=ne-o$Wyny$6HxvR~nwP7>w(s}u1+ zdM1vTCN91B@`7TJO>X%1=FKgDJ12cC^RsdRuW|*psU0Mmx?|<0g^ny#i4vosJ(g60 z^mQccFNG^GDMn!n7`$78^iwJV=}5aQ93{TM`%(Ex{mwjXOhQg-+C(HpCdBxXKXtZU zj)1dxwCy43g)+T}eD;noVLOj4;S=cM-EI+loGv6GN?zY#jbZ=2ffm!ERO=igE#PC! zs-R;Y;wKrqOE9Wix7dApBIT|3TZOwr-(9UvwLqx`6li}>Pz*7ET8e_NfffV`qdPs- z4G)nF*ngjIZ*BcZ)&9t2Fjz_=8O6{aj``mZq}y>mldG1xEoI@W_vt#QtH-+zec=O* zTk?nfG9z>j77=S5!6@;1JIm)b-fd9pxYuNwU$^a{fQ(iVq;ae#DUj}J{PcGU7xL6E#)HQRr z+5|>~|KXGy7}<>BjrB5$Etq0A+;3i1A^`07!* z9^#_WN~ni4LgcS}_jiWC923WLxTDS%6KsttJi2Lz=J)l1I6MOQoV?gzU@1ZX?T^f! z|MOm+4x{OP5Q5^$vGO~*z{vw754Rg7-PZb9Lz3X}|(CoixiBqV_!fNFf< zd$Ml{iCP^QxPZmgm#RRx5}KcdkGJ%w#X`64!+(W0@GW5`VdL~k>AeI7rfGkVGtK5o zf&)}JhIqY!$kT5o)l)2hh+m1M9x3gZt713HyDuslh3z<&^P(_R@@HJ0lXzzeXG6yr zVQ?#GG-Sc&fse2AC?{2j)LGrg=j%!+sf4i`WW$mn>Kxz3odz!WexXvL5yaGd%B#R4 zZK#(#nV!P{+4a(#Ph@#G;>gfIHDyR_f|1A#)x{+BDxem`L9|WgEE4{oX-u+L2<8$4 zjwdi3+(pSSX=zhOZtGJ;k^vmd1&+saEkeg5j{!amt{gY(z$Nc|X1wRlcx7>h`DyT5 z4EiB5Ij4*$afhHW*{MTm%o03FCuGeGB^777N1Wl)ZpYVeo-(Gw($%Oki0@4)v9QLp zD-JehuF4lAM>qq=y-C&6R(Ba1WOj{3F`~TTxogSb6(;|;_@AOU8@>~rp9zX^AQNM! z!k^}q0%Dl=DmoN)Or5+&z~H!?88CKub{2UbslB&Mny~y-P1_rFqx-`CxJJ8n@oR#S z%zmnK?d#i**6|)qxw%*Z1()o7>)XuSg=Dtvkf)_sXg3ooZH+dCAn#*bGQmYwZ>i~KD@ZqI8hMYgw!a?y_b!>Ez za;^|eiJcAz@^WU|Kp#X*ujMn{M^b~TbH+Rc!(=gGa0lj6zi)P6H@I&ppi^d8*Q3*p zi;1-Civ@hHf!TE1AZePO83fbCl|MZQvM~(q@2A2g#zutBLaERHG3C`vD*QK)I_Xglj7fawS;TuCHnl@VKy5r00QcUF(?8_(V zA3cB~r^O((gi#TOX04nOk{qoAqq0;){mo7^S)_hu!*$0{gClGUPv=ue`iv8Rdhhcy zRk7+6FzvT>^+Pw67KVbi&%iQgYzw+X9RQOcE-X>jZYf^34m$bMYh5s1T>xNjvsVTg}OZm1=|1tu-rj4{W=B#=ZX zx)iW@Cqh^(%e&Y`nFZC7KN<4WGgQ-hCrd07CO1viI~9E;e9AkmYi5Ein{WM85cQUo zK$>LP8-mtqG*Y(=WvP)b|IPgTZc+^MO!tKLc^0GH{+DpD_UH)Z_x%=yMdEd+naiyD zgUu270*Ss#yFm&0qK}SDvO6W##h&LytaTHf;)&;Xp7dhdTTN$=(rI6WANewKpVf%- z+OyjKSrNVnr7Au!F?Z=it%#SPgIp7wtV`L?I{I^??kU*nD*;|ib_0`XUx#=% z9W9&J!^yd)OCY1LpMgxb$FLT#{0^-#{@Z8q*mEOP?8z2QL}f8P5U7VE$v-pFcUl6c z5C;meDF6B{GCz+eRC>+9u{QQ`D`7u>?d-dIVN$7&@fN!`vGt!Jy>E!dd*-Tjud9Y$Hrsi{CXi{bbI@vpdEZuTZYv?8JC5`xK*$|5@Y77f ziS9~2`&SkwJScq7@mz@zIVHRtUWklQQ2C|uQK4kpo^nI7>A$XCcVW}cE=yW$eHHfV z@@Cu(7Rv(CZ<8DXzvXt!MfDYLUVmy%GD7Ykc7c?*I?{92U9>Khuk6{a#3D)=eO!$p z16Rvd!$eFcHiHtpYMi^uehO8jr!Q57BfOu}zv1=EyOot2MzTXg-*k-i;_nrm!y)k1 z0RTf>AFcn5sPyT&x7^#US`zpA0{&O9`je43D>2_@*Y#`s(tTKX%b)!#`KKTq)U_TA zpW~~GYk1;HI96mQ%!=(mV$HOnyc^OD<5^BZB0AMSbm|^7b=yV@|r05sy`Vj(=FD{=?5^TeJk$?36*=N&C72Z3P0Z=WA!!J}<@ z&HeV;dEOR9M$$N#3QySqhP&s*>22|N>y<1fHw!4C%-1Yo2YvAI`0i-w`EEAgqLGFer&>L*lhGh6j-EOK47evZS)87m4p66N&g*P`dh^6B1fHG+K< ze3}A!5pVOm!{Lag8<-y<$Y0;$$F zNr;Yav)He3z%^XfNkZjfTH$S3Kz&1Ka1wAwE4YkR2ZZz30^nkAK{2J8m(Er~I(rOL zbof2Gdz(TLJ@;GY5Qq>?228@kHO;TKyn^9|oEs4{miiG#M?a<}@mG)|nQL#nkl!;B zFb=De**e~>N}RA$k!TnrbHRe5KT2tu9SsHYiNF2L#B^uuKCC1y`KrH z;?`)?& z)Q)%eMpL}r6+%H}dmn`t3B);sM?!q05LHWt{nU>;)9(2&6itim_f?SQ4T)=4z!qln zSWWD6i2{FjSq{7Jtbf09-!evRqa-z{BUedp27Uc|5qUY@EkvA5P)m zQgBnuUyy8lO?0mI0Gpz0UDXw4r5Z zGajMl{dd~MzI64Hq`|Wgn(Mlez=oU5(wgC3T8^@golpANI&J7ix`8vpPme4fi#LA^ z$s49@GFstjgv&WY{d1K4;Gk}f==|=_3|>r^bnN?`Rgdzocl*{&3nd>`0|4h=xZB^c*8cm0-+9WgGroc$H(?})_aPc*GiP@k zKdtLAZ1CaTb_-_tNLYiAfibUmp2fU2qEc0!FsOsF~Ei{J(iWYFGgH_ zhvEMhw4qg$x8zh+aw^HnfjM~%2RUYPJxRr>f^Jo~(QCdoq$m7ilLPs?%}3y6JD2UC zA}6d_^tj7;gnnuT0|Wnjh_wllxwf5t6D16;rcA}+GJ1A!Uh}XO*7_Q|@KeeGd_h~JGiKIE_lJSWcjW_;M{KS?PCuvgZziO4KJOc{fi z|4z&I$$hn7YQ}7zUDV>e)4%`^de%I^g$0ZXE(n;Qb=jKY92>pP!#?J?=^L!Jc>kKt z6=Uv13?5@mt;# z4=sFj_i*rRiBOJ0T`q)L9|_u?xdz4&J`hm5(~DS1eR`tKbH?86Bh)4SZkZ5@K13@teltb>ZZvN+?vfI^M5hZtFvWkHS2tioCtlUP~LKXlq{BFOd4&r(r`-2`tMwt8+g$x zLtbTc8>YfElgH7@wf(yE#%in~lW1w|2||D6RP$a8L`k5Z^H(xVHt{HanWUQx9QHC! zp)cq#G)Bf2y1|40VSk|wp}J-3I^ zdfi-FN(~ZE=TZG|IMXa3#B|w4GQdkQp{|k%d4`)eVjZh)TbgUH3+M^5&FK zT?}ydFvMu~rh)ZRQ?qEKZ~$7eu#2Z)kM8NX(o^mATxep$Wl5uW=NY3PozFM!5~)H) zFou$PVewa989H6$3RAGz)gJ;hw08~nj};}~I1_aA9qZJdaW%RQN)!}VHpb(DXA3b> zMe+vIWYG^nIkEh}euM{*=+u{QDgPeI{nCIlCXeUwm%^aP}&9@mQhu_O}AMd>cZTf?K(X>aep-yCN*vmua-o=%Q!6W?;ypiVJar|Mh zcwRZ%1u)K?9G1P@XanUdJH0+}ZZ5tKMAPYq?xqK>cEGsqNaC`Ypa>&FskD`*I`y^U zRRP49N<@mW?QgbGWGWwwD-^9|dzWmNu>NG{8-~aF~$>^`Jls< zYsRwgtSW4AM;BLJbKJ+Q+4~dw2`uw=GSF{**3NB%!UrM)zXk)LhqtMXP=+qzw}_MC z*&m$p6ZNw2B-05WOm^8srWX!rSI9)s1M_QU7#+j=u<;}vbw%T?-FyrHw`ME6H+3cB zxbSTdb1JIQ0Qml&>yjn){Of@vK!A?s~yg3mkQ(w-j7Dg#kO^O6UQt&)KBfeBq1( zn^3Kxzl<58BThHL@jh}H_4T{!4EiZ}krD4nZB#F^rl@6AX7HEM0 z=p&>cZU=$(>Ldbo!>O-ExGO3_)G8q|n=6*IbGhnl^FvfrD1gIn4O7lY#8QtRB^M$F zO^RYzS_wtWV&Mv={x3a+sHe}dbTrDn|HvUS+L>pAn=L-Gcl3=98O2IdXD5N%DSu>c z!l-1J?hqje?kC~&GVL8!$jGVdk7ksV>MKO7n3UB#sUBLNGqO6|sZJrA*VEP>=v{Fh z+Xmu%N#9A@F;L-8lRj#cLae#@2SQjP)>X(YBQ9!^3?|w6V<^`)Z6ymt0nskn>I&3J z9~cJj34`3^UZ-EEoQ$J%v(UJ-6O+$Z`O!?th+5}Ey%o^Hmz~E0i#CCtD)Y7|8%aD+ zbZc1L0~D|Exk6p3;5w#z*Gxu#$N+;DC)tF z>>R%pd0G7J#LKIsKbZ@UA4_g8u2*@Ru5+=e0lo7Y0PzXc-< zcneDR=wCUdfYl`!hr}u}nycBm_&y?8krf` z_(DeKmU4YBqwEH07Na4>u>~vfDo%?PJXt6;tusz}W{`4b;wI*KuxFgwpTXE1Gft{C3nomNzjRjs@P|m(m_|1-&D5b@%5@Yi&#d9Azk~`A7%Rx+ znfGxO9ehI z$Q7b`JRJ4Hy_zKMg_D>E)A4w3`S>0!_qY4TV~KDRjxaC<9~dYDabDDu^el~f?QeEq zP+^~wNU^;k^>{ScZ%I3Cz0j+cjqDx0t>>_I)2E?zY+~+b<~u~$_Hpv3gb+uPmg09aX6^+q3!Mic z;9RAf+CC8hx&_*r3PFAvU)X7jfFuv2N6*I!DTd3HVJf$|r*}?KRj~!fZ!CdNuHkn~ z&V-0aX6_}YAZCXW@7wf<0*5!Jln^bOQIBVh)cK`p6r|2awpLaDg>`sf3VM*`9NMk& z`3ST22VdQgn_RPfNo!S;>O#RqT~rA|cV*j>CG_w@;N0s4r8v>oI16y-^)pboJ=()O zM`PrO@}&AUK$+iK2Jmn%C`H^A@5$biw~vqI;HW*rTHC09rdg5=vW3e3j2FRL>#0gomX^q)A16!cl_`iW4>)slILvtO=j& z3vM??srAnm%gzwTvRz4s)~>GF9#$1CUMK?$3KjeVt57op#-}dY`JUuzo>9w*M~5$- zIvEQpx~+giLA%YzkeMv=otC=jh$a(^<`i3QKcKkj!k3rtv5+_9l6|5A89~$@ftL!* zTf6VYku*tWXXCC}i{28zFSci-(9Y5?W{$WBe6pf=a;5f*aeZ1iZ`uXb${*s?PD8!K zLhY*!-7naex)d5H2jJAbq6^@wp9Bc6#wkYU%SQtjeW-wP4NsU@1f%^_(*wyU7>&tViUKHVlL>Ow-&Vac68{{^@{(UICH}vOjomHAJeK<~9T8dG zGROow%kCJ1th%xJ`Tv2=Q3;ioi((D4B^N}=4Haoi(RN*GrlZX#eH3lAy__-7t2mr+ z2L0?x5p_uZDpx^h9tPSI`Hi(^`wLx=vLQin{W^TB<+5-`1SA7iUe;p@+-0olfO(rC*}h;g8>XHA{*NpQjb&c&*tHvVxbt7@61B9I${cf+pdE4ra3IuX%G!@B!%d0_Kww?U|Pm7 zy3f9s0R?#Cn)Rpys=IfAsjRl%V`Nj?d&UU=Ne)gElU2;w-u zW~oegvF$oXa-Mw2b2cQDFh=h4`@?B2LOM04J3Ch3&Xs7l5EDcO)3|>V7Q|1qJb+pq zTf>MbEq8mmW6GfcfAIhC-s{Ofd3{2_eHYIY-Y?A{rsik&V*pCHzIQPE<6ZcwfmCN- zr0ip+1provI2azqH`1fMgt6m!wd*`1u!bDO!OkfeSl~e;p-Iu{L^gz=DA$iFkyGNt z1&*ni+dE0PB2P#@sO{LjNXzQ&LS}3NZ1KVF^PESWda%?9Ga30h_0ClTc^UN)`<1G; z%o@p|MXdEb40OG#7msmbK;NDZC+kqExRvQ5fs?n_d)v5C(;NQWY1in12$EA;c_#ML zO8KZfNg1J0c&1lv1_iJMp+rrHPAsa%1nY!SI}`P_AXwv3v2|`{By~Oj)FB%y&(y`0 za~Yl0vsSx_xx&Jsw0tYWBPjFRmt!E|Jhn1BFXTOK30MRn)6^~2M>zUX6!%qfXG@Fd zZAx2NxS5h3WdEtF#zv*^albjpSW*3(;Edvr&5|a2ZRC(Ydqz*bNiskWK^j*F zsH%t4Q@`pA?rVh>D~tCq?!pyI3+$hWr`51#06{>$zqw&vYRiVWImF|rmJ`ZOt}Z`J z1IfL+CAr;$d&v{X*jA(b(!y(st~iaKf8Tk^F(FZ?y~HVh+J+k&S0B-kW(lb$S2Y}I z#(LQ!SkhSxof)fFqjs`{D3;BgjyY4<^PsE4$o4Gdmlx(2kmkb|@gf-rOP=}PUOBu_ z{mXNg8ZC}2cDQ+fmg=3@n-|TE|PQ!orb}b*2dXM zov}cm8Lw~uZjegaX-MVL+gYIy2yfkw|Xb9u7Hsbh%5rPda)oK5-iHk%TGuN6H^Zajbe zXJkn%Z|GiGmzmldXJechvL-+Snh1&`m(&yO(&(_5Tsi%_%EvNjEHVb1Bn-CpzRMOo zc$jgTo^LDy1MGL;JzNUqncXwv0s;|2-s5+tLGp7r*jKUb1*n%~!^U3mXug*~9RPwr z56DyrEEyrCUtoXK-O1X0)+jAgZKkBG^*$7J{@zo?7kbt&;nrSjqvT??Reh_|9x}~s zVp!P4|L4LD43d8A^T$8y@bf3Ag>q}(r3V3m7p9WKn_`D`7ih^(5@H>E7O6NBh16>d z+~cx2WrdX(B09l0SSsh}n^>>G@dphfDw;lZ~X|)U_T+~gE6o{*QPXa0o^1) zCPh|OBFcNh%=v(q-ZyJ**LcUgN0T|Wj=c%2R7v1QvLS@n?jsz=;ai#Ha{~$RrI|6K zAA-Qf#I>51&9-e~1c+l-cSR$NtmRp6^VbsMtI{IP@2=GEgNN;U&{h%D_ASl4Yu;-S zqpMpkcJ0y6IoYSX9*`uXz7jixUOF_!#SR^gSa-Sg6w1>7LjI{}BG-lUK7^(M_pw>C zZ%ZM`Q0xFi`K2>a(!)GZRCmehTczodo)(B3*2^Ul%u5=ew{~gmBqdhI5$XA)>I@~I zFiadoi{;B$Wdq*jK|G{jZgl#my3}porK;pRIpq&ozSVd-?Vu2tF2c(zz>GH-1$*>z zc<1jT4MCMHmYr7klRU%{j#V7pSIW{U%WIa|?&i2aRV~S`n2{|~dk8vV7#*Ep#Flka zQ#C$Bg~UsE;El46PJLnqkIzrx$pa(K*}54}4pp5@FS8oV!cg0x1Vt~UZ%h?P+mp=H zB#r(+iXzC=?Bo}Il8~MuM7n2mDd;hH0;hCc&6ZU-7q9cHcJ2bm8WvbUwa(eUuPG-c z!Pq0;wFx_f`?918;Pc)*nZXg;!+1n5F)%3Pxar9;Rk^0j)7*MLI6uiHIyoP+zFr*k#9FikCC6CK2rb zJ{x^o?(KFGF0#}hL?B*{Q)zhY(N(Bu19)XDg0GhjQN_DvrqYp&1*7xGkQ)rW_uhbO8b zHs;NlrgyU-_62(6;@s&Z1In@_r1M{|yv6u<#RO?K)Q9_bP6#Zm@DahBV65tF> z+y*2vswz=yfNPhsVWxO@w-)7Wx(Q<$iE6$-a4FD-QGR`z3UFPl^(>2aFw2kTLBWjs z!hsj;ixY-x*!;d=*q-s(;!q;9zuc*cQcpiNj~Y>*aTlJAo_%PV^^myV?G4?1=OZA+ zxJvCA1$L2(Gbvx%ih-}oN#XcbW?eeP^MPFGOTp>TYa5~n0rQ(wo0Uej>gR+gkI>sJ zgi|EHg~+pzse%`gg1%-b6sa_O$bis)Xnv2f`gx2vdyc{nolx-k9XHnP)5aAl>Uqi0Q(%CG52|?oNnaoG$8e|5mVtC&f z7e}gdd_O?tnlFz#Db*z}a?=Wkl7?;8q(r!TD&qj}S@mR7ubR{R8P+ML|+Q#{N z$+o7{^|)@`8>-DF5hl~nyOxQ={ggu#N@{nLqzChO?&&AiqgvV!(IjAxE-{Xv+l=PQ zQ>pqU^{RNeztE{3t2S=7Y2d)5^*Ygzqd)J%!(bK4D#I%N6my0%mUyHT&Pw2`HqXSo z9WaV}=kL^AbQyJDN`^i35czi|zGBM5s)|_<6}MbChibzrcIEpC)+MhcV2(0P7?h!A z1NLZ-*m{~AhaScC_8hA{9q`(4BJOncLnafW8HNW^b(^VQrE1*8qG{65h6^zgK$U{r z|1@ASSLKicAng;Y1e(85RGHWE_3k6T@6qmX>w|acJr8-27)!b^Cf6C{J`?^v4Lmh_ zc}4-(OV#HY5&7C8%>X=&x%Z@r-Tq2SvzQ!73Bc?~C^gk}MAEkP7}Ia|UF$`x`}n3@ zmrX?Glk8i+a{Wa;3lmB4foKU*VnROILOXUGUCgmA?=U0mxyFxyAr($1aKJ*9d4rQv zi+(QSl&Jd%mVOoK_hLI$Iiu?9Tl=;T0+4AA-wYRIJ!tYfzcC+azsq>E>om?J6@S4> zm=DPkZg0TXTBeV2@5D-lt+f^Dx$bHl5-$O~O27p4;lY(>dVw|OKF{lzywTe5JMopfvO8-v`NQ2B5v<^hwqLI zw@92!$@;$YxWryqc!Ii%9@P|>*mHy2ueawJeGV%am6a7kwI}Op$bmE<10l*ES@R4`NOg43bP{HpvdHa5G9Mpq zMeNH#>BoXeMZzM{rn>awF_7V+r)EHVslEh&IR2A}^1jwJUnCwBc3cmx$5eRVb3Rc9ikxc^8=rMk^=ym6FVQnGW>SDF2 z2E2Oa{MOc{j`ts%@!HUo)d@rzH}f$u&;3ypXjDM3NTu;Ub<+O!ex{vKqS znL|8q>9uL8ZXF0*j`E2vQ?B%-_c6vd(?Etk1N$+h8DFHoduB#}p+sFym0nlqRX<9J zIXqBhQSt|h26AM1xkv|@6}mD>*$@aW(WZ_HQdh}S{23z2`!Wj&@!dQ17=_Svr+xE- z%Cdd5fkqc6{+PhCMASI={$g%#kjkUkbd9x5vPL>hr&2HEPBtO^aE&cP;d2JI^RqTC zjCwunz%9KB2(zoRVWVy3f;Z1Q*#%=Pc(?*>K%U?EqZ;E}qBr(6E{=786XA1RlY~M~ zLr#T_hc&g5P?V9(y5+;75At>_*1QkLUs+OQH7K7A4fkzQy8wVjDvE=0Z;sB0v1{n6 zVKl27eUC{pN6}@-I^`vly7R9gu>jPR=mz&mzywS`PDM&V!`*;hpG!mRsTo}7p_eKQ zOuSkmtsPZIZaRzjd9ich2lOH2sA^nA1{6u(JS=K3 zZsc_^NDR4`?Gjvr+6)v?i7G}>6G%_HQmH!f&d-)((c@?+)|DHzfOlL(%bMxq9d(Uc zBMa*)GmRy3F^0^yu~|`b1;fK+RGVy6-sPk}W)g8rtJJXuiC6c*^HVP(k%2Lmz;Cpm z(slWXzI$Y)>4ET(z`^J;vw|)l5VbdqoGJS1&Q|hd=c|I*|CIE9$cO-#3X%J50U%q=*#i$}0HK{EBtfQz)$NPtiGq zId%RJ*SWq{<-3TqX6fmZr{q-wfVj-cF z(p{dMmy|)0^ICI5QWjWQKiqFVUFk*hkePZ@5%tUUE)i4ks(b2wX<#x2&9P(=iH9qk z`NCQ@HzkhXlWK-r=85K5pH1vneujmGi&j#iXc-+qaOO)N^4F#X1@E^glgQ;$_4VUF z<19m%2KLdenMoUex{BHivLQ>~@Y+{a|tYtoRejRQVU1->iTAU>r+8vd#wSAONYU2%}D>uWh?-h11@)j_6kL-&UuLi z81r*Z3FC2E&0E71GPM>b1RMGE`m1Y@yu|}Uj4H$_npU1D_deeTsecWG5H%2;qdu4# zw}#Wa78d3G;!(efSf0~TNISMq;*2*vTqouOqFbma<$RLMLV61r!~|n5D`!V+|hvPH7db3El#tlLT`N?7&hV zB;=9*o`d{3RG8WS;75MSZW0e~tu%=0`bZ4-(6UUXSiq>wfMAtwptSH!bMf2o1q* zSJJ{#f>qaIkzfT>SMR9Y>L`7>JBA#UD)ls`@$=V`hFI*&al-8G6`aco8usN;=Y}qu zJdyBRa^N4BWt2pSDig_EH80U?!3E9NTfZF@XQ7ZRkj0a%e|eY8L#Ix4A&*e1>xmE+h z3P@d(ml!tViY_G{8>_20M+^2!G+OPAt2P!s=ABx>^)px=Vi1+3Nz3+_7|hk2)kL&< z<|C5B*ihEX=gePiq>&m>C^7f_f$Cz_lQl1fvZUqG=Ojk|2&@@k3|a2`D*PDZ_*@tJ zB;-o;#wrMGVtZ8y_&pVofMNO6JlUwoZ!v&}A}-b?RD4u&I@N>;`b771Z5cB*0-<03n7ZP5nu~`0+YGP_5Qhyejh{5dub`{c2|eMdoI4Vnt-5`1#zyZ8S}4yzJ*0Nja0#>)o?OQAb4b?K5s=j23f|dp0UKuXB#z(`x0r7OuSS z;ECcUk`UY3HoRl8KYL$e5|Z1jIAU0X4+NVs0(%ECO&M^WQ7L(o=3(oRr_m3!v4W zB^bH9>Aoz_MRg<|fUW=4Im)o9_YG4?rxw1K*5p0_EJ!ofhoDo}c;E(gph(fZTc}AU z(9869bnp4&M!@Dz8UDW17@X7~`X6Kpxm~N8#x9n0oTz+DOP(TjZI17Yvwd@taghadd7esB4CqFW5w@LOi|LBnE!S#tx!*fuuF9%nkTP0WTPQa~ZMDH>O6>sPC2%lET2Ir1>Z2G#~0rC{CQ=4LHMZLG1#q3z^gGv0fXXfi$f94Kz=7_zS&gGFm%0il z)+6tGE0vQ>^!Ob(oxw1J?z*+&N`qoU>hc5}wX*j%hsK^0IC^VW%j_0S=sW&IH;K2{ zY;B+z*tk@~F>isnp%x=$c$?uDw!T|x(~*z9njcVB+_m4WAgqHvfs{wZ9XUI>K0N2t zA8{3v&ajmc2O9ZQAtevhoHN$qHuUQ-N7g_XU0kpT9+}0{C~8b zzRouQhpzy?QHV=glNd=c8h{LR>+ofXg`R{PD`8JFkjQ1$HV#PQDeTZ^vxd&@Nu zu7xB!!x@PL%paKNcC7#9Vc!8<%J`S=IspgDkFs z=Xxkj#h5~T6Uc7FJ2&6?_Ij1R(q4TYckY;(_5h%pfQpB_fBZW=ATClgj=jEerC-76 zVj1n8P|bP~Nx1kLW4g4_S2+j|Db|V~d-EADJ#Ez}r?2sFKtt3Bt<{^BaSJLJYjn3Lwec`!bkI$xkUPiPx!OKNn{c6l(E* zXF_||wxK$9CH;c43%R*ctW$n}oW8v!wVVvbz>^ z28FrZG~-nu2dccc^h8zw1C0XLcXIrw5ZEzA@D)t>m)Nb?vhbxrVkZ-DC`pA30yibP zaS{I_FVmrR@GD3bw<~>dqFThgfYz}$rIOr<|H*A^`7B3C(zB;*0Na8JHqim5=qF5p z9@5)}A1d8i53gw%!45U$afxe1TICEBpcUcEKy953IDd_%-kD5X4lmCRG}{;uK9af* zZ`Uy~uuqLo7^=@aiYSfZQ+z=(BiFf-Zx>VN|5p7&rovz1ER9Z`19MVz>z$QlQoQDC zOQP&yd03K)Fn5who25elh6lav97<6`N@1T@r|=>~k;;iGaq4>p1T0mEe!>$X5f9w#CKpl|mi2q>fGn(= zdF0tca!}q*rhE_a)7HdU<^tN;3kOoCtcji(r`hvq&qs-*=#hAtKJ> zlM{IVs5l{y7YV*{;Jx9h@h6`_7KiE}ea(*8X_@ZgnIm92laTKmLy&4q#O3#+723>V z+sslYZhub`w+(tQO~a%i+!bVx8Z_2Awd*@8Gr^0@Ai+KoxqEBr4n$6(GxlW>rvUX+ zNSu&Ak@j(imEsxv88wn;6uUU7bs5|WFVtr?oSTWyw?@Qr5_G?6g44yl979zNKV(lffv1qdTr;x=9A8ll^`(Smgba6Q=KQF)KseWsKo802k+*Owq9kRt8f4N zB?AXuHx4E(Jv_an6YNlKu2iu{YV^=kd-e+tOUirIr(v%|mB zFpU%q{aEh8WcQdouv1_P1aR`xo`e!YhRt)u%2t)k0HB=9oTBH7S?9-hGy>=7Q>k-z zfBE&~#XG^jrwJojWAqE&XpP&w)0di;Isq)CJ#{TlbW&ML^$)s0f@KdT6$C-?EgA9t64gT zQ80j5S4mD%9#Yj-+U!KB93Pr6zKP?GaBzkMzWqaX<>b=iI70p-_q_0lxD=sQRCXBw zWUv`uR%D9XJ+m3wV=dljL~+lZ*!yt_|hHsZK+MDBWQF!*c*OlOyvhGa!;Lz_OdY~#6^dFg`ltNI#BIt|M@p(UNO z3Xrxbhtt80x#dkO4EyJf^m8vn&79uPixle8bW)riAySFD`e9@; zM-#>?YhD&LtqBZA=hz&r2RK-^>9Vse3;-VC=Z-na1uku*ez@5?Wa^#wO%Ie&bu^D0 zlqs!*6(%xm0!aPYNo1Es;L$QUt>jP1jS@Xg56pjv6^(oofLc_s@?^h)KRq`;if2UcpZP}iR z&-iUgdKaVPIIc897K9jFh8%$VsBS6jCr`A5vW(1X4;7`#pz1 z!aiBl*PfKrP_#DVU~Ff2n7ib~o@^^*E%e5toiBR4)sHK3j`2eUul=YX) z{xP;RM!AHABKN$L(7HVXSd7ghY*RL?*fk1Z^=shl&cRbU;*`;o&|3;sl=nU zYV4%x55rwOnDqsG&3QY4(Z|a*C=oRe!)xi5@!ADgQq&HQqab$#S#n)wko|pzRz^7Vf}F`WS$kQQ-yM6-c>!Qng+0v>aGnz7MZKNK+{b##xtv>?l4SSB zjgSoWVUU%WU`Pza*TBGyCpb(~N0P?6rV|ZDz4Is7I>lEK6XX|IV5#I(VgXewKs2S% zYMw%-Q*FjQJg~kkRp3yG#KN^ zzcq9rxa@5__R^SPpWtK=tT-E?bzaU1r6csmdNq|p(HTF|{44Dfb{SOXI?q+4N~wxt zSvKR)HWL^}FZaNo6vFVUkN~xZ1{RaxzhK0xQ3+~xS#t5lQH@a*5j}*89~gwI zCm=&}jE{eO42`>cx&s$3^E5Osq7({Jx>f8bc^iGaz#w_Lb?eH|8@#frlcpZb*-gUr z1Wbrfo6MQ)6UnhU&c~OC)Xt>;v<8w4M2{BexSoXm0eti?*+@0D&4`nR9GBAMH}%-k zzB()y7^9%m@|IVo2%~5!=;|#Z?6L(~NMoC^yJ%KvNh!dMP#{cPQY<+6UAnlt$adL( z;HayFp+sWmMx{%3+zaQV-EM#pIpk!-yTl`ZgTUm1kq_X@{wLRgh+2e)!bCC>kprzN z+KR_gFs&$&v-NEi%_ZSo8E@kHDpS{Q7G<%|(!& zFMr$3VJ_UrW%VCcRz^zSwixe$rTt?=y{QuGH1CV|m8T^q(}zBu8uhQ%`6V`+&AUN< zo48G5QQ~g#+gaJXWAQ)P%eH42#|-CcyIrJ@*Kd`IYrreP6RGIp=|QuL2|U~E0L>C( zYUGyxQj<-$_OGn#0XIpFWy7AF@Y1*xy2bQImj-gG)}2o2De8JwI5Urd!dyGV8-gIx zpT9V>Zk7YfKs3kF(2FS@ec+2#<)2$>5sf_Cskh42-I-*u4v-gN>Es>Hdydb`_2pWXBlYR<1ETA3gxnpzcjDG1?SYA5!;M|V90XJe70bO&C~$XZ8! z)qwz5DEeBAb229uA5{MoDE;3PlH}*!m*BGZ|17)Kr%!_=4E?>N_1;#>Qv`iJW+&%I zjvu0;A&1tljoRc>X-&*T&AsCb{PVE&G^aZE)9b@PK_e}%mBXgGT6>r92Jq8JM_eMB zXir)HHrQ(g#hwct0PVQ{X@O~7NoL*#rUsYzGco-u3`-x(VE+_>7zs>#j#>vwCv4A* zDz;^@Evl8aht$D1cNJ1xnY?)Sl(z)UuUBX}1f*bEQfR@lp-CUUd4wSvlswZBar=ar$W5>G=}sRXnh_1Xn&59i_P5e(1~-=q5T4(S>`4Don4?jWM{&)h!L&qh(vAT!*J>H$Hp~@lLDMOw=pgJ47YqOfU(asKP zS3*D_Kv5TSx;u;~FCY4nV>B!w+3fE}qva0JzBnSFH8RLC4z4r@!NBdndH+Cn@O}GC z#>$ln+E%gDFoVhyYi4z?_|$$V602bJ3ZQ~WR~vp2?z+y^#B5~CxxYGBb|6Dk*_{|)hzA8JLQA!0ckf!VQmAOA5@88ETB-M09_9SBxRHqz7sepxf~P+(j{weT zGPq;*CFpO(-1=NWnt0x#E$Wf-52wjZkRors-C&64%!Br!v@m&~J_eq}Wh$Jm8KAiQ z_^1{XfkfV|RkY!6+;3mECHWW08s4~jDILUt=*~6hN8+m=d!A5fOpC{USBVv`-mF1d z%rDgsG~^w)#-rXtIs+kP~$T2v<9ZUyRMGF{OK*eLza#3Z>SanWL^Q!K4tZ z-Z))wMDPsK?Z~FN&mU$KZc>Y}Sa$mJarXjyh6?OnT60q*-qP?Dx{(Dx;b+W~W8Xz4 zA&sgR1sWnv34{|K=r`@IP)0!0DKxG~LS)(^bkTpZG6#s!WJ|~|1lLrX&HUHDxg*So zePs8{E*s9E_tLVf?WVdgfgAec{q1o74_ojI#BBf~c~aE9MkiRc;Iui(8RRxzxoy%D z!_X=}w?_OADEgs1#*?#s!YP33x|Yr_=Bj0(5stHJERo$L*Qc(2$2+9rNUO(s1aGwj zpC{XTgR8!OkIxKTCrEAWB||>Xc9||SRkVP%0pjz%eg=ev^FDVXAFFi+`DK|O!(a*2 zzuZL{8I#(lDzTa6W>>j<)70%EwV6FW%FrV|R96gzT8 zrPx;8me2pPl|?9WYkJax`0#~sHNM+FKn$w@8I^QW;A0Pw(_^t~MM1$q5-=;Lx1n&) zP2Q-W4NbaoOl%8&dYzY$ILFCeLb*=#8)+fHA=C|6+c`wHll~>~!}qV;v6zD60LJl= zC3yii&2TdiFO7RhA)Qtunk!%y0S8*7ahn@Hw)B-}=V{rwN77|zC9a4EX50qX4lcFm zsQSyo)63s!OVatERJVXRUWIh)$S>T-?nnP<5j&7{w^Lmj8v~Ryai_)0n&3 zjvVZFj=Ms@omqdmld79EBW2aMt zjfzY##4lB)=m7?l{x_G|QSjl{BY-lSUM+y?t|AjVAT*78y-5+;H3QRpGtomeV12a+ z16ZJK0b`rnz;njg63-dSeeKpF%qmtMNaY4%i)45eyEe3?)X}fL=YR>}^Q#p)e%pV& z-xQno6Vb`C)>PrxThYOLP|+d@=#8P>UZ1xjD^>{=5J0#Ba_QIi$j!(np*r#^=MV>C z3{i_0%UV4t@Gk@4_$E-$Z?`F7=b;l2L8L&N%O2(qOb9{qC}c*UV+vJZH{6*j>!!AC z#EH1CZ4z44OMe5w7BLm?U6&%z2L1Q2OBgUC2%i?~NTTz2(QUb6>kNsUIufdI96zrH^#gQ5sXS(42GJpvc`7x><9lnwjesA{*@+<_u{X7r-( zbI_&0>nl$OPj=zBFCYZNC#!;9Q ze=(;9fZd19>_3`Y$W--XV(~t_JE=eH^+j!ja%blddhiV9_H9ceNnsjk$mH(Vz!iDz zKuHyl^6~5APw)VcdognaqFJOx8+PnD_0#KD@W>qBjYUKE+453>Tyj#dnv9SpSTY(l z@#V<2;Ap^18K66#BBB!g=T7_p61SaY8j}>ED%4G!EX{*EY@eARExIwuCbA7J`h7Qy znG-p*dS+=kO&kLtSG_Gi!sgspl%Rvu1A+J_#=CIVy%V?z^;VKC{4RILMMd1MA;{*g zJc*scxr{R_+4>N-YNUxLU{`HhckLDoZ8Rq#k-K4>=m?mjt*nx4oiT>)1Orx4sH%51 z-jafAkf{e?f*8_7A?i|6vWtgw2ht4w>pHQLf82Blw^&A#I;~+o$ibwGM0dju6qi9#)Y=UxvTpgw7O1i0Q)5IeFa+XffsI=v67K_XYDYE#&a0qab zK)Pr_T&EIxI`D68#4*A&mr5dW40nZ~yWFb9T$O-`C{|#wdetdSfXGK*khX+twEz`Y zgm0H>jhK*mB~yTL|A#EDwXCE6+}|S>#Qlt$POR;QRI8c^`LDirQ^hVC-4ur;ZriVs zmkD=<`hAy?>$P?dX(tw3IJ1fTRO1g@LZY*X-m+u^Mao_XRE3uo!XpFLI$1daGx}HG z2fA`t(81S}6+gB-ojZOy2qw~Klf6;a#X$bV2fThidQ{Mj@n7?_{^7N9iIX0kx;a<3 zuEhe%_cf-!&yF9=Gv!*(XVeeGn_ypv*j~XPzs`lZPjF#2 zJDQ#D7IN}8JC(ug`eRc@Lz6|F!7>etL}AFw_DneE6D(za{y>b(8U8zz(lvb5B})S{ zhQA5%9`a2tVU5DpIgMyy@D!fyY&i=|?|~4v#WuYi9f7?7P*eT4bW+2uENU|P=4}8| z;VfitSBu}e_Q8`g@yEG7Wp+XWIGLyb~RJzCL~^(m5V^?8GTIQcK69v zmj&rt&aVIZITs&puzu{)fLsM=HG)a*Rpl(*rcH{hgYvtc_{3I64ho<}lpvV?j)GBD zMPt_?4p%-9)ZdGG6IR)llAJYgp9|W7%hDmlajRF_thhtUk)W%sLU?ZXhA^BC&VCEA zov_96bFvP@hI=*!?`D32?)4yqS#CMHq)i$Y2}fSB-FoaFUI0OaZar4$h+ z@Tz5i_D&Kkb_-60UJCb>5Ns60Q>T35ZeHJyDz}DW9AR|Ta}EudluHUS@CqqO%cX$q z5rk0U!e5o6bV}xW6`X#vZwmBJyTl7$%&^_%VrW4!cdp`LBw8B0*h4Ex zi1s9On9jcsn><_SoIu2ZjYM80@^Pajr|(|I8eAG|)y+E&Th>=&#BE#h>brU}e%LMt zO8MXkKO79qh}sGAT>uDig>985dO}dWb}(F3kXJ2w&`rl2pjwKrHEqPiMpa{9jk+$z zt^B$oMXN}#Nwr^aY8^T-tRKBMZ99X~$vlNX$^?>wN5hfNP`!c$ZwU9KOp|(XCXhcV za%5AYOO6KxwijoFa4TENXvk&C1Z%Sq@-hIA!)cL|gQxdbEs`)p0^D)TDfc2If<9G{ zul)35eYw}>`;pf)0Qara&%|gyJnA12(IN?ZzK)LkhmT#CD8GnjFiGkIcHg# zF36?PskqA)NUM>Iso=`%DirotMHNFW>Ho^}c6*WHKNl};Mz6#ubI-y>mSSx`2?kkG zMs^w|mBrEDR~z=Er^%2Snu4|dT|U9D`@1}8AeN<&OytMJB^AJaH|Ce%=d~59i+1ZS zf&D%$W>3gR+n{4WD>(rIjlrAp8yH9FZ_uduy-V86jo{{af`&!X1MAK7u}(*&Z_R?z zeaUKIoE8E9Opi&kG8)pEc1J?}3b*h%^P5QDo}$Fnu1-6BcS9g$M1|YZ!DqNa z(BEB%QTOE%adsq|=$O^7ZO!$oRC}YyTx4&N0EkCDaXfo8lC`@HjQP8bC18>zCc+V< z>NWXrFPFQ5a@n1K;WUHs6hW}_Q*F=2yE1(dbjRr-?VjxP{DX$#N$KEiNhbLuGk{Z% z3$3x@JS^^C(x1qz5=6V#bLK%quDaFeM(0-M($k5CBCL!bJ5v6royg|UW*F&1K$W;+ zIvC~A@3jwkRw$=vnh(^`cP92Ou5wnY6XfPQ%XcC9miZEdiFhG zz2y^O?!FW~yrn(!u;J}dE2y1wwvY?@{BaQ@YlDe+FJ!|MVDL%ARLt{A(x<%_W&#oc zs4IS-r+K{!U$az8q$Q zqoukSDUPegswUp-XrLP>{?+n4XWJGTv;i4b6T+Z}f|Xad@9K@6**+|aytj0hzE+K& zHdgx-8_X^Z_cj-#17CkhF$BNI`M2i0yXNAySac~Vf3Xx5G8cJ}#c5VV8#0lE7BfCQ zW7hUIxo{TfKNb2@#-2%@i<>`jE%fsEuZ6%+tmipp@8x{vq{P0dO+>*TT(h({i~s2g`bVu- z0uDLdvuU5}fM#a{<8RRqXfE1I)OF|}pHo0IEwuqBK(FpG%VbEhRZb26x80z}j&%an`KZ{I_w( zfRuJk;@resNdcwfA?h&rlFv#eR^pv)$#+K^v|)Njz%kP5)#%xwozYQxl=R9%daZdA zlhx65WCalhpK4~ru0oc)lz(s0}HSkA--UGTf zU#@05$=$wLl=L~ujVXAYF64>ur}1XvPARI}TC+rfMjGhRWCw@nR|p@p5mEj?Ahp`{ zV|2s5g3!onW3g;mo7Y4zAOKGy(p;{cCY`}Wjy5!O_sWT-yIpa4Vo%A#e=}APivC#G zl1^=B>$(~&fI;4fhJlcSGjC@ECbLw(r%x9ZOl++=tNk>(cOvK(^sS6-oIj3F7G5WE zB)Y1y!A|k~?Bls5xQ$UUFC5V~g>sb0$qF_7zim6a+<}kVtu|`fixDW<`Ue?UkzdMnApr>7dcg#8wL% zJfn;4&UDAoKpqN$-_NJUf{KB{7P`H#+k@HD3lAxvVmZqiV5hk`Z91_#Hk-jQ5qlL2 z|7Zkyza>Wu?y8zK&B6j7Pf0UkG=&MoCC{|+*2a$GW_bi+B+;^6P4adMsZuiG%6-!g4kk9fL9!_rsLigsAyCf+~-S(oLqrfg~_xM_V{cV~&uTEd{+G$0te$ z`Rq+)5pnJUwSRPHyBcSv5{( znna`~Qh@lUPUz1^SzHDIJ(NI4b4v6qBjl{ji}$JZ$|+~~pIr~7H|3)}b&ZwNNiRg} zqa>Ao(#=o&9i$e(uXy@_!)}@E;wb%^2;NeO9C|)Z|Jqp})li0RvS7K%6!>ku$zs__ z4CGh&To~u-rUTj;5W!>0&maRnNu?)gmBWGE^|a|I2@9u7M_aAYkE>r6UY6tiMAHUX zxN9KS5B!$+lIpdi^hgQ>!ewR2a4{9f{RoE65sh;oY)soJf*L}fS-6bckm4x)ZV{u2 zk0Grz8G8R}rEZWY4!;aj%Zbm>9fgIYrxD>ZC4f;YU$7Eg=Bsi1+96=4rOhWJ`X{h7 zJVO9o^JU4s)L51i9%?1>OyrCjXRMgT?wTezpTP^rJ z#w4(pYXq_jU^<8rJuz;isB8H&HY5V#dRoyYT2{sE_rMsZv|LSQnh<#UlMDbvkLUnL zK)AoxLjBHoeQI#^RftYB-7HI<9C+z!=x|?tg4r=ninSiH@=Naot-5H8uaYZ$Mwg$W zZv-0O;>jXcZ205j2+?GH9j`6{ThK4vWqI4uOkl~JU^#gw6J=9|hUSDp?QcM_{H0iY zQGf|=OC2cnCDLx+hGYKUR# zUUwe}K%j>MpwX3)HEsi51$Xk0?^IoP_Q>SJCpj``QQ+Z`J%atvyBvw}j*QWmznslT zvWHW^P=XTnEt&-{oA6Wtdeps|Vni2kL7HlXu$*wu@t|YDY6QS?*5U6!B!C_C=y<>X z?898q%EpRL7RFldJx~v6oC0}Ib@3gpe&)?W_K1OBC14y^ zY|*iE5|*^tdQSP3%j|XgadYXkv-SxE?LcZ_Eo6TY`JV^o(Q>M(>NGb3I>{arGhYu* zz^>ARHo%%u$F`+?2ED2d?kW+!(J#`C>Rx`x~JgW^G!5Wg?LC80pwlZFHsP7Dg;qi>V+fhwvu0S z>0I{Me-SmAAr^1~Ni^p?sGyE|-(nDAsu(gRpmisGK_4yhu+2h@CUHQ8GQ5Xo&vJ}? zSN#5RzBHbTdtP_a^g)htf2{inC8z-&H8CDs4QV)DhdvDL&rE5{l1Q{d$aocEp$#zC zNKATE*|pr1r29wq%{;1QnXP8kB6ccjA>F1CJEhKsx4{34O4avD{hTd!WRhP|!{Re` zFB$}pXeQCEm(T*un}cAK+85aRJT|?kx>Lr)3@vLX?_?nm^FRNHf_>drfCYvS)L;GB zc|sJ#a(5ay#fsDD42mLjR!|alI*;`YgcXD8IDn4p7cLoVHjSBthtJ$d;X??S4J-Fq zE-(J4C}prw)Lq8Tz34RG#Q)7#TtP%!N179i;^>N`=N)WQk@Wkwy-0CWrKk2gOVQr2 zGtSxlooo2Y$!n3bH0>9&z);gQ zyn&|)X;i->8D*=fbJ>(iI+H>)zAeXj#M@;M?J2|cl^m&25H#q6(BAq@wKxru0TmWm<33m zML4H%T_tRF{C`1roK02C&fOWv1;5diO?@d z%O>TSEZzG`0b6REh6casAL(4)dS5{%^HcyOua?-9o)1UEq38{0T_Q6ljFjdpjKeUL zB*14dG^|OX1WNzMSC#v6@DlkO0?cW>_=&!lzmZY`^jP$)w1Rl^DF7IHl$AbYqMW-v zp)Q2E$|HUM6OV!QO1ad3wPg`O$NIB2idm!Km*I4SXbo73cIO?e`-p>YS=f*Ohi2Z# zK@5gh>?rRgJQ&>NVZB`OLp$68YFKk;b}j^ zX0Ai<&GzxqAR*rT2;o7-Z>T~<)CHv2^cqmH%?3MSw*=mlRMZ*fP&^Nj)wowMLVK8r z@VIbiDEaNZ2JEeqCmR08IY%@eQe{izQqzPh!JsQrwJkp=j(aCIF_r4~-7&UBuw3^) z2I(Ey1@v2TPYdkpWEv262DRow zaa<>va#WtykaOC|dIce`4dioEx#ob!P;~d$@)HY4a3}@{77x)*zbEEgb>8PFL~g!j z&rkJtz0kBo8A&yp6CWnWg$ff*uLm#!==U%{4@7NB9`bUslh~2$^_F zWh>Rw_|w-g@q(Df+4Ub$W)fG}@wbn7vp67uL>$L;DXT?AyPRp2W}wtE&bzr z)Hb&~ypLDAY#d)=?HC4-1S-xd+}6LuUq%>bC>bk0gdDlCHn>z)!k?FMV)r}xXerHK zLi~K?V*O}Uu02q~MBt1Q+U_o|GU}xhz=K^UwuDI`-|pH4Mye-XCZ_w_y-lJLHIwsT zF0c~Sh9+Z2(hTHxxtb3X+_8=tgjw8b?lJUAR0{)HoR-gddgw}CkDJO#> zx)h=+M=}IUVE@LNLMcfi<5QOh(DGK-LWYN84POo+qkHh&a}6|_4;##G$zhbXF$hoAby4}aqB8zB>m zTk99*hdR5Q4!L1NHDi2NE_>RQeLzZPi31qnzwoFqs`EqgKzupSiZWp`$ zGMfb{bGsP+-dlTECrf34Q%Sx1e8Nf-TCZ;2YIK6n*w0oDhvfDu0>6NsKtkNVt@WOB zIiF}~Nu+ODU^ghG*!a(bEkGT0D>+3 zQ^ax5AYU*)o6dJR_n@{S4dLzrC%51xb27TCS9}0_txT(Mz0Etwb#Ndf=AX6BKxBbE zzlIh9sj80uBbU93lR>~{8fDo@S zx?ZR%hy!(Wj6tt1K;ijOc*1fnq&;FkQ$;E9qI_w6!4CBKJfqXd_%=6lG9Qs2Ax%PK z1>)|YO%kCwFW9Xq+w}9P(l2Fw4O1E(hC5K!us%Sl5(30r996)X-?TsLG23&XH;I%f z4oYPI=7t{aF7j4ba!>gUu9E|94p0Z3RZ!6t;Xx=>c}yU4M9v*hoh}dsBAKjI(r+5L zNEWbeCF<4VySrLXi6{;8VPn6w#PNm^Wg$c``Ca`o+vG25*ry<&O90u8X!DoRI6&Il z`obge4Im$$4dx(-)|sw;+4x}?$#`o=K=W!N3d?im%hJMJCzmVNYMzOgD2avwG|U_i zVEc_|(mAO2&YtcO5 zwbQ)RsoDCXSJo8SdEAa3(E57t;@*D@(rG7b?c4fM88B0dwc4Ypxs0JnK;i+3o`d^5 z8acFCajNvD1=g!2U7^m9`kSSLagI(&!U6O^KM#d6g>j53p(Lj=#}e69U6p*yFf)*dUR2K0$qU_)p{Yrc9U-NY>@Cj26u~JBJy&+dQ3=`8 z5g`3v5VtHpyZNg&%I(a947!(mTKkjEdoq$4iX`_!P3`o>uFU=Qq~6TnN!~YF0)^xg zuDm$IGSaCXFZ)Q&KRJ8##_L|0W!e$)m$B1d1LVgEM$A8`%@@B7RmQ)Hzqw6`HLw3t_iM4h~5gX zE+mWqouEyxHrK~*NN%c-99yZAM5k|~13 zVE+xF^#4_rG5S#dr9sgiS7$8f)+kRPKMakExq8V)M?(4)zkac&XqMmjrCi4F4XeKH z#B8{@I&D_yzs*-O@U+&A{$m=^{Hu*4k1iqGMj;ldQZZh9;i9k6{4eyj&l!R_B^j@W z>p=8c`FIwQvRGpibG)+B4mGustywj9OQX&tnL**E*~4GXXg(tb=+4J<)v>4L`5HsIu`_3UYGExphYmorJlVv7o`nRrO3LDy{{loAfZ|LWP%8p5DJ~*3 zT}5XFK_oDjecS@~#558$mj7c@=4Q$E3JZNIK2|5?fN2h~)!_PD`KbBOg?b;W;Vp1! zZV%oU08TLSO>W`VS3&ba|3g{tVdXI(e&lS#uWI3SVu_%GVdiCya6p0Phr_`r8723z zniTEk3;L`NF8W%DoYd#oPGW(xv3!Fl^p~fSg&~0te|!=(N>uxV6~Y-_*`y!i7a!i) z7+@NLlGjZ2ey%h=S!l2HoOpn0ng1i@lUa@AS8IT141{r-v64k&*}FHq7Zwdhd6jm) z6!%DqUO#T6^HJvWa7hNfK@Kc4yW6QIR2fV^p)S0H6gm{>gYLA&`9&*vnr{h5jOpKs z;2a#V)BbCKe|JlYj^$Ym@9D%rZmB`Rsy!lA00%JG5{m(9|F4+1`AY(mTBUCsN?%fO zv5j}AQ||V<1DIX6$C+H0qDmxKK_jKV;($q3vBTP&##dT6ik{4cTGpM9QnQNF7HT(~s8>uzImC#o{^Qx|a8NJO*!O zT_#CgPLZRl`*w;@Mbs5VCr7?9pHNWHtes48e?gYl5#=^(W(e8?oMg-EV%rU8ozA3D!1D5jKSrRtM&oAHPsT04u?24Kk2@q*({X@4huiNk{~6!N=l9`A;!^BmY> z-lELyrfr2mXKDZtd*LTjVO1RnQ0UWDko4YwI@$CFAp*GnkkMsvja1g63W}g=KQ=uo zaz!s_(oi9XLaPFl+luMLPvbYZPh}BU-`l&@B?UYHrlG8qMj|Tl{3x!|76d~joA(Dt z{*!>))aCprY(Yr2|BEQ(mGi8<5Ek<-S+loc-W>6%fGg4G5o*U=adh$f)16|hoxvSU zZ>%-h4U;~4OUMRpj+$nF??(KI-?DI8j8k@TKcx6UJdPHL{@8Aa0oy68HNXF1p(+jC z?V}IU6i4B_bMJjy&=Z77TvNBf!LoCwZ!Zn##o9m+ABlz0P>)+!ybm+PX=`pQD3Zj< ze(X}U-q%@tlM%=<CZ^~8MHOtAeO_b`-Sb%1?b*^hXbVF)hzVl z6)JBv%q`aWm@bUp9DpUz5u;iIpJA|;f4_leGV7%ixno*O#!z&rodrliz|GMy_%?TX zB0R+PpwSjjyvbT6YV& z1awKpQCqgx?lS~igmrp6DFBgsZ1*R%XFi+LlBhSIW3R4O25aqahYUP*rE$z@95ALA zz1+b&ng^mqBtaQR>3gb#tS@Pe7WqL@G=829G|{f~Q7_Gby%G~R)${ZHDxC)`eOv|& zctYvwKn*Ufu2jWQ2dr>|d2|#4g?+)2(g+J>7tj7Y*R+b zoC#)1{ff_34@{fRugT(Lq`mbs#jlZrqMDpRk|p(gFPcmeEMff0H8q8kcn$=aRLTi< zj6HSnCJfjeh4|tO+WAhOnFt{3CqW(Y1_JlX&l>-~Tdx|~1c8LMYAKDFON%cREU1Hi zSpr-9r-=fw8q5yVjimY4B?}|6^(-jC#dGC1AubgbMPhnEcxFf?eC(NU-0iN6qmgom z84sEqYq15@)9uSl!w$Z9xATs9_jiH_hK8lpm38*N9Fe%5v4ZT_m&0bM4o8hlUKInh z`!MizoQtn`P7xgp^>Jmrk*+hYTFJwBWjjsSk|1>E-P5s7?~g}O4tdBGL|%B3H*>2C zb(`{eb0N5fur+*PWE<2wS=YpLtB^V>P*8gfJxVYaa1mKC^?=NZ$yut8uKhyjjMZ*u zzsy$|Z$sWoyA=)(!tVPrg|$-oa$`Z`FAoN3+66p{{82LLNK}N0n}?`fX*HxSM8d%Y zT_5zwPO(Bn{=rC|1g+1&FkZhe5`p^iq!liJt2LZ7myrAzI%**X5L)KgfEOQB9H6gGyqR0%ViphQ}a8x7s zUNk+A-S~BeYrvs9VxbOM6hWpmP`#Yq-bmaqCye&DEk{9eT$JJZvy8$YlOohHL)R?O3)-$*^!FB2sS;D}^O00mf z)KaXD>ZM5v+C*AvFloi)RE#-WYLjHYDEc*9Ug&Kfu7^ZRp75`@s7yVkWiWeaYni%G zYx#f3(nfk|GaErhHEXEeNKCbDy4At>F|}{s0G%K5&Z$P?7#c-0cJqVhhKm0@W}c~? z)i6x_b;r6Oy!g;xZq*BD7|6bBfo-ZS*Fe(@hX1%3Esj7I<*Gh0pCnYh9#6z?M&Anh zrAU~Dce*5vAK9JO7QPH)tP<0^%qU4Fhg4tMGo9)CvM!xH2c?zQM207LC}7yFVeYcn zAt#!guuU-Tg1Aj205ge;6U+!G##_J&jU#0(2<-i}O1NJpuF$zz{3y26Gq1OmmyLBU zsj!l5(Ig20XRbda48vw9R+VUGxUfQPKPM+MTOz&NiIexFOz68RZVO}N+33&)L#v__ zS9DsiG`CGTu+t<}!R+W)M*|SQCcmp3VpuCd8ooHZNZ*td)StNh@+jMnSq7sU^l3?3 z72~!)+Y}#AMot0t&kEx(QPUv^a{8r^F(uR18eYJ7^Xd4dBNLjh_uRs%8XerP{7Jg@ zY%2VUQ60Gedz%Z0raFBLh#EH%zcKz9I4fkw;Sai#6LlH)iC0bd>}nIuIWCJ5yDW+r zvZbfwLD0IuXiYem9H5FowF?-w6Hm`)rAzQ+3v_pR7@_Jg#X4MQGx2*I_2g85>`+NR z&w|(7glc>0r_41~Rq8%T`hFlVf-Sshnfqgsg^9o`hYqR38*Qwvnwjl$3n6K$R6Me( z2SGo)-2cQJT(?$CJ`GmnC)v$ok;?8FrgTfX10CREqC{Y0`<8A(M|CgSS4WP~hf!_h z3xo>nt#30p&^Ev#=|plrG_;{oGoCZ~#)QcamK|j`#Q;3?R~7?iDMl%(8@OM@uF6D0?lj!- zB_|zpAsgEFebUc9v0HgJM%exjlF_hQg*SY|_Z`j(TT3}P)h?cE@!zeOZjsJ~^~JyM zGzO!MR^&pn`{H%+sFeH^`70v<5vu;G7(#kX9SJTG5MC-(0hE;(ufqxjEX8$MGQAqf zgVXP;Ni8;e>uidwbx`H~yQ6dt>en`x2SycHK$VCqWR(psgatRt9mEkL`oIP+?Cz0D z0Ud}iS^ow^a;70uL{?}<;`;)$%0~~E$DFkk>|zNNDl(n-xDH_NyZ%v-p7GL@hJm#xj&lDU0 zIw5@QrHN#M!HX|cT9GlDi>xaXbouA^bPB{Q@zO5a0YyYq!Gg=*co(Y{9o5Xs&BT)X zpwp$4gPT`cSm2xDfDG~7$_F=58~0kJhqO<6>p}d0Yu{|TB2Jaxc&`;AZmbA-?Q4HI zofQ6oZ^Qux@s0>v%ih6}!3cz9{*e9mSHezT0;8~6yXokmq!D>D&LluoaHWv~6za?O zJGJwp@L5x&{N+S2p}!y@A2UBlN!7E_xpIK^o`COfdF*L%8>R*PSUzImsHkpLH%ew4 zsx1L|*f}RSb1ocdFvFEmEUqK?PS7kR=!1bbqO(S*_ z(7xazLUUTJKu(NKi(RTXvEPQjsq755WDWJX7huHFg1-)x>6}!VWM+#z){hT<5br6j z?wY9e!Jl(I%?8WxLpIpQ(|M%D>*0un=q?CG!a%a=?G`yY1rKXgOg3b&$5xCi@FzKF z6@cQZ`6AJQChnyRu2_#RL}8x_aX*c~`^=m1P@)R%1aRmw&u?6&@HXNDeL1aFB!x1T zIP-Iw1Vh>x$m!A5KlJXGqcLa@wzc#$K3Q-oRGV{zN4HTHd~=K8eKSeq8P9df>^?7*?4|v8T=?l>Hpz>8VsF$;=EW|@$ffoQmPnj; zGLv-d=e*}FDj8M##U?zFxvhfncY30ME&z1>c?lr2VEd4LVG-zp4~WB-fX5*{_Tn6u zGW;9jSPBInakNC0VeN9d5z@l2h?__Aly{lJbcN~Abcm1zt>S(Eyyki&|BK-Y+y}xe z)r1u+m@Po#=YAw4!rYXNv5RNOcJ?V`N|#_{;k$Gvb{{w%efT(dE5kRnQ;y&l9j`Yq zUp~|P-7i<|{N!KC4gnS`id2nyzN^OOTrE@JTB;~_)qi12ni2xHzQ9&Ya#ffm#%v&; zR3*yn)}9LgMW15e`58y{0>=nH^2Ez1Cg2?Fk5L7&o!jv=nzd5>)V#jlf#d`01iG!s zSP^exPA~p~0sP3~xqu+rXe|@GtQ<4mn8M{lxOk;~#_Ed7N2af@Tuio8R+ov~Ms&K; zAy+)U`xkecFj^KDdl&#vlort{H)kp_I$vOo;&c;(W{Pcj0JYAtT1E2q*2R-AD@>f} zq%J`YGC7VwA;4?A;Ly~2DlQexFcgPam8TIL35?st-3LY?N{(4Ip`ny9T|RUP7@^6R zw(;zm{2Uyj94a7L699xUfk)xV0@B<43nFtztuEA)cOk}*kT6LDhXmlB9*&>9OjWFIoZ6`BvkANASRhak zV@e%z!FA+N2l|PYr&;39| z%6RSBbkK6pnfcK`c2?XeQ)ufBS>x8Ynwk zVBGEftJ6^jgP*u4I^Q9FDB7RUDK99?&^XY$9Wxw|@=gz;FP(Um#8M{Knm((( zN^5v4-^fb&?oWhQnj<&h{1%KfTrY$uibp6XutS+NrfOWG?Ck;b;I;*8fP%Ol1ICBW zW9P9dx?-NSuZRNKBHu*#9(&~qjo)h1G#+qSs-a3QjFk}ZeDz6|=y6-n06;kGd6erC z*1!|j`xjtM11Or5mq>_EV)3K5An4#+%wp35pyJTfk_+)5l=~CEz294!GjFQyUX8lkhp788~37w%aTcFD^9*@6P)_Hu&GCx5UvQ`kxSx~L_hP<8-8m_Cr zuN7$os9nQ=@Vxawh{W5c1%u{8jJ_+2LNPqLDe3_*11%LJ7(xt-$74$!%Kw`2eeAmD zyxoID^-I(=kf7oA0WCi0=j#B0dusl=Q=zFro(Y{MMDu;(VLz;hRWP$~-_gCb?p+#3 z;3WMi9;eLH7-ECVGMDh7U+^9>EeE{e>_65(yi014;1tM9`;9_8_-yypwnb$w3w%|y zKO^^H2>sp^v)8fkFqEerk-4XyC4h~EFjbPu$i6n$`N^(!AVOgLD<=NpxWeht*reOEu zdy8XarJF^T98;R)0$F&9DEKalZ3g%hNOPPP#5J$sg+BXhllM(~YjcsTs$x90fK>s( ztBL*wC0IyyV+l&SCR8;xQw9F*-m!GRE&{x)`DtYV9Xb&UZ^;KZvul}#3kj2oIuI^% zE~ZiLswpLhg{sr4zPYV7ojR@F{kLvZqHl(6ceGOtlr+k$AIV_#8?c|Z>T6EgC&GRq z$~R%>&MoqZoO)!T_*Y72rL=gcTVa0rs+za4(FS1=iCxkh-ZtV<_SAxkrIDlku2dRuNQpC zXciQhT?@OZ(F^rBH`YL*W<;OP4&(Vj!RpP*czml(+DIhJ!wSPc$lT#TegzvBF6}-@ zu27g)HU@@?pCdOw&Mk7oN7F9mGJSs6%mMhH!9`2I_+vC;nRH?n#8;Fun(CJm9Y?g3Zq;@lqg>7=PICL4HhF2?o6wQ zGwnHn397+%7Uht2H9=b|q0Myu{H$OFa*w+jt5#JneThE~>R>~#Us))ck&V1oqyb%Q z@el1cWq%LG`@a=W8;Q=>9z6ZrW^aXQWw*Rv%y&WOrmV$Splb!9a~#ZXc@K0n5%go3i4gVR`*j@8X}46`!>LtX&5yJi}7-%Dk5E@Syw#@U&Cawl4B` zfl0Uk-^EWv_fzdWP&)Ct*Ve8tbgBN9&G`#oadVXPoL2+IB#Pd-$huj(LQ1bO?FAzF zCQ=S!k2k@|8}rqMUN?W$@TNfHRUAk*@5ySM!Gx7b3BsG6JoPkgRg+e)9D+6md5%i4|SYK;EPl08JA4=l#lF>3H7U^Wyu1L`nb?yCV)IVkiL$C`iA-p!T$_S*Yn#hG7J#cUJ0iC?Y3 zDv&x%+a|9p>gyP_@`Rz_v4TvaKp%6&x0(gLFti~;zJoV}(}laz_!E9RuCavh!4z=l z46rKp$@&~nSP8h;K=Tquu1Qz(38`DdUul}rxt%pqVLJFdbtjzz+m6-ZGq_}E9iPS~a!y^5>qX=sTpGLm&< zyDNZ8GK`3j1QkUTsR*&mSU$Av2&g^aL^j`-b(_=TwH6<3)AzKz;4xyAV1g90cKqDd z9VkZPo)Q!=Iv;94ciiN(FKA;2ciJ3ix_yY7!EMhGk`9bhZYMhCBMPIh5BPx4w&h%4 zS1(y7NPV^qaNyKm$wYc+KZBmp{QwD7&j(>d+r0I!anGGyh2Np^;`d_l<{s@CC4hi$ z$;1cBTkE9Xn1iNK?j8#{LfUffU<%U3=Wcc&#a{Ioh5wWPjsyIrLQUt>z-NPq+qRe( z*h*)3&dp;8o1BI5yh@&$O1`~;9xW_c6b9xM9&Rk^buGNxd6UtqF_A7-X^#-9@&YzV z2vuRfOkjAtL+_9j&I~Hd5{;h$bwFTzcDq=Qy+BzE93u3(a~?ibk=v`Y%5t z3TbdB9Jvm2FY|1X>gA`10t`APc+!viAiX^{#%MNUyr|~KqyK> z>7J^X&>Bzb>7@Y#CrM~bPVNnXO-TO92xP+QM5wx{Zs{QoF`DxH8F(K%2n%gUE6{$! z4fZahpOumVbD(&(sr-{h9i&3y=%w7TJphu`RGS#IRyyh#Tvh_Nd~~4cm6E=Wm9aMH zGSA;(UJ*`gXDD|4XAKxs^VqU!MNE~`f4%C>bDE&cOssd%Zyy25JB4y#^R5=M_g(p0 zXQ`{LE^R51b+IT1I`0c3Oot~t<+XfiUTc;_t7%JSnz~a!#}Vgw7e!=7m|Os+I=p){ zC|kiv^k;S9vf}nx zbYPG4qL^Y_Il&`14qyjHW+!7H&9 z?0L0mR->^ooACuGVUJ~O)mA)jHW+*=(-gGO2>Zw0mB!hi2Z#2SG{jYJ5Nn|i(v}o7 z+%tHyi6Z2*7%$MDy1JRbg*OZqd@=h3w#o*q8HS%9yAd#Qk$1V*D)c;$@*36R%iMAg za3!0C8=r3-S4L_h{kH@s%wY7e2b@T~yL#IY$ESUR8K8B7+Mm)T z^x0WnmSe7}qwuOR+x}4wZZvfh}u? zo82^a%o5&oYyHyE;N!H-`haXZ3g@fs^g=Xnnw4|oE@@U3Ks7ZjZsN+_slANZlwg)> zCyxnn?4M$_-_*E`26K0c*w$LV{|wQ{YzFv5kWlH!Yw6Q9ItKDCD=Plroaa+8pH?bk z4zP=Vc7L?Z((dtNgFRgH+3lt@ZIydKLF)%$u?{uOF%m#R1%~1ac;<1_CZuHqef-_7 zVSmRma_rB_G9RW5Amy^Z@|HY~_axt&dQTG>diZA&PHIi(9@}lX5?>L?e}|Kw5s6j@ z@-ZVyC%@7n;LZ1Ehbvd6mgORSprE+MNWo6^*^N<9vT>o40tTc}!1^Pdwhb910FXI| zZ&XXLzRUORMelzjV{~$-!({%%Vd}6b3S@kf6GWB;4(D#C+P&Cn?#Q>zOLSVWhibJ& z1|KasR?RAU+g%BOkXl~9R}sdi)gc}&I5W3er{aGc>1d;}_#47CK062KS259=^PobN zZ?0fo#!5C)aCQy@EaHza{Lewkv@k13-MY%8`P(;J)Txlrch|oeHcl3~dkq9iBi-u} zjvAj6k6i^h!R$I9%seX+dJ=peJCTzLMGHw09E=i8*=EW=lHv?;nl#n}is4?sdiC1iotp5Fkz~=SHwu-@%d5=O{++ zURGhuy_f`TT)v&j%KVyeFGzkGqcy9Lm@{*?th@7B;CzhoO8XNZL}vTVO> z@K(Yg%2w7b&Z3}guV~%^{fAPbG~*U*(QWA{k;g>3--?nwzl=N=P66Y}z?w9)GgxuQ z@2&}XZSUUgx8YcR$Nz2624OFm&sAFm-2?NHfO`U=MlmT)gi0Xa4*KeaTx=k@R_5h4Jv1uq*Gf6NLKOq4@AsxIP(mHD`eI?R`NgkU^wznNA}z# zb;}Gny*5?n^1`Rw0(M3g|1nv1Jla7UfAeB@q{OuJB1S#5C@}#}n0|Kg&gnQ2Bz)`q zT&p2t>hCQnl@R17iEHK&@~Swooalxm*pcrn$-e?WcgJf#l#Q9xr^qi(S_C+5ja|+CMXqQGLYGGS zh9kg6>QeQ%k*PMKfrsMkOjgCZ>L$)#Y9x)VsdV;GZQlNYgtv!Rv&>E{7F{D374M$i@;~m z_T}Z9Llj>$9A%_;^|CW&v(BNLmv4$@vu~yf4!kx&*VxFAZ2N0lOi=a!M?G=NvNjT6|pQKKCl@a!+6OM9bMVidv9StKl$AXV!{RmgP z_~_j0-=Gy>7u#>78}AIz?FaYUhhpGV@nt8dByf7PZlr#bPFZhih02Qfo~HnX5Fpo< z6S7`e;n*XnqUT&SprabyUX3HCkp@pdm;$nxOHQL=zC4`guh4J=zvOe=>?_R-kK!no zbTetFCfuzuve9pp{_{+FAbRd}OpZkJ{(_tL2v&Rf#-P&GF@8Im!I!Ek%(f%R)*?ea zQcSBncT;xgu=`4q)dT^!(U!9e-Oc9`27n^BLR@(A5a=}1uANQ$7zn1@`bO;{X)SF^-6>ryycQmco^U?mO|zPMD1 z3^V`za$#20k*z(UzT7B9touzO@3X|O@*J9EM%o5`?#huzsGe6V1S%ypO!!m-P|)`9 zdE6AC<)X_nT@lefMpJG5GSAxZUy`JX=^arqvijB z2=cI#T@)cO4*@qS@|IffzU=(IC{dR@;-{-qa)v~T2SCFiPZ6|7W0-KO{PZyX(#_74DzS45X_hM<&iH$6~D+>E{vPx zbT=hE-f@5L0KdqkXI!+4xbw+Ovzu?0p$`w1r8K4bQJ%G{$C!&eqmt*v5WX}BAc)V) zRr0!RY{$OT;GyLW_+9a(0S?ori-`>DM=Qh{;Ij)#dPgQEhwv4|607dZ_|r+~^UCkE zzGAsN;{}m}UfB3A^CU%Z1|jxd5j#_6+P#BIUH7A~mUF@yN@u)LRiaITjCUo;||4ZZ1089*ouBEG5D|WYi#gXz- zd(c?72J#1phDF_)68R(}!xY=TGPXafT%;&Xn>fi547)m79y&MoR6s6WNC;%}mPcOk z8}idtN`Ff(0#}Fbe*lYgdONMklYHqN52T`CxBc)DbNS#uOgjZ>=07r-kjPdKF{j58 zNO2iTP8FluRSst5#7q5Q%Rh1tKm4(cIF}-^gSbHpoKq~gVq+mW;Tk?xPY-=jRhemM z;GUvsY#)tFDM8OPXM(u~@LiRotj1v~i&pYOnxOChpl#)$1SrzghlA*v(^kuV@!$=A zU15?;2*vU+!%U_g-4xTOt*%qQVwWs1wOO~vc${4#(Cm9iOaHo_^(^*sZcP7OdWQvGX|)#7jhkUes{THNK!`kghS1UD`NF9w!T>~G|)@o${F?<@m;As>AN)$K5^aP>?Jzo%O zqW%JK-f4hBYWZ!cp3OT%p0BGm>mzJFc=6TAg6NwLHqIvy{z+{h)cOe`sGpypp2m|Q z>R(y{N#W!6*Dj$Mq2a49SVkKhxzmubA@anRLPN^0laeQSJs^Ri9gF*7_kuU{{p0qi zJMVZqzcDs;{BWkW#ULb>#3ypRYjHHAaanv9~ds)i`NHHxk0ko z96{&~c8**onNSpc+>-(y>5Z4;xbAs6%4M$7^%o?9sqD`sHx>k+?|n#HE0j6RJc+Uj z1W1~5cD@W~do5Wb*$JJsYR}lJALY8OK-P>0 z!2G8g%%2y}*RSg;Q-c1nihwm1B_~ZdGJn(;Pui&)j`4y1J~I|5sF)IkllM2HPxGK#U`9uV`jL zp&aS4yAbM?$!meOX~BDFsJ0IrLs)r_KzyhCQPp4^%}w~Wm-$HGpfz<}&%n=Kf9FpK z_&CNC4e;jY{LpnQH|LDY#&4T*`;DqBAW0|kQX@<{*s08sKch)6tQn^)o=rCvBP}f_ z14P0Zc&to#%!XSbzA5^eUS0)vK$p3$$=`@Z>Tk+X*N!+bXgpU;pZBvgoxZvUkQ`j{QWfGG^EuwuMz?@E~F zevXa@ohug2kD!&OVx204U*E^w$l+$fHH83CK(4>)fb~2U{chuA~NcHdFytz+IBHs%?i*2m$Xsx)hLCJ|(hRURY;3GTn)=;t6U>OHaZI>(aq@T7Z><8%2hT{hl^3-WdP{CD8#{G6Q%D1qCjbx1HKE$?Iv6>GI<1S z1s3pD_TEZkIuIK`)3MuMwLbEGF{_R4;6FD=XYaDb$=!ZRkvfREc*aW>QJ$Gh#k5s* z=^6w?Qdu{Qm_f&$+ng*n->*EH|AmRyX4rLN6eeX6WvT^!riQ(XoSG4ciGmGcaGVq%$`UU2 zFh2m7HIwozR7ZOu60fH!avN!H`GpylWDmz0jQr<0F|kvAFw-OH=a^FFNYwz?`BM8V zXtOUB_GF%xBej5-+|-3K-_O?YH*p?>>GcCOn73})fqhzxjvc1JqSr2BSx}*WxB`AY zFfo5i)7^DV#4BS|J;b=ACyNhAJijG%D<~JnkYKkS_bXdrpC&f_ZyKyh289!%j>jPm zNv)@(9g8uV#b%87e)8_Tm)C3(KSrw)l&hlvnv5^ER5G3FX;_Bq7GbMPJAC2?x zW)l@(E}$aZ|NNN@|A7?QwFTK_*6QjL1fP;&O;^RvWw~Q8R5B$LhdmFm7PdU^nM{TQ znEX^I&!~Kh?PWL9Q`eQ9EpRq#E;*96d+Hf{W+t~VNDKf&w#ojDP9me77Y)86YfPv7 zsm33xhk*zTuT{8bkz`}3+hx*n+pkQNv)3Y;uwmlxF5+}ow+j2Iwz|-#i1pp+tG#GW zzIN#(l@3?tJb9-8x{<+-S2v8QS98E4(%&ce1KoOO6r|UoNAm{ee85@yxMic@q2FzD zYb(IBBC`tw{)a7m^LT&eS|QC6*-2|S;<6)7N@gmk3NGiDnoS#z1`^TNBd$$ZGpmGV zT{8OXo<*pCG2k1iK&+itba3XoO9ssmLZjeabkFo`w@b21w6lz&8d3L(FBwqj_)e$J zIZnAXecOaK^pcU_&1ds(D&l{O*>$4Ovs$FBz_Sau3RNE=mfhJOsR(k`Q&|-aIom{E zi^3jMqy<#o#Ot!;AXxcKBmN0{{w(Q*Q|hIEC(BrUq+U_hOJKheHqP>o>xOn^B6BhI z6N-dB8+6wL?vN|*L4Q5A zD5BTpE9sU{BQOLSFk1s-fMtem@#QANyEiQJ&d3tiu7CfkiA|YYUJh%{MV3DJ-qli= zZbS?}Ft_L59^T_l5=uNcW(6g(<27W};mr`$$&J88gDeI$D5eQ+7LlRDd@mtc!<=j$ z?+rw-W6;>lq=f{py+7M)iFL?FSN0wQ`%GC@p3vh?Dda_q%Vz@~1k*9`Y@L=_o=&9) zXY2@t3#Fy!Rn_SJo_|Q2YEHpOq5s$Pg|DwLj;+_Kw;@xVX$3ztD+yC9x@hYW;XHZhIEf zV;~JPca;*r<0hRYWD_{Fx0bi+VKBk_@+uPx>S^yOXqZ)V3HV(DAjWV~Hm&;|<;@;~ z+&ExDz|ZW6LtZ>6eM+<>-8*6DY}m{U++0;A*(I#Fa90hC2O(?*%-N zRM*GbB%!C>di!BCZUd4nXxNV-UBN` zwat|ea@E{5yNQ#$oBdaS8znYdj{7Qc;cU~t`#WxBw&h3Y8OZe?)&Y2m&-`o<`s<$a zrtrnsm$e-Q*(JK+vxKdn&Had<6JHBbiVkqcf)X=Jo@x(6@)Gh8^2ZbfkTw$hv!t`X zHDaU4U0Q2Q|HhBNq|CKIDWFCZ$p~{4P*ilL66}Maiu+3lVYj`~jqt=OwQ3WUSFjcU zW#f#=AR~M3Q0-XOOQfOo%I1AEY~+}s#KHZKv+4xaULA~Y+;Ts>4D5{hiKQhClR|)Y z7l}4|t?BtCX1qh*zE&0t9-${vAoP3EC1sD0&#p&C-ys8gKFjB^3UJmID`}dy$xIyk zZVdJ}t+Puv!t6opCh=B;=c#>GOoc6N`wbPwAx zA>#Gm=8E_NS>&LYj1FM*c|4?zFv7Y&?^1Afk?G_V6O8osQgNT){#xIck zNc9mIwsKvbYd`zp6+g^3D<**#J)_z$)QL$H!!k1aw6-Hv>hbVST zpZOyoE*Z()zU6LQQ6QHA{w)eKi=IWS#BxYUYNlX=`e4(sj3Fqdk1z+u+P8wWqkG|`aW?g|&I|SN1xIh*?*5c9Nb~}QJcCiw^ zc8fBYaWRD0^lV)y0*`#n%{59)Zh&DuhvN7GoCLVe$U|~X$RwztE?5ENAp9|10(8sz zgC1ggg5Q|sW?6;s{3e}&!tXlcK8TShTiRU{vpY>Hw$iNFgGpt`ja=p@i(~_6(ft6R z0ZtfuxNc{?J-e(d@zlfJuah$*NT)-&`MRlT&un759lBQ?4H!%}w9Nh+XBd_()~ukW zi$a$N`^1hdE&V8dV_K@>eLkhlIe==ZvY=f6|N6dzH9Fw&0pFl}a^0xbgboWR!U5eA zP2s3d1LmB-PxmkE@sVA!NLoznOo5(OJ&bYQkMcrO9oJ^^&i5SANY5So#f|G@XH?xE z*}rBGlx9rrN+>L-9t^_EdKu=oL3SVnz>pg_AT}bWyu@9mj1{3Qi>`v_O`TZl46Q1s zbz);lNca`uov+g31mWXtMooz50U}F)NE=6Kj*RZgfHXR^urOXFZP@|R?v}wpG-PM; z8JYJdGo}RFE9+XkkiPKvv~#{*SZ}`XO}x=x=j^9Rn@!O74i^Ranc(Da{ch_4dwoA` zA&9`?PrmAMD2d<*GebPJYO^DQQFWjDk`dvxKuyu0)4oH*a)9QloD?VvU|(Ncq}g&X zezZ-Zyl?z=?dAsoHpXUOPYGq=Cz5`Qwf3J_V*qUfKRflyQa9794)_bF+P`sAxJHgg z)OX5+ZaWkd?>g{eFkm3BnpSMToHKZZG6Z%i&w2so`*7P3{3x%FmIUO@J^K8wzK*cY zY>Ur0DZnap{Rv1|Y=$r2!kM%G&dDDc3eaFFQ%tbQ^*}-kKRKBN*{Rj{62yn)LP7 zSNywe*5=09!O(qo0Jl@e)B`G=ldmMdfb!GBNs%GX zJz}LxA2Ah%cOHZ}T%`Wn7&px_(n_H_2+)hZNjQKP+CqHH^DZ?T%H0HC8@8rIPPFvC zP+^rielPe-ee%esvmPlg~$DLD#YN0r#>E1z7NYp6lhUWRQ?(C*miJH|INBTLM-pZ5Z+Z^-z|RWjMB8U<8H&yZ(( z)T$2dtN%;@McD<2{|>K5!sSzCrFc+!q)&HZ5+?QhNIzk0QBsw^lA2$7$lzrL;peRY z^1wkqC!^QTO};ytosDy$cr7l3-b@58>HRc1X9S*t>Un_V-UUrPt^71$-m=5T8|Mk~ z@xBB3tG67Hcs5{p93RnN5LEc6lb8TV9s{D;1#6wVOAt_ge(L9u1FD*#ULh8a^^KhI z=BYL~%d6Bxcdkjmax*TbwX1r5BlJMi-VaIWG`eEC{E>~f=0=#LOtv(=Qjx1!>!N{pORYBtq1L5tdo1U)95N#da4Edd8>gjrcQc;SfKzJr%1`BnXcYV0Y z)a5-fOgC+hPV3|y+a2fW{$G6>tvPO}JcOpXyg771nF{k%a`6aa#4SU4kor)H53Ia* zC=@!2U~B8TBKPHsyQTKAKNC7|5Q|wq40Da9bxb-Kr63U+^lGUBf>R9#eP5?o2$4f8 z3euT1jJsL3WU^J(NC_sivhX#2l3&P!AcaVy%Nmh+@K_3XqU9)EyhjTIN4a*&r9&UR zS~I_=i=FrwtdB%o9jSLKp}W?wvCLDHe>_`Nfgc6Ba^#e8(_et~hXK3NkiN{Zm^G() zTmu9sCoO>?)f;C~SS*ivHtK6M;QAe9KmVK2Rz@-o%sW@t%l^IN9tPggb%`?i2?wmc zQ26=_&G_*3#ZLSO^*VZ}ETsMZZCxbfA42FQE+;`T~R@eBjdREFj@v|qRc#SAssh+DKBjNWB7C^Agy-{j!;2W!_1)kka&@qUvFxLhA$y zI9(ZejOZ~r-*lBbtF;R23(Yv4Hw>-u{@t)yQa0u^{5P=(LDX85yod)9T1$WADI-ay z7INruFa>!+s`xvCdVuVWdMS1oN}nH^NEr815o=+M1P!5qu8S`=Aw#j&5IiGH z=^&@-ZMRl~3x`&PLP?!NAN&#apF{38eFYMC`&ZMZ-+D;IT>*6I;`}RZ&?2&?5vTsP z(0H~Cd^}*p3Z|qO&CiHox}PC=_q?(6P(T~D^dQ*<#a`E=ZxfJz8uZN270KUDi{-{k zwS~;~!=35X2J-apBUqskg~!V%l)C?yt_nL1pAaAJ;?njr5kJJUDkM;+E)&iT4l5U0 z-B4(nx}X_y{aLJlZ#h_Y&0iAWq0rYj>57-}&6?Ih9oe(7z8T&H9f>X^@;_ z8oQS->O#o5fG{9Z;hrryUy4|NNhT@K;dZe^k8wwaIQ{e`rm+T2&yH;rx-MW=NXSOt z=!+PoA=fm+nw9@A#~q&xKQH|MY=9A!kV+3m5nXoBK+}c~r9v+PtRDB<&18v79Bz#- z+z68kN=aI3aB^8Ay@`duSlQsibqhq3RC6$1N!L~B>^0z&2aJ@D!h9uJeP7%k2mmP` z!hBfiU)Mwb5S3rIG2#s$57n#JG(Ppkq^G4eQ<3YZkr8EsNjTtAwwZ$6R-up$9TiJ@ zXZ=q`XsMxjaBV-Q>4yrA6?eKK!(H_W&Sa&&0j>xX{?~A#vU1;osr zQK)isOwu{|9!Ynht!J1>Kkyra(PlC;n47);l`?tx0Bdf%hqwt*peGs`je0B}-OqGf zBev%I@?gvU3U@mf)~sOrL*zTg#&e_|5;ijU=78oUHR}Ym$C+y4mah*fn8i^8CZfaG zBh8jAZiLx!d~Q8*Xn|L_(RGj8`Oe10LoUe_;%lhOkkMl84t5yqzpM()w0P#Arp2`( z9{_tsBVyK1d23tW+6j-nzfmLL9u2YTIH1Xnz!~^R!0zzJT7zeJYlVij(X|2e(6$4i z8{rv!2c;If8_*YP9VWcMGP`~FyEALKmTWr9u<6xe9PSETBWo4$KF({WAZwmWwLaJU zz=4r(uWq~kAEN@VkH{+KJDY3c2hl=II&rd1|Ho;+Si<#hw$k)fsA$AEAwO1hP~d<~ z$tH!|kyK@cXp{nxD>d1QPfmor&w0}wnWsB#;w%9Eoo+F(WXV>I`bxYT;9E3sRQxkG zu50COlIWquMi2VuPPpSFpB@vKwr8-H-)sHI#!_Z7Z1q~ha2kCsr`3=HegOZ(KBqZc zefeN!ss5I8D+FG*2RxOgF7&_%JH10#7w8|$^=*#l6-T!-?4EhLp7y(r5Qe>vpSesP zO!8sTBw$(JR?NObtI4I%NT>%Mdea8HeiktRj(shR_L&8bMpyHI^HM&02WtxRrDYNk zL%*M|gx0(`FJwNbW29|aP%P$-_b6eeL`AMux^cPj(VI~#Akgr=Pal=9pk(H zchXUuku!{>#~OcYDHGd^^5k4li)NRHL(>e}`EASStN3XIS|DgzGWVU+!Q?aCTzKa zafeA_hPQ;C+eCrlB(&s)Dkae?Q;@pz-o~Hh62RfNrsV`!e=|LM#?nNA-@~kcteMST zng2$!NhXBEg1Z3w*P^=q&wofDRYUvI%b39-z`-%XM{k|6G*|L6c*yfShUP7hPd_Pq z%@b*HcQ@GDG}yY5BY1e`Q#k}|xHYH}RzhXx-vex0F${k$t8Mc@$PTDt2{Z#ol=MjO zz?GbOre3M@?P?elOwX{zhhJSu&PXjJ@Q3endGU`0Xof0xK(@?6fH zfP{Zia0TeGU(bt)y6EY>5&SJi8$KJAq*a_8!9f?19;2MR|!cG2|9X* zru%BQ0Z92jo3n!f6O7iL^Pk$(dbUc8fPTKZMm+p6EdMmqec^HM8yF~l#h?G$7Zy99 z^SpEWvjWcgJ^eJB$e7{M6<|yUiSw-E?}h$Vjc2sxeQ3;bb5-u+r-Vdv?X1#QL+<5= zN&6+$D%-J>-5}xq2b!Mmd9a9z5W2<-$Ce2q{g0ny5gg(RHn-#b9Hj*)7&xoEsCJ{i z|2rx|uZAJGayuB=neVWIJ4YI766e4tsGXIP!Rn9uP=UHmGaatzw#rd3rk=$3&h_hg zugGA$=MKK~Ncmlc@71J``|^L;$>^8gwFzZ_DMc0}3omn`_~$g6Wsm&vIh?dkgxaJa zTA+LK=}0(FnMX5NICQUSeWNm0>ir9L;5*QC`Yq?aRKj*?77FE@9&t7k?D75wSjam)z z+&1b4hYSjXOg9}%pdD1+OI2-C7qF5QC>JA_rHGPgVnz?G?fJ&CLAE9H;L*~P3j#2Jtjr!qBhLjgw0RbY&zD0iT)J?NO3Uow;r^^4 z`pxK^Kxr)XY{+qWQteFbu{ZA~lFE$hYAuD5PFODPN2o(5-7E8y?8b zW~XuHo9?1MDt=Hc77kgaV+xambTdcWJ0dHm*28tKl~#3UkA=FX+sG|x_GB(o{2psi zrRte!fkk^-C1~{`po+klU5P`+(Q3N`3S|zOXrhbYYtD79#*GafJ(lhriHZOdeFgcH zurLI15kK}f+PI?U^6VrT9XC0o4HK;wwG7)=ZXi-v&usv}21A6b#n@@cUQG;~G;PCu zSyM(*EF+~tE^#;}t8VTcy6^(*irC1=PBDLJ#14t7J@;LDYOG&&On zi9Gi0vBHDEl{Z0gk2pibdAK^&cJnR`sxj`zUvpyDn|{dq{(q5;h+r7M9n=Ta6VkO1 zKYaa(8Wrh3R|KcwaFHbeFj$7VTCt+Tp{!#tkC1#HF2}Tib=-1jW`&X04311mI$fab zzAq{)6f$;&mwW`PT2tt%PdiPBk~SZwjq-M*o5fnCJgD%vs*>3=uy z@b++*Hb7z;3pVq5^-{10GISB6PYi=>O&n}O>jz4Cw!TJ>4Gk6l<3E_Ks+!dknZv@7 zb8~D^3hsK~ENJ%<;l7l-7kF!%SH&CZds2J~1<>gN&lVGlq^POh2z!lFB|*L7NU?HO zzdZd)Z!GZYm4fksTOTRU8UYpiy;c^xbbTa?O1^lv)DcF?&!_U9R)-p#3P>olcc(YL zVsAz%pQI^?5HdvpCLoXU+?&W5&0YmLEJKA^>nQ>{b*rS|_}OLYDKt)_qQH8My=s-c()hobXcT8mJ35g%Mir!kPs20yk@MBII7F?TZlT0uoW& z5;|Oi%Iizq>a?F2Fm?f--iAI(&2PBu4j_`b#34GB<1B;r?yCUKRMpPACQH&=kU$(lig1qUL+j)kfd!H5z}@kv9;<>cH0dnf3??>32+ z-f%<4&VwNCj8dOsy(LEH1iizQpC3fQICrk>pHb*=1 z0yB6lc>J|01qhQJ;At0CUAtc08vGgt#W84C2S5x74RWut-rERELJ#-M6#Td2qXMU5 z2j(7YN^1dYx+zh*nvQhzwpS?9?w%jM*# z9;gh`q?4$u9c8ENpfuoyzcUi(zJN0cFOYo@{$poP>vcBA)~AO(DoCo83#b3AV0QVS zXYLh+?P1pE!*E4pS&H`Atmgm;e2)Eo+zKu?=2$O5)@RG()RRV*1{wL#GMzc0q^&Lo z4)r#M`L5NNjX%_rbCu*JNt56>+ye9zD1opd_~TLe8+^VvO!;mdPFE*RTey4*b|)T1 zTO@{}BG|XnSd>m?ugcC}obV0r%_%A?-BS8YdwaIpsRMx->oU65?3); z)m_Q2CVkdje}e1&8SiNubq6EYKcuLaHUKmAHcoEU-^pP9&6XM`NbSuzP0nBC*`m~n z^ncVzqT_SNr%FgR^z4OyDHJRYVl2aOf1j)8kR5HK&$1@DkRHz!Tq8D+i=D|V%lw?p z>A^8RO^RC=$1F%@R8%&HK-EVY1aSG=*@l631FU=6jndt?0_ zSkX2$vTdj8C~e$VCzn0u@B(SFv>NKG1`9fs&CU%%Jr}jPZ=OGze#hXv#<;xQ{!>SZ1<)ix#VCoNI$=y-M*o!q&oB5h3=H{%7vp z|0qNvjJR;6>9hh~`A+)3GB9J_xadz-p3#yNkEU}qMe@wK%Nzo`yUUdzk-ze{i0$56 z2Ac6m)>DGucovtSIn?tl@N9u#8sEN9fXcYS+fJMu-DtU|e4he2@GpH!e4PGIGWUJM zG>YN@;CsmBYE{^M>z05uKBsVwo=!+0#kq>O-+l{4P;^|1NL-mN;|oF5fy@DGWWdYa zgCRC|JtNg9Sq|*amBURu_MNi_fZKVfA$*OUq2t6@dYwY15wzP+4l-1Dy0tXk9AKvY zMtQfHIq#uKOvLczgdU$FYKdfYH=O$NSr&I2?l3agros|!8upC}5lOEv)qU9GE^iSW z=9+d8+m2BB2*0@S$F_5uiOZ`?iS!NW*Na*GQy)7DFHoFMQ9VL&5V};R8axs({0qFa zS{pA|mM|{1pX>X|?rI4uhSN0U$VBJ7x;qHxG-b1VoS1|nb7j#LY=seC&oRvYMLiNV zMgBKDWPRjB8nL38{ZSjmHeIv3i-AdlJ$k3Cu!vtK_#A)3UOz?5dlKo`R(0|S&}J56 z3_4XU8Qt`6_`T7jkZ&X$Z%jc-Tr&m2qor`O!CInKB5?1Ak-fX@8Ggit*1Z=Oe~eO={+Hxn`0{#^aKrAP|V= z;*b;Hm9e zO}x_?8B=^8{LdudS{!?4osSt^uA&_1&!q(ZaeKY%(hvB~GxK zFN}5@ac~`v`&chH7X6qr4ad4?FuATe0eNI7R2#tP+Lm=we2yWdU=DH1&r78UffKvx z`4xc4_$@3`r%H6U$Xnq$%3T{BKieMgE0b$m{-#~9Y)WT@b(IZ0TeYP8$yU9oqtt`e zHd}Fg)aR=cc4bV%QKtR(5tnOhV|H9>$UUxqxQEr`BH}g-=?DQmLjX{?tbA!CQpAbL z`!!Ret(W#zx%MEp;=XgnhSRE@?>G1@9rn_hwg5#A+MvxZXP53sP1o@ekt$Oqm6-r& zCEa-x8O?g<1v~&DkTQHagVjX^9;Q;)bLsg6xUwq!5F&$yIPq|oiUAP8yS{2V24Fzx zY+t4FO@%?EDDz^hQnJV{qw{mo#Q)1`fz7J1D}ad}GgavL^b+io=i@pLdVDdtOhh8= z^y}%_5h$C_%^ef!4M*_bTNcB2G>5oYOVKQ}jf0?n_iLty$;v-$WCW}BFw?0xLdatN!f$YlGnC%hoe;ySEq3|5t% zvZ4a6_~?B(wu-tb0DXkUhkyAXI!x^{r-NUmY5x@@sW`eUk_tmQi* zT&B$$q2@)87o87lakRtK2Z>}b(0eI`_(Pz!IOF&)P>8)m#x1IcS7Ay8T94J;^N zm2>~s-t^dv%N*N*66x>LtCKHwe+6M(E5Z)Fb;=1$cqNN2_Il7LZ~j7CN67+K4ROQx z2z|59idi$0M9F48y1*!)Gn*6M;Ecrn`h3UkK!mcRT5FK11^w85w^XYW+o}o0|7l6@*OAg?*oC4@j@>QZmkmu*A#c0*{OuLtYNr-e(MCigQ6a ze}w8JMsYrSE3j*1ZA{yM&5WaKK&ZeE5M$==i`xP#iMz`Kopc-4rn34AXT%!rW~imK zSOb8K7z6{sbGli;1b~}V?v1Iplxj-c>R{_6))An72?(O$_q#e>dcw8KVgi8Jsn91D z?CfzFo%Z*zeDs3$zhs*oQKQ;1)5K}BO2C2ud~&mw{o7Ynf1sKq3; zX__FpwlQc4MVPJ1_&WvNFvyYD=#Ug4F68LkNAFh9aG|x~jKv{!TVsjJT1(rLMNkxt zKjJQ=vV@Op>dINls$c5`UID$h>gi+~4J)~NP|)Uw5c@?^QLRsO3`OB~srYzJfNcWh z=`l?bu95~}9Qk#7oTZ^pzw1|O+JP!IX`mDf(d`_li1e1$x!X+#4-Cn*o*n(fNv(f3 z=GTPm9pw;OURtT(;Wyw_gJ5oMxid0aq7(fqIItExvc*g#)AH<~f}to_)n$kJv{N|> z3MNDI;VD)ekwnLMV@Rc|74aP#@mMMkNY^V@q!?)~&b%4jCSsd~DLOPIr;m)@=gb*h zYDy04`vP)u4|-oSH+wmIDA7zN$xuWmbl?VqmsYd#MXIvu<8o|U5@EY-`=Y9V=j-)( zS`s#OL527r`CZp^y9}1$m|sol^W%vL`(MtumhU9C3OIgm;Nhwmmi1d6#bXopVod1OK!=+%99(1~2rgG2?!#*<=?2 z9kpWSz%h^*A!>K@9`M|0S`_3y#A9;zWW&2tg_;~hug_cnn&$Ie}Hzbe32P{FK zLiu{i5^@pX_K`$r&^O6jgEOg7O4whxJMcImAsXlWj=m1Vobx@_f1VkbM1Jc z5G?wWrHf{T*|p>@f(DYHiHO!r?h3aBF7rIGBvS{(UjcqoSc!S+6vg zAH?uu7mZY>O0J?p6H1jj^m$90O1XkC{el*`cAZS6KiE}Ni=|u4PuLkX6}pzOX)u3R zX)&|}^rZ-0WAX97P%Q%&otrMvPnQ-8-#5+ae)~a8yhR3zZi+h5k4j&@kZW=HNt6RvoV>8%t zj_tn(88)L2ZvrGAFR_j~n;XJV(Nl`ihE{~>|C!Vq3)G@f6ZTy)IF{8;Xmi2-B}#c0 z@3z&RTI5x|bvFU20celaKbD>AP86Pz&p9WLXU^MQk0v<1DB8JMP_DcCbLAIqnd20JAKrnHo$;uya< z$kocDzkU;6wJ@Fk@@r&`%2(RHSIaPE^$!7oIvxWycMFz6+Cj=3$H7#PZr z6xHkI9n0B4Woc$YcHgR=pBS0!pTiF)xf@I^f=lVItxqht8f2T<8}0>aknd z2W!_=O4eep0-(#pk)*+%#HH8w<$n(}CUz$fIPmB7F68~k9o{dCLVHEHA@>Q!>hcGH zeUy5@-pDjqqL^)=JI?z}o(aZU3UCJTbKLmz)le!q9(uPyW%BW;4JK@yVGtOH+ePDW zs`qOy(35X5`N!kvr3TI5FB?C*1xby=$ohg7^&E=RyE&mNhYcg5(yli1g07l%r}?*f zDSI1LHOnOH%YJ)Y*?VmrMUtfqqMO2X(NpNF{!pDK1vO?}lwYMi zQy>^#x46p92-VWFGw8hM#+`_(C((#~vG$y{Bx3AvU(`lzJ%GPCXq4mMgTJcZud^3qBsxvr-sy2oJSjGiiSNDk2gv<1tU=DC&EJw*hSi*HTJO*o6UoK>R5l`Oe z-iSFTe%)2|)!Xx_0H@+Fo&I%LWto?k>s6Et9@pB=GM97P^+|R0m)4vXxuyz33sb5Z zmb!XTwy40hDhJ-G+NJQ&#hL-V2}xWd*lZ_}+a%^g!HcivY2B41w8{Be3g16R>Dq@IK6mJyNE-CT3Hc-*wywiM`NSt?H|U2-p_K-}ljp`5w#~ z(sT02H2;D8Q;oFtbgf3&mX4^cz8W^z;JMY}&UVR+#y#UTdwmuXb5sQG5tnCdM%MaC z+1!xmG-s1pxI6Wq0gS^+0aB#|`-~zji%u1?IGryap6oR0rf_dDp#zWdkf0AG|IR1DkfT?(n5VS1~>Gc#&he zS}~oA>4R0x3l^Y^zfY}}Z*>@zU`~dYnz`i&mbvk|t`L}itlopqj1iuNOk#MZLhzTw zNMmGom72D-AT;WW*Hx#^{{+wN)G_m^8tD+%g}t2TOo7K0FALns*i2Caw1cDo{#Hqp zvScYrlh~m*+Lk)~F{D?!^Y$Mc$!T@SrUL+R4OnZG=ru<12hbmiN-wr%gscnd7Obh& zS3$WAOc9YVE$A6AsZ#lEI2LbU*>O3Y++q?c9CN zkQG>9)-W+=Z}TA}jGfyCGjE=X>}whha(YLy6j3~Md&|tB{p9IVYi<9Z+Fdkh``>od zAO{EEGl!87hWkyJOu?in^30`J8kRF23hN)Ra>`Idq>E2#mW|4W`(onWQWQr3>y!9O z5>Q^!U<@gXE?X~#wc>T0^G3h;4hGU&LF1go$jzCV8~SegS^oI}s~Q!MHY-BN$q$Y) zt2`a)=%x0zr-X-z0qDcGS!c91aQ938*ZVjjzKPBb!4sJVMdAx&2(&-5Gzq|gA!gAw zkT_fYNX8&>4_f3|Giq7)#r^y>eWh9p3Yr{-cuWEX8}hcx3`f3W3jAaWdT+Op^Fd;4 z<<|T7;qHk2Wtjt!K}|m4C!=~YJ)*`*o^WgUckZLpiX^mlB%x%XS&UN5i{IaL`48nZ z$;r}G8&8m0+_)vc7~zZRR&mnXJHmo?GT$%2I_GQfHXalH>iKEnb_*rLCLo1Xe`9np z&g-m$rxgRZ-EqyuFl_hY(Uv_Hx0iZ+W|QebES=XFq;u<&L_)xfbnj0nS;_A3K})aR zZUh4zlb08am09+(kNPT?3R`ffYg(vuY8mtGov_O5N`Y=9u^YraMjSp!hY;P@^aFx{ z0|B0h{||#~YIS*f8cs}Q>T1W$GUIlL*K1q%PoJCpX${Aqe5dsW-$v3o8ou?Ndmg5x z5lMA2b~>hEs9d1cRF74fYpc~UJ^DE^%k^~DG^<~rbt);3_I@cYw3|8=9x0&XTjW(5 zzPb1Z!?eJ2UVJ}4Oo?M)3pw6>*V`0A#?@$=-MdF9ZFU$&Au(&GQ1p#6p#-tOoEQgM zpSWUu^~v2`>(dpw#Mb+ExTMF+piIuDpAw`}!!9IH`W#A7LyZ?iF>>*kETd!H)yTEc zHZ}D5d81zb6a!8L)5uI5XpF=>SK8hmNZ98Y&#kYfzTpVzRc^?(LW?DV`90}yd5L4D zTF%ewpWl)wK#Y@V4K49vh=|x)o~F5KFcsb$AJuour`5nzHT)hkNf)a-c1MLn~Xt4|guhrl6yyH5u6kqHSck`^qO0w-toQAVK zFeH5NjUnE{R{-=VNowZjMP$4SIUQ9&26+%IQpG>bOU&0E=oN6|pxv0?Sjn zaKT!;`*!v({vT!sQ?c?`%{}aEXE{EedWOHLPLDo~*myE`ZtZpNA|%lj>1*qQ#XfewB&?2gPg`j@T=zBAMLywvkR0w(OPvIQ5|tq>X5amsIiqR+`N}vzo!V->KA}N`r6nxiX~e8*pWYJxI<~cLpZB> z8XK1&A8)9;Pjl1=o!enGU;IFLHDgn~d0-Fg_a|1EY9v4iT@3`!8xZ$y9SaaX0~|>C zY1y}*QZ3vUr}H=lCde;-qbUbbY~2g-ke~5{cBX|4TS!@3P=vwNPn%|d=L5=#m9WL< zXSl>WH}!MxXV{%Cb*oCdA%-wk$cg*E#1xIiqHg8cs@7p)`{PKFQig{Izu-D=foUyo z6fC<$>GSRa!co49jui=x@`Z+ki}`wYC0IfU@7im3WKudx2V11!tb0tmsI)^J%Yv-G z!2)d}GX{2B!&7)R9W~{AL^D$E>}@^l)WI)jBnvx>mtVZRy>Gp2p|F&G>TQxz$;aID@+Fq-TPDk zyxv(eKv~Nc0?5dpnBRE_9*^6DD6X!i6N7I@9>}p~NP6OLSe16uwX~C7|BrD~2Mv1? z4TUhqQ+N(M^@&CC;(mWCK<_VBK36aWcm#^3m9RYVq}0^1k_GYo!{*{)G!b&MQjr6~ zFoh7Z{z2Ot3Wjm+mcJL5@(}jLDUwa2%dWe2BY5PKS%0!jM4SVtW#>wyn=5csQnhW5 z?+f9ct{)0Lxx&Z%REfU&ra;3i6SMHAnz7YQcPMVjcIJR+At|8>`tu;6qlQ8^S5@=T z5b%_+=eoFUKJZF&6a5lJYUaD0<)Jx&uJ%*FN!$w9QrI@*29VPJs2lAEPH7 z@v%V>xz_t%xjV?=YS%@!^P}E{oHP?H33pgSD3<4N3!=Rc*GBFgr{~9y*ku8@eM_7& z`jO7TDfuD#_M22SB4-NW7Czy-j#R|!X9V(PCj*U&H27lUFTtk!Gkmx*f(@Q<0T0X% z=0_vTOFwI3?0-J-?p&A9X44bHyLty#ZecKx5Lu!GzHf9Ars=!^5&iY=q(^D;rXg1F zfIahL1#5M1!8Byz|H5`JV(V#PWCp;?`NFTF5S?r+6KT_BkLg2(`P_K;p-oI7Wl3F? zPY`H$HT8^5YAC{QQE9e-(tw<3NB{$>Q_EIY*r3L{J&Whxny1#+$PCMB(V(PaN&-4EBJC5n!g04{R(pPn9;<=Kg|`7t|oK1V|^ z9_9^K^Kv;_F1Fp*-p zXLulubj?y)`Q(dl56BnI#T)sA6b z^ck}zf=TfWwp{_biRSFm(s&#k^y7`L6;i*+p=fpcmE~5mpV(woP+T4$AOC^?P~RVA6(dglJ(H zA?uETSol}Zh5N{B+%yviY=}tbqgr8}7TX%0x<7+rQ7TunkA%ioIvYkEm9QEYWrMkN zDN(IS5e0dmf6P{B3yO9t@uAxCJg7`xp$OJj69stc1v_M|el3Z=Mn!99^+JW9ZiBVoon7mpB8p*N0pB z5M*!4STk@mwmuxB082o$zaBDWF#bv^ykr9NT+U(o#4YMQ zk_ywP-y&*hj=S5b!8m46oLHbL_HFtZZpAb{BH!s9s}9HEjsIqX=M|Aq77EeK! zkY`qOoCLpyq(Fq+*L#J7=L?Tee#axY@F}%SWmbl<=>OmNBz@e?`}A9oj}9UfWhhE0 zSw@k`M>pCpO)44&E_O=s7n=6RqInkm=VZS zYfeIQYD`xdAWZF!(FYwBySZg_Yq5l4n3PSRX=N3~7Dn!cu=>URWyBFPVlk(bN-u3T z2%5M@SkB|gc19tPnLM^P-zVM~U;F-}c;6%3xfxDk_QhH4m>vFb<@!Ta{8E6n>wz^1bewQ`S~0pQFh>cB#{>$5fz2 zHaXb$38Wx7=>JYj+${m({9hZV010i@YIgq^{}of^$~N^XnMD(wz2=>HSWRSY*;xl( z(Na*obU)w76Dy2ty~n#$82w=Klr270=4^juXy$@yS`qWTim`~g+J?A-;nxx=ol_B; z3~vDDdfOVm@s@DE5W-)bD_+zkM2N>l@i8eJMS);irhl{r9A+wEdEU8nyocI1)9!AE zshEyW=+R5W%`vCicqFhWj|T6DeYrv8lO$o%BL8v~g&0HT+ZcWECVfkIr%IuAbD`SD z4`KAwc)i$W1<>KQTi z2AWbTV24pN&Cu^Bz&GvuT9s$oi$X2O@pZ~x(+jr`;Z6Pjm;Z?wDib7$Dg})tL&ASI zQRWRNF*|r@a2L?V>n7gxNT@0zMhrBgtg-(Oieuc;qfjlB$$PXi8^U!~X@8%a5KmOM zmHAvjCQ(MRV!O}J^sjZUR!+QH!x;0;QbMTwZ$OEgyI=rA{31inI$80~A%npb9}`?e zlM57C>w5@*9d08mq%sCB9p|v5Xw}}EXirA3w4xae2<#(*mSy}*%_eZSxW%K*Nx+_% zd_K+gFA}fJY8A~9m+JphXp)a1*qKjXpkrV%4sKg!nci|-Sl_Vr3=@d}#gAFP`^#6xnDDywthf2CH z7@jzvhg z<7ph6MN__sC~Kx_w`kzCBl~Y*9y{M7h$(K#Yy@yGeBXBZKaqegF4-B-*GiwyaTKjW1#L$jlSW|HWUGsN|gHpTf3CXcb zCT>@V`vM%z{V-3CGlcnmpAd~9z1_rGUG05HjCcdWx7 zx}akX1uGqob$X8dSYbkX=M!Y)N^TP%83Hw(c&4G2(+>8VjXDuTE>p%wDf>vtunZSy z&lTf1BiG$c=WhPsX8%O@Ua6YL+*D~1<_fl+Mz!bI)k%0cb;l-rJP$&4Ol4mROMeNm znMZ>f(V^t<{XY+8MM34HPhDfAj-RVkRj%^GyedEp37-`SVk|PIC&|IffKHAA^sUhj zx%HO6)%n!H;Mza`lR)&IFbFf_quOgwu@Ofto1dnopzG{^6kD6jo;Ov* zxzr(I2Cgguf5Hip@vcX2UUFtKc7W>17R94-ly>!wIPaeZH6OxOsSz+qp+QA>mlUE? ziH^-(x4#0`IaItSf}my4KU@_CL^4;86g()c$M8TcyOblgmC$9_X5dR+{z?sQAHP>u z8=x>f!@hH?_^Wq*t8(+z{n~IiCy5vYrXQx%%X|Sg_K}A`sY+D3C6~MN^Bb?o&{843 z+MU;L9AB}i7U|=Vx?M@!Z!eK}>7ukD43CD9LdT~*WTcq(b{VC60+?x`M<%|~%liil z{zId6B!9OJ^5GH>mk>4~6Irs>b;{&Yi29h*H|p}D0cl<6Hqj(6m9m6vQZ)ftrHVvT zD4i<)yLXEalZIE%9|;jE@zZZcvY@mT7u=Ubfw*NROb5p9J&bcJ>Bw*oft&Kzjr4pH z4{--f%31HeP%JJ*Zo%ETf7X$4sT(OZD;dW_dxr0d7q_$3ERfpCI%v_j-O^CNnemF_v6B8tr(?`J0y>~Rn2m)JPVs4K$}4Jo zf>92%HC3FvZk?LytPD7P7Y>3B!crs>2kV}}9nmrWrbYg;=_5bG_GMv8hYd#)hfL?` zV^vHF;p5=CGuymm%%?Yb2{8Nbf8rWgzU<< zADLa+%1dwyjY!`^e#%QR@04l*c*buEIEFc*EhfU8Y(79)o`=qz&Gb3>7JhbiRU55x zyZI_+$Za{9yK@g#4NhJurH#*=%t(8YYmPdp#n0FKDG0g^L=X1}QKCU-l}&UqiOgVw z#3P8-nz8(C0@vcAf)Mj8-fRKH>SQ2CBU$cH4;8RBJ*{&5?d7VZ^87k`>g{m9*ko{u z%UJg2s0uM*saum=$t(ZY$%p&fRv-2RR{~5^Nc1PTbhC|&{e_Hax!9i!+70TP#31H$ z$1$$|l@_Tw@+s`Q$F~T6>x0`7ScZBD6V}b)e^I{%-N3f5MtqR0D)oR&FOQj-Z46**~g<3Rx$ocyNAsbohYFFfu6)ns7X9NrZ$f z>!H!P*p|Fr%7uwU1w);x*Ojj~G$y|rohtYlGRq{ia+@m)TX#hFh57~&jyLZVNyXSK zsB9so82ihRp4AvyOCOIimJ|l?JVlb@TOOEzRrD7GdT?LD(Up|?sHKxg8W515Mq8;m zb~Pn0zlR}c9gm#9v+#GN&(SS!dcNSXRo+q7J{`|*g~K6EXg|Mx5@?~K4 zVV(4-<(516sOn<^Z&~>~i%HN#Kv|AIx~^WpTEtm>P0IYA0Ul3Uq;c|>Q)=R|Yf|Ftn*dIf5Q6i?T#t=OrGCHq%cRFl{NM=mq1x(})07M}JJA5{xEz<6!sqLSx zm7R>#SD4sdAQ6+w$d|4Vf@;Lo3g`aCXp5Kk-HKxOSrsiO2G`kaRgd~Ac6-6ulg~AZ zkug<(Z~Cb0`_5pNog1?)+?@GXlCo9mzA1Wz=2U~UAON6#PYL2%1LVVv^X+(F5SL;R zp!&=&d#+}tj-($f`c#?TjK$;q5<^@l973~$%loD;=$u0VfM!3;jd`TOSsqBOP1_^3 z7c%|BECX$MJ0(~DRG7s|e=2UMSe`qX5_?BtLJso;Wi6jn*M--^jOlohirXcXdPd#S zXT{Y__x4s_zT2b$$fH-U1`E=kQrxC6z@vt9+n~dulU~qDbe1sN0*R;83FV%Y9Ro#E zJ&aS}J1WKtXm*V4ZuT?|WGB3YOP4++!`HMJ>S;E3jZC&==N?DmEpA7Nrsk(brfb+V z`CrP7j)~ImWP=c<-~j1Hsh*D`9(w_P@*;qv%MIa9)k3JgAprc;0U#<=5guav)$fT5 z0LBoeSBiem-8{_!8(k)UKB8dU#*LPSjTCuTN@o?`Y6th(r!8&8dEJ!II@9Wmm}E~- zb={B(t51teg%YGM$+|bigl6VN(rPK=k>k+I_@~E!NTvPKRPy6@(X0OQ;Y1gey@QVj zCMAWHH?@SedCofkxE5pTqxs=GDvXFCj%1Z0Qwx2i(=Z`j3<#8v_R5lTzuNEUCJwYi zMWr;o@hxVM4X$MWl+98CKV36Y_s)QMa2ae@Zo+`|@KKzi(VfyC0`V#ZBf6KcUI^g9 zD^k4V3Wnh5{b+<2>#Rp5l0I|)%UL4Z5~iIBSUKT;GP}hYo9w)iF;UD^o`7W4091Mp zxj5!AUZLQX?cL9EHNdp3D(sjxUG*C56aVB1M)^5=!u_=xFl5JOkirAmj(= z^lG-Ku-LMa0z?<2K{-|2rYwRNi$6$iKUEm;B>+Xs(rFPI^Y%^lF{3jpEG(zooiTdh z4svwoIjK4!*aZQ=S6mx#HTbfQ^5y76HBF+OtahwvxvP;- zxb5IRP*Z8tmzKO1Y85C!(|#EkRVtkP>nD|KRYl>pcasc4>}b^}!AU{JrnIUC9(ET3 zel}^CeNt3c+ZZayAz5$UUW$n}8YqZQ4l|yv^qjA?Q_HViGm7CnM?Hhq7`z76)BG4z z`i!zIMGocvgD;RpC&FvU;!xfg-%r?W%KMa1YdX!leMU5Kb^%|S&1vnQBd6ouv)tv064O3Rujw z^SL}&b4TZPc+^@aCM!oIC>)ip`fn}X!olPpPwxaFZ#{go7Niw3)Om$}a_|tc!k!kz z7n_-hLv4v+{=(LHGGSh5l#*d=VVMc#g3hu-zjMQUyGt!a6zXCO$415Xu(cyx!&&|} z(p~(B2p#pj&Lp)oT#2tdUSe2X>*Q;17iYVTb9!@t3IdCa%Dn563;5pZz^RFV)L6Sn z&D)nVKYl(p((HAN{5&(|ECR;(<5y-gAFeO>nQJH#fy>l1wvCm?L#bMDwcV%gDNtiz z4%f0?QssRs2#o3puF?(Z`0j{(j@LL2+f|Gy`+xk|F-En(@ET~1429~clqzR$ z#3YL!Ln2$f4#ky+pN6Ve3D3j{G` zD0S)CGwnXa?*E6DR+^~uTWzphC$Ri-*d<5FvZ0$D7cU)^KIv06xc4YEQ&d5LQGk+p zS>48VK@=RAol8eE*HS7X;ISp!6*DjWZ1&ums^)39k@z(m*49I+q_3EgdGx+?^?_ff zyus1IUcu7v50b2K1yF@vbs6D+IidN@To-|N$5>SmgLD7vEHu9QoL+D1boWYvPy8}Xd1%IcAwDL5Nl3_*E`i- zypn6fuAI+jp^8|8IjM}p{jU=BOf`iUT30x(7Ti8KucGA`^0Mc1dwlR0_#{^CMKCCE z`A(mq8$3<^G%)Y)d4fa;&f7EXJkR2Cf+dR!qN$Pk%PpK@$uzdSb{dWhoJeQ4y~xf05@EInmm;#|==vEs*9OH}?D(??8rr8%EGLkr2^u(%9A^qk2WO z{b?n4G%}EZ%~`*$~SoxoXs>mJSqha<>l3hIed~*Fn|0j z>wzg*w4*Zci+PUti+S*72In@mSRf;QjS9u?1Cgm98VGcVSrTaoTTydx zZcOzM)&VEf1LsZu_4SBiK%g$bayM@r1>RmsU9AJ}@ptH=Ncn1|Y<$Zw=Cs2)?9_vC~H4|abz+2Y|@ z0JouTj)}gr_0_>^GlaJ$mf2E#c^yPdZ-XNnT}lS7ttg@;SlIC^b|OsPfSY!T#Xt*Y zk?#j}!;FlidYilgI(?f0o^Mag9JdT) z^OJxqURkLXeIhvwr~dAoO7VgvN0okK$iveoBPo&&r_cIf&d^%1)p57ks3Ak*eNN#bfimyeZ($1{&NWFLyzN4p0_i|O?J^}wIo zR}=yJ)s+!^_zSZ1yicS`qRdX!<`Wt>OpmcyeyaM|Qivi;p`x1bInMLs5^BOJ`=htu z>Oc>j+DDq}o;y(7`9EH4e?Iv#cU1fv{YFs~yG5vhu?+#5rk3dd$IbladM(-gw6fEI zYRhfE>i=03R}3}`oDTsPLvdo5^LS4z6mm#8fy)a#x&ei%7})Z_@w!V`iyjy>Q$T1u z^0eNRf>gQ@KKh>-1)o2SBijx!_PfaLj5+JR=61xtt>!?o40~+?U)7C5vhIyBa6C{) zRMM8_{ZiCH)LoqK2Em`8mc(bXYiIt**SH`XX6B8Je`b<+qspCFQMr1XecU_$o}EKGw|xk*tjhh#e!9rCW<~ zELB~#m*+Qb5k2?Om2KvvgpD^f9~yD8nJrT%3rNYhI}=LZkPeI-xO{!*tlsfp+jmc!bUe=hO9uqa6o0Yy{0? z=@Ve~4IT4#?-rCEWR~VR%9O=<`UgQ`KOut%5>dW9r`t>`PZj}PY}`dUaq(lYI&F^S5|$afrmnp? z&qov_%hKse(3gX74qebObT!#&W*Rat?Bswit(5o5J6zq*oOcP7dI>}&O()TvSa&}d zuf`?g1He{T*?f(dgy9{TgMcf$1r`=G6Gl83u?NJGnhnLaRHk5yblFd z=|ifw^XS_ToLq?Uq420SC<^$vg;?Bq{sHbG-kh!Eq=mp*DqG*1*C`)oyO~(Ot5X%* zH7yM}ZR{i5iINX^0LV>%4cr{C924uwQ5C`Q?6OK+VN1YNZ85?&|16V)xf&)A_CoMl z1b-oCeqK|+BDXv?Fr_f1{;I+BmFm2ijSfsq*l30Cqaqx9KA{@}FBuY9IZ@(nsJ|Sq z>C89-^iSY+DkF0qNiuxU{k`9rUz!a%X{VeCKI#inB}R2l^b@Rsw%AOj#h+qYHhU+C46Pu5P3r zv6%6aQ$7XVThMFiY4a-^MC2dzMcMaI-~III&jjT>Qq9}a7NkOqh_E?dt_PEuKF=O_ zhFyr1biGD`Hlh8?w3Y)Fyz9_m+QsX&iM28aOR{$c)i=jS`@$P1xdntHP>ybspo>-b zV)fJA?Hjxtl}$pr?1#Klv~a@zZnQ04nlxX+ApS7UyqC%bDa_%bCcpUg{}kkAKo|Yp z&%JEoc44!;#DQ?Ib*{`Is(lVpR@W?wDRro>;G+`8G+Ccvq6D>ZzLwtfvV$>No8zCl zW9?0);K?^jvKw8!sf?Hu@t$J~bdiXo(jmZ4qLzF%ehKmA)eTFfvHP*8y7OVlJZCn@ zDY#g<5fA$d*e3I`q6GeVe6)M?6)6 z%#)V#5f0`zeY;cNh-UZ-4#t|iM;C*)G>?JzcQ@&2Ak6iR$kjufuT0ODf2~S-gdv#0^?Pw6d2To80n8FqU@Y4O9) zo-*I9Dh0i5y&ez>#ANxE=Xmn1#|e+E-A8(4R62kXcvYA&f!i|Oodn1tmNNhq?7{7dZ%=nwq*QO#3> z3gU1o31%@|3V_~@9GpVBk>&hE0_rH4wlVWlaBw6uTWN33sGxFE7j7PqMFGO$dNTIx zc5|qTC-n7`RQN;_7hZAkaem&n=h}EpYp)_G2GX(?c(XpTwkdC(O4ybxSik5lu!$Xb(f=hA9A5d7k}Z7rx3H{^7?(gXk{coI zw{PNm9{N;V>YYIMI_9oQN~%Rmq43itJtE2dIMwwuuqPs+^2BIEl5M^b)2RfE_+RKmp_)!H_*_J5p6Ri%b_9XZ$eQks7_YUa=4e zJ2x_ncph8aMxw4|AR)`j&-l-+uXJXC4;rjX1|M~&!bt0h<%xKT(UfRNV&0JiRup*~ zBMwm;+O6CRy@VJWTB7^9{`ucQul*(k(TL9gcc%j#+LlPtkbSfV$_GfR39!?$h)3qW zb786L?aeG$WSpk2>=|smFd&e0azX|}jAIPZ#>!E`{j!kCi@3%t`{IIC5N7^XALbTy zrC1VJzAt*AvK^3Hw|^O#=NO78d2xWI!4mM6TKYzeylLI5T}^2Ub>96Z(8F4ppo$dq zoX`0Tkt5%en^2_EFY4uY|Gh}Y%{IzWx{dnbix_861S`_dW6TQHY%?3Ef77SOhc})r za`}cLWD<4ggsn4d1cFFZ_rPWl?wP{8Vk#+DV&T@1roNyTD)BEH=@4T96quxQb|_N! z(YO06h6GGLXWgL~-|-`iPTmjl#fcm>p#_ToYB-_Q;;wv+9@L&6lIqH|HYT%cyTxu)dm=w|ROS4V-a+)v8JN=GQp=OgF9 zbM6egQvxNiAGOMFAi>5~ap(Os=<-EQbhStOVXqB&bb`4%pO-j&*0-PskOR3iR>wXB zW~IJYPrf=O5GH<__h&$pu-ckmMMVvdW6rxDx zA?+L4I210<$U9kHrrwG3Fuc#vr*KjIe~*R6-)oLn@G~j`7tNs+gR!7pA}jI zeduciIAqz~YUQ7?&(6K_zODq$(1b5f<`_C|>Z;j^G-y7HM{v6&DuV1{o)VIYO6@i!s(=Z-NR?g)50|F0m;>!1t4CfGyWqEmNqNU7? z%h7<)m=vL+*{bfA(G?LyW(+5{l>+)MfM!~u!U7=?Rna9JkOKO_c{{Y*0WXtKG4Z;$ z_opLpVjCrC_!k$|9~}<40SF{Y9h5Q5!R=bnf0?&lSYt_*S7>2g{#+V(WUEZQV6zO- z+}uS^vJUNCz94Iut%*BxGN+t;-hjR$owUuM_%_66*PBDG&8atu)KF~zmO|+%5CJzI zZ8Nlu8?RoP$9an8Yi#5j$g>B;T0&Eu6ajL-f!D1bcAa@CeC+k^m{lRuHa>*6Z#cor zC6vBUgA1R+=(QkdWaOHk(whCI;~b7PVAUNbiU#88TzVtFU`Ci(Ipi&Q_C9SdPaN+bJ-w2+%+#PY5;;sDjO@ikfTj1|@2E`4PVgRLt z2Q&dQ<1q+?3pQ2qAcS}t%*hKouVmJZ=yOZl|N5Iu&T4Rj5F6UM2h>gM&F%#+y*d`w z@b!+aj~(|m>oiwxwRuQ)pZ3*Q(F|n`Pq4@>)DM)d9AHomO6655Kw)Lo*OoBz;NZ++ z6y;KYW$;N&s}$+rpgn}9ak_5}cX^bb8CsjQO2QK9p;?{_e`AlR8ENdUO08*sTpyT; z3v|Ts5VpvpTA5z>c;`PrT{0LuLJ$C|@0yQ8Nw0}1C%!nghuvLd>n`Pkm29C|*|=6^ zFan{YS^$O70{Wlpl{zjQy90%mMU~|+@qiTBN7SIvpGAKvqgJ-M@1{DU4pu+mlivj< zjWr^{zi6PxCH{Dg{^-P`b<^E`imqgd=UozNrI%s@s2k!J7JlG_V_v?$El)QizrC%f z;%t=Kh5nMm4N32%x`7#FFz{UovfU+M*h^TPc(&)XCrqe1-5kng$_S&x|GRXj@iFDh zS6|bias>J}5d17U$6MeU^k@7jSW-CIBY@c1UHG^sj4ElX34TLIym8&)rsPpQgB>A5 z=v`*)K4WE0_cu5nw$sfAw00h9%Lh4bhFCn} z1%g|ss|w;xJ!COEmO&-~&1h~LTL>ZxoB z`=b%Cesq(!c+d+0Sophb@8Vb#)5P?1?z0iar}|mSzR=9;E(d6;jsGK@=fOl(qnCT(w}kwZ=u=lZFQsf-ALzidN0PEpz%A`1bJn) zC>SAy-OLR8*m z$_O14p9^fef4+9g$G3!@u6M<9F(ldg7S<*s_C;oW3%G12!S*NVd#>4+Vyvg<_E^r7 z3{lY5%H%2cGh)kr=Ox(e=MO;-gYU@jN|-mfpsw06TlQkPaNNmbDyC;3n>Vc$LG3+=+#Sz9fLAz{s^parwaAiSv^TcY1)!G za4&XA*SpRv5)ZQDiHn;FYPKmpi5xqLD9T%5W;VFKrEripMgcL?u0le89*XDccS{MH z{D_~l)Rlz-O%%250HA;qX6RZ5U`*PZQ@y}#AesXCvDvXndFV)YjagSgXNNUDY-O|= z5WIS)9_apr9k(>Wx$WVb=-;kBfK#%7)M)c9HL-T_x|2KR1D?@)<=HBX;Z_lN|ac*ri6m z+->A(vdw5k9?f^;{3uTCOLU+>GP=uTUOnW|3rO}(`oDS+6pBN?D{xS_-B3mMm+#n# z=pvaw)C>|>LZ(6>a8dtnwwMjLhgR18fU&5jtRl)br7@Ai+K-uN3Ct%qM8e<#=?-d`#{yc8)K6@qsR}|E^wZPZnw8;7g3x|@4RVMd94lY>zo0X}O z*Rs4^=)rPBvV3-KOeDB#2d;@Gvl|cHy*<|QOpz?k*Kh9Nr``aDH6uqf{HA;vh->06Wlb!5o0h(DK=gX z(;vLwAyPInkWm^iF?3OxR-?Z5Gvnqia(-*k9LRMa7JrsMUd%nvIL$|NVpx|rNfuXP&6YVS+>DvwdLeW{pGd*TrAqC6H zlZk~*UpcQf;^~#v2x}OpY?4f#KuUJrERIg*^*oJzboYer~mf&~>4acL)d*4%|p!BPksF^1a zn6X}aW;8r8*LZ_WJs3nDqQO z_^GC&Z*>MxoLOP^oF${IyBgh*HfUOIJ5bR{?@D=rcPx$A41}+iJxgL2`~lJhTKIr; z_4{B9ehoMBMK#b8D_fDYg7RL|JNoK~MCk@63v~h{OrILaL&EpK@z?`AuEhZNM4O^j zQ7b*YS+^_u?tLyoA4106nu|yt3#H~TaMZ9?Zh5F7KObU)1{8EZGFM!mlNS} z_Hwk-b2v=!B}K!tZeHf1-sElX!_l;7SsKG0bK0}W;o1uG2HX?P;V%q7Tb1%IVph0IsNM39wBxggb1rlzDdfn@7EM8K5@2zaTBL;D+#>>Z9 z!tD}%lGO&rp58wI1v*YM6YkCbdB1Uz8^*U%_6gpoP06wHno_g9&A-wwHS^kd7#*9! z$eEL|us5itVOZ!%BPsu?RtibCZ`b6pA!|_ujtQ#UsjGdwFYY{@;g%$Pu&c3tlPbN0S`WbQXqZHZ^-ZUuocNnx#DdD`C%y-FQ zmTpqz(~S70GWTalSGh>xq-|Iz$agZwDV_x%FEPYp9l8e^xplMw_nL2l$a$(9g4~ys zMgLr(1Dsk(_iq$^!bgWgyERd-#p<{SD=QiW5%7Xnpc=%-0z!hZpY+e`*a7F-_!|}Z zW^F|7Wk*&kMp*=tAFU~>;1THyBvRceus`7pe&ULG4u#IAmpDFGjc<{GT`uU|X+0Gq z4kx?0GP;c-h^O;dTW>b#G7M7m<=YhHUy>I%m)l6gOV4pVx3EjF(Dy?_ZSt1~i|CZi zVUFzo$f{e#EA@zu)|UXUys7QCa0G_(aHYYQFHVbRf(VdXi(E-TwSYVAf7 z$jg%9DG}l>M4&HdFQ17X|`@X#3%u)Trrb8Aw5G zLZPh4d%(Y76sD^v>`>0#8Caxts@w%ZB5(h8?Bid1?Pa&wdHa~+?ylX0>pQBa{e&}6 z?g!xIqMqjds)y*mRhzqO+Two~98C*yc{L;jpuFbLg+^F3Z5ET}3d^w&pF9`HkZPwN zq6&0>+N*$vE2eMKNcO`(p;f)EkyiNmw*Y2G_qPt7BEnjOEGLNmU2W=WmLAY%GZ)9! zul(1Og)mY1ozd4ESO8rR&j5Gc83Nj%cMvySo`r$p&ySE3m~c&L*q&Kt=`ms&S2*U> z7*CKR)}M2^XE9TNOm(wr{Qj1g_@Qk$hDFd-c;TTYw~B3nJVqiGa)y%2b(af{yS9n# zLrne>+2u_Y&#MX;3mg-E``9oY=RJn_b1 zB2KiFo`kfDvu9iGp%<3B^>05XS9@GCN#Mw~K4kZ7P=T|t!z znJre%j!fhN)&=?_=}VHNRodX46lf^&E6MWo*FOc066S)MP~ zS1E#H(0K3OXj11-9&UsZB|J9(oj4S^U~Hab>_g1-Ep6^^(Qmfr@u8_hU5xbEP4TxY zMSE51l5T1NWAEtVHIs1a`tJ&UyMi_XC4P+OD1kyBxISzAx#L--+|3=(pZZeEjftK? zkg7Bg9;@TNxFqHr6*ldcFO-!xVeBNM=Zb>k%Cjn8+1yq$nFTWr_{c13M#ICvD;rXO z+9IT}&D}NB!`v-0fAk-bAAbquFvArCuV7NXmfW1O$?>9ypJ_EOMo#$VYA%x|i2=?}PmPWFV2Co5Q*vkbn>JmpWY=EHebfP-3V83t7!gIP z;?Q|@>f$q1fQ=w^8Oi>nW`y*uh%VTW#BImMzCpKK+-=^u}( z;TUkaAAY5NIY@*R&WawC8h!eyWXbf3<`kmWJ<%j`MTi~Hsd^83OTaSi z^?)KVHtm^B+#5k%9tB$j^>hF)l&OrwfO%Nu57&p)FNEOk11x( zLtW0|KQmUep&e>+c`=FxF|olVF&>?W+3m_mQMZICl6JMNlcywl@nqupIZBrJ%JOZ4 zer$!(iJ>xsmA=USPkjNg27*M*FelU^lV*9iu?Z6I*r{@{KrZw&@Jqw~V#OtvgH}uL z4Rq%S2eJqZcRcrL7^}DWBT&P?fbX)kR$EIm?zK7wV+lZeL}CrD<+l9v=G$V;$nHg^ z@sGZjkd?0nB-v@p1+72oMuteDKco8Fsj3O;oPjdJD_NHL+COh&$=)=7EA#))cm=gI z9qJG6#v#%yTL*#hbAub;_&eV6&)Uu%$l62PCamm0>xS1PvF!X%3~6KE%3nk*o3BiO z{z$qRu#$k^3OwdhcU3}?i3B;{le7PSLG$(nE$o^(z(OrA)2k_ci$CIm5@XB(3vI{K z*84C5sSUIW(B#YSvXmO~#qfu-H(D!R2(M@f=o7u6ZC3Ne6@B{hgH|gIva7>Fg z?g*Pf&tlP-<)z6@gdQddEgwgEL2 zemj93zqlBPC>|v-#v0p*v#u`oVv&$TYju%ujII-?T@J&>d7Slo#j6;eVUMW7ANI1Ve-<|x_mnEu?$rLf$=WJGPY6zDfp-hfSKE9 zpCZ__AF|#;&Ts<$Nx=)~9?;dyyCtEM18)*)D3yl9s^?NIPpDClVM+k_Lopo{B_;LM z%WbNqXj;@F?_u6E=@=pB{?8k%(7{1MP%vQLFTr!S_^n+-hS;+)Y0RnqUrhyuV7vW+ zJdE+(DIPizkb3$+`s`OO9cGDL2i_?N&_+qWK_Lc~%_2Je>;kpmQlpu+6aLILUtzHK zO;%;fNX*P7p_=NEC+|eFGT$DGMGffGKwc`HFyvm6Hmq`z2xbh%!G_$Bh6j$@=a66m zE%307jIP4>_uc6u@IKvXfZbssCN%G3%TF5qUpbA&qw{Ft8$TkHa$?sypz5N^6gPRt zcSN05pU?>V4*;sn98i)7zTU`#HrH>QO@;u^856!K7JL6iUfEd%#ocI&SOSp3pZTkn zUl^97EW^(HUSI+v-d6g)SpiBrfHSx82Rmy6d{wMsyJ6y<+gotMARlY3?iLk3fQR`t4c%$qQ_#4$b37 zFatu>QVENGz8m;!n0M?NjK@+-?Pg&tC(WWVzy}^yzOxC&9$`%y4z64sWbI~!48-0` zhv*lIuU^LLpU>??jx9Ed(#P_cs3&h6vtDtx;7ZH-?=~K_!qkwcOfKKGuSq3Y6k+sY4IORspRPEG=m%hOk2{RQ8`5} zYjW9++zK*CxO^2jhOf=W$Pko*P2m|^aAz0?%46O`?|L&{>r&$oqs^yNQTb;<#8w6dW8m9HQ|TVP7qjqH(}yt2olSBiieIOXg=deuw^7N(f)X!?0RKz!181rZ+vyvwCD${E1qZ_yFp-{jb*}9~T0#u>flX^jN zX}J5fFeg}jgQ#V`Cke+p?iMO@v;eGfaD_0GA0rNhpgoD zUbGxikgb7l8;=sN$B)fA(XPmVc1~T#RR8S!-yODIAL-Eh^deV%Hjftf4LG|U<6Pyd zNtuWRH@yGMy^TABfP4+F|9E60kOTn7>wmrWfso3=Ke%b{0J+((%3%5<8#kp03Cn3+ zA%{qSf+&}a@@U56d;7dUc3&wLm-2p+o*k#=n{#Uhc4LTQ^p&tH(HJ2)069R$zkzz1 z(0bhRpO~TMq{F-}I6wGG(>I&O^TEsez`nY-xa}&K*lGO7AY<1yO1sj!-Vw)_7U8S0 z!hjZsEhXNW`&U^U9j7=8?MSd$6(-ZcMmX_$CCx~Y7Z?~8bdNi&FHGn3O|Xk%NI~cr z^CGS8t#ecwkn4}e9;JN97kdly*7p8oM~SO(w6v3Sum(#?+S!f9S*;nfk^M$om1n~D z;~222?t=2Qx8{A#69Ap&+zo?62Gbu1O#-Ydf@)9-=qK|71W%e;u1=Z^rf@GU;t0Dh!L;&+4yF0U3;eWo9u)~Mi4frM`HlijhHd8^VXL)25=o=_*CH{5brJ} zGNGj}>&U4Q+uDp9-HN$L!bQENgx4wG0BfG`#}3;mp|j~-@jw=E$`_3EcGMW=nP7TuA5h~^()=N`*zyiELbzJK;Q4# zv!!s1A<)IH_!U?@)yM{E?E5Rr9h@MVF*&^9)lkEW(x%KoUPK*?TD((dnK5;iUY>ST zQp!oK8+m>Ly1(62$24_D<1EtfaP0B^WvckTv3*1iHdeV;ziF3Rf8USWg~2^LyJ@hK zRY*0GklnK+qeergnpGHBMKI^@;W!gk#tHk2bjjJMjy0xX+T8$KG~|da`BEJ;#Fd+q zuA3!$K8Pas=nTX;+SlcUCX8({V+*cf$HVECVOq?I{&#H|>?5WHn3e2Tx}fMp!Hl;&ZhKmEYdI&ghI7r@rsnd>kyW5 zQ#p59szxS)5Yq=D?B9_5_lTDYLwgpJG5PS?j)3j}I#EJ+2fHuxCoy(Qjq9 z6(NsIjQ>tp1m5k#F9YjT?xg^N*iOiLs?M-k{GaE3m;UCx?!fj_JVE&Y<3&$=@`Dwb zh&@lk9DVMD{1MWd^G)bG?DL4lE5<7dSxNEoG9bukN73fhc0zY-$J7O~Y#!V+YUuT2 ze?cLHuZ=JsMXskq{dnZ2-f*4C;X>K0S8($h6AwFLcCg-1EiVh9N#?VgzV< zXUfX`OB|k}V%3=J$nbZXFmlSnxw2^!ILo&^cL_xBL|o93Ui#bIB%pMdt9DMv6T)uD zBAp!HGYDeBF(Zmsya=pAfDYmZH&86OlfeJc+w?nkLqTRh^b-C3OmLHCb5Gzy5hK=@ zyv6oFPCxd=xdt#j%6Y=EjseWrPyX2_=2uy8yE`%m?VEp45gSP4*zmSaUPqqLj6ToPsfAiKPAKH?u@ejTZ!-Zqcx(qp z_#sN;@+%O3(T_dA)^{u+T7IPUO4GA9aS>-h(%X?L=&?V!6^mx6gnV?qd)Tn=k(`n` z8F9b6IQacf3X`pu_rYOFD*{0P^e&2QZ1_^c476}4av8*xr0<0V#|w1Zx==AfjFYE! z)lmPO_bARB@(CwCSl&E9*_d?nXDxVxZ4lSN&JZEISM>+1Vd8;3 z$4$RfiN63c1iamS)X-Bd=>ioX5Lf1~7KMj}XAk1s!&9`sq>v&T%*JBJGZYi}?QjX8 zLH5tLTQy*%`NEZgw4IyAj;}MU%6pw|1Db)5Oll$AHMd++Tz3zmAK26fU%Dq0Ix=W~ z>lGKk)YA1_>^xwXqrEfAix_^+I*Gg5eR3?PAH|U+#qJCRt9kopAjESG0<8j85Y*+O zDKY1-8g+VZCKtou3dZKC*#Z1#+mRO@c@fahjVtbwt8M)SL25J1_^RP&0(A}~8N@g6QxB!2fX{1Jx9TyV zKlB8|s=_c#w7BUP7~%XZ-zuwWAV_-(o|0zJWsiM04rZ*B>|;bG1ndkISJ_vJIrHwp zE<;ix`=O~ea}P=;)0oSTWfUj%YrR&6W!JfF6NigVk6){P;c5VB9 zP<(zNf(4pc7L0t9^wuT!rv`S<++{}RI;=zDSYh$V)JvXMvp$Y=os!(_flZ5FzF?Qi zqGBm`G51=O=4f=grUaJ+b?=lY{64acPeSM!ZK+UM0AI-}%$bo6iF)e>ZCz(@aLDvL zq8F;HPpa1D&g8YOD*HO`uohB{lcD=}?tc~36~ce5PjRaf2I80UedI|(O<|Y6a~D^3 za3z!%`p8SU0?b>~bg_9Ls8*7aXBM4GU`r*~q` z|07J2JuzDSTp!!z2ovuZ4fK~eSx3IFjOS~iA0CQ?r8K$Dk{(7h5=!iKb!&8F{zvn> zzaxm1n!iKnrk#k$ZG5i1ySw`tw-v83``;s{9)Xr!%p^Ml`+h6Cm$T}b-<_q(#2k7- z$LZN>K?IoV1nNIatLuD}MSz{^q71Q`5aPL90Uz>43Pe*8Nl)3U2X!svp~#(zKRv~{ zj9(oG-07R?DDFT^JnIITdLC_zI%nj*it)6W%em4>c4Bb4`oHMpwQ1Ki6dIl;l*bG% zt2{0|v0rIgM7Zkgt;6NT5k88LsLa;NhEZ!l55B!4mu)3?Ko^rEl>C zA$UD={aO^MX~1!QTE;!rM8&biUvP&fRw9~G358KfR1r&3`-E#(Q9W9_d+;U0*A|v2 zuk;!4OjY?{i;gR!d8E@SpLf123C#f=x00==kUlIFBNSSWlIW;@l`leehxrFUox8*5nlN-;^dHp=S&kg-h#F{P6 z$NqkWx^X(+#&qFlq)^iJf0Pl`6bj2=pnbp%FODgDD(E^2EC270#RjAL67MsrMuUm2 zPtH^9yh*!McP|HEIM*f(FTS9o*U*hgp_5aXm}Eu(Ni~d+J!>l7`{Ak+$20`V_wZBi zZC4nhj|ykvm%UhX960>2jKZ!PDPa&yhHFJ!U$5gqVV3T|TJCSl!UXC-!|@L4Sa=d^$kdb3i@`KJ zW68N#S{?v7C3=P_g5&TCG&*g0x1oS6+tna+oQwpj5!@~OfLOJhjd)?QG)Y41oi-y3 zR#BkPnwP1Fu}^a;JxgCWI*^kUHqpTPRxM(0(%z8Esi5pqOGNV<{mKL)DnhgF0d>rB z<%iv64myJuSoDVw713@JlSHmRr;(|kPc++vY5KliyC-rH)M-vF^0P@0WD;R{Q40-8 zj>pI)_Q*C0QO z$UiTykVSd7_FNLK-<7q*pPs88R1}0TKPba7)=h~!ZP3%`{FJkf6O5!CGM1`Mi`M++ zm!9J0Is#b(G2#pgxtf{$9E<01pBG51a9@~{(D3{)&yMdks z1~J&GM2%W!gn*J6@Bm{yvA%Uap-GuFSKTW$mhs0#DI1?*ih{5o2gZ? zBNZ;hd|+0_Cj_5d{sH<$%LHt?WXYfX-8I zF(&4GYA6l9??R|(sNbPU>_gqJL3e-%z3Fq?;0ayoJDvAF~F~; z=UF&kgAlKk#YnYa8ZyVlzTq6R1}X&4$8f>I=A>7MNptXELNZup9R}d}c0%A@G4zfO zlga8bXskJMwU({AVx|P*20Oo%Kg@-HO2#3k7L{a^8U>yKAAxR}F-DoKX-eY%E zd!f0knd~9mQ}rC0V%z7zJfwS&eH8?qj7`K{-ueChvpdIq{D!`OHShj771zRbDqzO& z87AV%fiZ@EAMMZzrSb>98lSy;IBs7*=ZfjR$c<$3Yfjr943wvieU)9w6}zA>WGmaR zX8jvJ{cjr_=1uI=f4COuB8kVw(dt$kO0Ktt>!*lanc0k&ULfn2O=0=iJQJH>N52Lt z=Gd@g`C$CV$BtZH_`(3hx#0fit4r`8M|5?vBiz^r2|<{ta>PVh@>{fyLcHRrTHSv` zp+OSW6k8~`g1*^c@~uQpr4`qG(CF+gvtki^WBEf*%3o;v{oWUKw@vx3cOE56R-|Q z!0;?^D~}Dwl7$Ij^Wzr%Z;0T{IU|i$>O0RlT9_~buy}fzc;@fQTQ_wXS?84*A$on= z2Z+0qi#Elc>XLg2)#&%!oj7j2)EFdpU@Sh0)HDRoYi@k43n?Q4JY&B^8sG*cGpfU+J zpY{FC@eajO^PC1c%!!_Ao$8$Mv!=Qw&HhIkKWgs5yOcikkeH;O@YD_ba__s?tuUuV zMXM>Isjosb>HE>Yzhq@agrKHyTYA_}@(6oyr;kV>ws9qF7#~NaNgE}lKnax+>Et9K z1jMqHvg4p`)}k@QM2x5&+=qD3zY|)MF)HFGHWC&X#tC#3ldSQjoc&_F@?WviMS0ps z#|>JKM{zE3%dl1aquF8y(zfPtQS$Tf#YNQ2AmRctmYnD%UM=8(Fnl5m_VpIZY zoi`jQZGRm$SGR%7$L;n(RHFUZ3^Bc>&p+z{@#GPi$N^Onbi(0)9r{ed8@+Ty*>6~r z2Q~4L*X9@*pMWF2`1=|_VZ|P7>aU}Z8kYOx@0u^ltD!v*2%0p0U)~M(byq5G2dun) zjTeaF$6)&owIJd%0niRMVozzS#n%I?EkRR!zCjdqk;&^I9=Z*Ch-le3+XEG-^d*Ud zPCzeYKA5#4g%Y`6%z~X!dsMJxz;iaPQY?hOISS`VeeA9Y0Y{1W;G{-LW3*kt6jX1d z*ZKg`aE0$e8T~5sG|&;c^v7PdQtxhvc;>p%mN@scO$z>RDY{8S979?ElKhZlL-B5}Wl`?-xUb#llIrtj8msBr9VY`+$qh4gM2yO- zHgIveVIPRB*Gk9Jfm}`>(vO5Xs2x3@EtIf^sRp=^2g!WmvqDy>1Xlmiu4~`P+Fct3 zW>@g~Xo%o#-$3?=%&QBshAJ^05T{$qvh3j8S zY;WRxOO^|ZegL$Rh=OT0Z)H)~S(A29IE9unppV@yLktv{u0KZQFD;lJ{5uMPDgrTz z0sN2-Wm%^OrnO788Wvt%VY=Kidfvd6SRbx0&uQ$mUbt7;#dts{3UVe%UnVGT-D)vK zKo!>*l51K1bWUbrfAZusS)6h*)RuAXjr|lv$M-2zR-H5S1gi>`9j#ARX`DKe#W9O0 z1soV}EREkLB%Er^RD~(zu?7o|VZ^1+T-;|Ur0FIn0$H)ABB2F$AtZbpxxqO2=DWgIzzOl)t0K8G_p+0pP99XJK*&B)92D3n`6S-(pnRF7zf7T>gNrY=w2Mpx^)_yT$w?DAb`zt z7Yl)4$it5h3z=n&IQNQc&+N`Akl-VuywnK;r~ZPM^YkNfu+Zi^&3mS_U-(lA2gYJY zyq0x!2=GA0q(i32<&sh#P#ZT^FmUQDeFI={p=riE?lxLRZvTuxp;^@f1o;u7CE0-$%lyo+ zQxB_TfkTVQ9}e7bIglQ(5-Sf%*CYb)B&M5Cx}k8j_u&g5;8o-kagXR&vEf+PhkK8N z_(F8ZAmO$-V(l|s(v%ax`OKm4Pc){STu64l%(+VA9zrhgTq+MY_v3s&1V6rqdLcAQy zhmK@p=>>+S$A;`=I^Dgj*8Ki{qeqju5>v~q(li}kBg^A_CQ0x>{E=Ye+^s_VtJl;5 zq~KMd;RM6j0fyzv1TtDa2Zpohbi0Klxe|A(1|t44>X$)=RLv$g{=G3VxyBs3@}G6! z6;HZC$<-)`hhSvt6KDnohd?n0=-+n~f;pmt2_B3+2$?MhB`_BXt`nqZL%XN=rN#(x zPKy(2O*bXjElCrJ8Ht6iKh)iQ&NHUt{t@7FdXxG5OQtyd64GM~@e#+Um#n|~)3XsvH|3jGeHjnQ`&_n9M* zuTcGS@Eojq56J#w18SpuSE#7JsPa-sw-((H-8&mv^8e0m-v#VSb7pmE_e9JfzNIt0 z0)i$g9K!wXi$p>WG&h(!aj&kba)cCf?8i_XO{DS_IgPA$KliZACW#W zxmgW%yuRlxq;mZE94=kR9|N&M$6rc!)?!?hv#kC_bb|5Y0aq;Cv-|=Lmr&A7LuhXS zc=Om@`uA8iG9?oIx04XBZ~S_`E1qOj{i~xi71l|4lPyx&v1|=l^QfNn3E)5v+(cTQYKtPKQ;~yzntY-{XekZlNO4x2Apa##hh{9%9xj@=FYOUI=3yW z`Qj@+A5O>_3`3Y{z|)J&jmF5Ru1T=yKbN7*5rxMPD`U|FA#jB3nc?Pdyga^cugwS2 z5qQ?YP`1;~U2gX2fz9bdf96DdK~M!>RWVb31bB4>Vrh|&bvX{+fcuw247ph!yLa_b zBFd9+`AYK#7~7m2iJSFUeL)w&zEcWM5x}v%khxl#^|Me1k;nJN4@=vfBH7s`jF*EF zAU|!;)<#+AlP~+9d8Ia-ge3mLrIbdzzbiRW7Oo+RQh(9wwZROjtqbfUw@Jres8oz+ z`IL-=Cl?qEKSy@Tzc!ZeC$(}E4D}#ct+|;g$FLd@%VEiiRGoBiEhorH@*zEEDn#dB z@7vI;IKz-p1t02dGX0Bi7uPt{Nb-DA%>W#j!?Z^9$DO>o&dP@~%hjbef@G^{ki3|-N{2mB%JKm<0UL{3g$j9aeXVgp9Pj( zdP5vlI0O}}e#eYIO0noQMdRCY6MP4T{#8WYx|lLF6ndy)qT3xAhqpr1^%hUd?U8W; ziLn=_;^w&)mYoj00ZNhvH=FgW7nz~v#(}0Ph+Lz}%~CpqKfk+r%A1MJ>$W|!wmOdo zC%V=o`wn!2yjCXo{PaGHl2*V z-E{PbxoWR(NJpo>T zTYRUapSQX|I|D)DPnUJ0v|oxPk$}7gSztk^Nt63mxV4>e>2J^<0}&uNRZ%Z;5FcNm zP?t#NTV_1>@^Q0w$oc?alrCRPbQd3+OpvWg!BCkTHrmBm#{$rDuFyk2z{%z=zD7uz zbSo6;;14=*fnAZsjo(UJS=2p+Epmr^uJNfDWS-fkxz9%*Q~5+uH|WyT!!pi}U<1ue z9ThLWV}(GlqqVK&fr}+tF%uNK!2u7Mp=UDc67!$!BZ)D3O4!{w97sZP(QDmv z%1-|RxVB9&YiyC^KBIOrWReB0|?0nm%Q*`h#61KL$RWh=8F-S;X zzCeZk2W7ZIep(#tO-!i}Gf0*wwmI5gTt3^89KyJbd@V8v!vD|41=tFQLGh_zqM^X? zSkE4ZC*W91XzGX8ekD}LOsFwY2yw%wfPgR=h{c)J$PpF4idROTVIioMTX&gOj`#_5 z39&rXr5Q8WSeN0-VK68X#4Rd3HY5B%6GD)F;m8YFqp~E<$@rx1fWp9~;HY}{;am&~ z_pM0#s5}9CuOss9r8>rKLAp8@`0mw`d~64lMS!7!3_h1Y1)J|W09uEA2<5w(!v>xb zsC_>R*LD%>-JA4x!trElR4GOHzgo-iLI#*$UB$*vR9xp5j%1^9H_Ni+zERE#SCq_^|M-~8^BiDI zwH$VX?!G1Bftx=PMUl9>{_)9;MB3y+^t+fO#Wv(;#Q}s*GZ6K`C)5a@){!eN4O{b! z%}ugxk34VjWT{quNkQ6*r#+W-}l78>MPW#GP~JucTe+al#(GRzjqpH zHVEd0MURD{nk?Ct_;TnbO{g4<=#OhdsI7c{m7QS#(k;Uv%)?{KV03K9S1}Q`TaPj* zGC|$;Gu0JZ^nQFHv)ZoG&JnpCvT@PRX&rl9(j$?{rFc?#f1BRbSn${xb*?o5uz;&2 zh9#01Oj)heW+*G%l1_Jswz{B%Smv-P#t;a|SWrzdyzJ+x_E-k&8qI5nku!lZ4yGAH}Y7blkVa;{V*wMe_{I0w>@ZIj5aiK-b42SealtRPIMYLyFbI&Bjv z#I0Q&wwShKUkf;QGY9wbzUCZ+!VvHz_>CbXZg*5Gx~J1WbNJnLARcizqiShWG252}ywkQ?mI# z953NXrv!Pe6or6b`FkIIE|cnEVY{A9Grc%tvozdBNq77U z?0A`cB_MZt-h)Rg>&Kmt_+W@%*Gds^o}-n|eME`QC9#74 zs9)0t?Lkx1%#T|elrTn{oB_hWG2qa*AKZWoM2yZ**XZJA@^*x+bVJlvp;oigU3MV1 zpeJ{5_I@f5on?qi>2+_BG()ZLFt;f?qLtpa6U1P9v^^Hokz2!~w=@F83(67XVz7rJ z$IlkVf-I=#R>`fffx!>AVFwMRk|#66&?|r7nm_BUR8sLX*v^7%7m|`e;;trOFCroWZ;(F&IX{4ss%!XvHtU)oN3pY>l7`Wc>v2v+sCydNMBS7XykA4@SMo_NF| zzESsK$e!!BSeiROW{kx`MhO}+=_0C%m4oOkZB8@Teo(%dZX0|5ihjC1nR_w`#eQsX z0CTWaMJ{U>Yw6~>LywpT)QSh@yYBBq+=${{*6jXisqGgHLbh9 zscJXS!i4oB4q4Al`;NiGgKCVh?6nad+zp-ezVr{?DQ{o##qZBh+LQu{ zoa;Bj6yk0(23NCdpw#Z`?ME}rzwf-AC{Y)ZfCuzO8Ikj0EiXR8(mX8de-R2++HX4Z zT9HyO=BX$!X_qsEi*VDn0fw&!sN>Mkvi@dlKHEOthQgKLZ+@M`8rZ)i0;TH3_Q!>w zz-PC*E7WwMjfQ4PtsXmV7*=S~yJIHObxP`PpBe44FH?aOjNqY_Pqliqk=b0Mj!V^$ zhrmFH~ONL;02SX4sNxP3-v@u*pe~uE6`f z5`?cNv4>fOz#2zoLPGn4yVPXqst!Lk7Uc@HM>d`rE_P?sf{)`o94WH_-)mgt0g{ih z;~ki!+~u?oB5-5Wr@WmXGAQ{)Yz2ZeGQGDRidAR;{kS$s?7R2iaz9couKY%jAd;WQ z_x-$vaXukmU766AlhE$2kl`$T1F%XVAjnBNMBcp1dXo(_gl(Q;S8d>~?TxnUNQ;mz zaIQ;O$lZX4^rF6nFlpdLmj)A-JNfK!?8;)MWPfzLD7(tC@NY4`k0c4 z{bD$7{(gq4w#_Mf0a=HM1dMsOktZf~r5X+xMyP`{m0{*r!XToPy@#FufTc3)j&!UM z<|$q#`=XvduFG;xVVV*Dd^Pihg@_kzt=(S~`^qg0K_+q*0XaMW`~Y(xk+5gex$q|Q zVFyq5arqc=48BLSog9Y)AX@h7Rrezn{GL0D2t%{nP%Mwk>N+W*EJrnUgX;T<_>wdu zs{667(s$jDM7$gF+mtNY+`f0vc@x=qV#nR(X777n>aQS!LQ8=;6f}D6va!X^X;K%) zr4*Y;=Z><3U0x)}oGQp2AboSz?&1-*7C~aC=atVDlfy;k~;q<+Cn4wgF8Ea3zJ=1d zD?4~x#zMh66cB4VJlqPBs%LgU0Ej9EB^5rj;_h-HJu)JgVWDJnMW<`_aVy9{J06`N zUY-ces2;XUhm!3IdnKD2AyJSD7Ku3a`Sg?<{8!4cqT^d8le#zhK`ut6NphnD^HVk9 z{Uor(+7xEAH`Ye9__}#TI6@f)79?e32M!hAHP3i4N_O0K)b-~D3y#o>(0#bptY+I4 zewT0(e7gUWbn<$6nSxD}pS)eg^;H>#cE~-ypAE9jeQS+{oW003+kT)L-6t&heAZNq z5_sPQi|0m|cD0b=<&vC@VC(0&gk{(CS$Wv4y67IRpCo~1x~lh{0`N@ zM(~F#K#o&)tf}o)k*}LHV2cm6dIQ|Pc9e(>;E5DR-#~YT8GY0W!$@cQk_PRkz6E(r zAxfaWy@tS>S9poo@L%ZaXc!Pg2r;51sF+kUU6eoRY}Ljn>OkhD>_=;lAAl_9+CV?Z zC#Q=_H55T2ZFRpSy|;A>7Oo==!;ufYSX9Ukz>Vk#bpronK?Y>vWVwo=wEkH4dOu3x z273YGIKNX(&yP11UH9Q%XVc-5OYn0cLM{c!M1&1FvfPqb;E|%MvapOE1k09sO2!0g z_}f`=(vt0p24e>YoG`%US5le;u+b_m6p@z7eJp0KuhwgFm)^2rH8>+}?N5Q(`ol+7 z?wkh>R!pxD6ri|^owm?2@3VE#?Z>0pYzUykYgbz7Lbi9x277==G`~2c{X==-&RE0} zEpy_;imV+~;A&o=WhzqJVo(2pc3R)2aUV6GVQ<=ozgIvNk>W6oKGR9QqRHpOkH}hh8E~TIeDIJ zR$j2^)}MbnaCjG><^Z-ZGeMy+1c2s3d8A6g1S-!Y?Mus1%~H!x1m#3>GW_K>!32&4 z=iepZ^~i};-fids@Wf4bAN7+RfBebBG@uro%vZw_V#>wg7Y$6O9<%F)8A&{%aFI-e zkN|~~t9_6x!F;*)y|}y2;65$H{WC9JA`wTXOWbt|r*4Ihp}nyI8-RIqEB#3BUL?N^ z+4+&QL?869IK6UWt27&OC4ZAE@Xw|Byk9VjlCX&{jS*17M6JJn=T&6>AK(o}naI%V zOV){s?d9z{Z5mOd^S|o@M8I^^x!nfbk^NGXbLr29?cucu#9>Z5zsTSGEU+tGwn%A= zS}+theA=colhB>i4vCuO3O~oEP{2`uO_(CDl8HQ>dXO+R`?CLMv2iQ_DA*9FWGv)x zf-xojnL>BvaO|s9NC&}z$s;pa4ESx}dUnmsN{eQo_-343b2uIx7ox!5L*(b~H>_@? zsq;Lfj;)P}zCsIp-_n~1I+Sfib#WVDdPCqk!?g!7Bi`v@&67WTvhIB!WimRe-)qFJ z4-uO_)F?BWlk$iMA|yq7_vk+iYPg}jPZD4Rf7}ysuoK^sV28v~!z_qjYiWdWty=}t zibD)REpkg4o^$!4wx!QNyRnY@VJ!aL>Zmlo1G47wyvkxK(;BuBRf2+BoPB3T?E)nC z#{o1^NMUIv`CKL^yvq_cOlRvM4f+f zioJ4Bco+r^mBw$ zTM^sMpDA&HB8s|2e7zNSz%B*tr)%3!`RMO^sohnpPbIB~;&=d3BVBoM7}l(AB*jYq zGbDM`nbSW@6{;g(!XO(Xe$Lv`dazhhsQ3N&r;Izgk|Wo5g@ zcaGp&QL7H&QQi>|cGJpw0Y?FuhN&vB|~*zJW~x#AYwXT>+8S@K%Q9jrhgB4 zF2z*TrQ`*jQ5eCQJ0Dmlg4cRR5<6yEvWu6wAOaD{O#%=J^d9-sfm&l{(kXChpWLyT z%L+XZr5exlO0Ai)d;>%-{0c|)7x7#!+Rw{ou_IQ1`kbKh@`SATPB%EBjYG6wBUXOU z^Lf?2cn6dbeUT)#0t0!VyOuSE{_xg;&Dt#>=K{SFOy+Ntg3!}hpWf)yL}KiF05XI& z)XTf`8-rg-%+&tJ`s?R#;Loon7O!OV7g=c9MlmKBdQ!p{D6&3u?!Nkeaz&p#tHQ-C ztEXz&G0^~Gt_oVudw#%`zDB1Uh;IGh@VQckRK&{cein0S1+8tkh=e6RJWz(C0Sf}O z--{;@8J|Scy!#k#_-DB#+p8Ncd4F5KyZcnVwh+y4^M%r(~$sEn@|> zAuT=VJ6JAN47Fl@hYu7VGoQvqwHFtN{IiqUM5=Lms<#DxzgRdo-C&1s%X`*XO2geSj$Qs(Yn0)bbKKk~Ble?z5{zl)6CGGnH0&j1L~&I{ZD)a~ z`u1{9xJ@$I0wtO($~z-8igda36pEk6xX|Lk{&jsx6{BVgm}~d8gF9E8jTbSrf*Irk zI#D6_C-Az5_T8N2riA=*e-sCtwt#9;xA_rDVUXKMU};gPp3xC@fiC zp5l0%EOi}>5zyO}nvK8yvu<2%Q4Jr+r}R~Kntuv(ss}n3#ijF_0V)HD$QN(F)3<4U zuEmjt4+ws9(BkMbK-z6qBZwsB);Fc7J|#;XaFbYo>)rn@9TyRDZr_@h#v%;_i7tj{ zHu>Fj)-nZY%+Ck3XU==Ayuad8F;wAJQFswos2&|!vi9u}E;_ysm*`G*b4W`TwwX_s zF85193QhZm>QF<;#u8GXD7wr%U zSfsu9ZD7`fhd2+w$TvY%`o-J3f?=ym#qu2aD4ld)K`Nm*7O;x2Jmk;~VO`31f+S%@qBhBIcyV%dyF%40rqn}b z;|{k0CQJD$gT?8E1CZjU(+nWHtSqlcm32&Hwj1Z#5@FJNUL)(`D|Re*nldpi1_&(! zg_E>`p|<*&{NO_oE#?*y7k0)Mp0g)eMJ-ogxi*!NaP*HThJq(~@kw!$1QW!iqy=(| zN9XZVD{-*`ja+2Jj+IL6j5CKz?rH=WgTj?Lq$^*G>JWs5J><8|lIpX{L4|Z1s9)Kdt=$Zj%Yzr|f_PRSczWl<6$;xM68M{hDmtDGTb z2LOxl#9ifbb?|x-r{9?-0m|0!#aaVOSjBBm{1l_MmJCr3yMkCti#Vz#pD6ix1;V1N zR*aNQw<^nj4JVYWIoeRR77oj{7gDnsVUWw+xUCp+o)?^~1RH;w5?B@(8QO)uV8W*) z+L;P8r!8Qu*H5y(=ww(b6uZ>irrJ%;ZW+z^%M7Gd2F3f^HZ`i916OW16Wkrs)7^P# zkPKrJ3_M=_ot$QII&-nmBB;)CSfLg-s}6F1x`O)L))amUM>n_RpZf8GAl3=tFCy*! z?*j64n#vZCDqSgO_&;3NfzTqo$CNM??_{6(GJ|H*zGL!Yw{i>HxIHNE4Epm_(N>l< znj{DF(8(=J58^~6=!!X^WPP800EM2Za{GbF->vr7P`Q-?#%SgMF}ocYuHnPHn_a>- zu>D=68bQu09dX(u02$z#ghRefI$XfK74%k9KJgCb@4(6(5+&)Z8D{5gXwn8b$QB#{ z3Tq+>Co!9@{Rf&`E-8r1n7TNdm_*k8XqA<<3h7%8J;(zbUd6s6W~ujpEVxqNUldVO zWm8r3gQoE;Vw5Jl}p)xb-GzgG%zMve=Jth=n znNcBGfIPL6(EX=k-lII;1S9jH2=8H#-5H@{JUd*d>NBey8quZi5QX*R2h$c-2`N7qpT`3O#puJrq_TyQzYALfT7kRM zk`v1AJZh~D_#qXFo;Xm9_APH;+?K!|>Rr90- zodrSSpp}BNZGtG2Llx8X@;vo#V8XSV(CPo1#fDy!$F917u&rTt5+6e^0qUV&+2Kj1 zXwHZOdKd!ZD<3RULE;5JPHxrwnEFH|4)HiDLOH6hkDCOk{`PWc2owdAI4`)0gLgq; zIBgT{rH~=+@hUdbav>2tGW~4&fJ{EG+Y$-N1Y}>n?;VpKZ0C@MEx(l2S5~IYsM*qq z)gYx}+v77H$PB3v#;%wY(}RFx`z7X+ZXAjw zZPil_slNbZ$HKME2Xurq2`u?M_Sv@#OrNg3-hv;&gX!>|whQFmd5!~)6x&jUmN~^$ z=4fESTH~{bE={OyRGwfL$pP}H-}=^d}X~8z@L{y6&>Z&2$t`SYy2#%aPS@|FP0LhV6MM0 zOWnBuK;=>Awxkt|hw%RjSsV^LR@@2bA%$vwxRK^Gw+4~AW3zu^bb-DMyC^~_Qla{z zF#J&;N0VqdI&)(%2+7*mV3!FU_LWlgh{#u6sbpoq&L~ZeaVX<{<*)sHqtk^AF(3fZ zDxGQWFdavm&qxaP?8jREG}giPRX=!Vgk8k)`jERq`7TB%-~@pX_zc4x!ZsP=S0>Y< z>q~{p{I{9xK@=X`4KRg6eif6n`>yefUSWlUhc4hMgkq<35A&>E>4S16!YNiiP)@g< z)Z#D(>aLuilCnv#Uz-NzndOufL>`Vl6tR0(*5sOta}*Wz5aTH(|n zFAdo21RsZjL5#-Y4C|K5#?j(a|KX`Po7X>@-KO9diX5~0jve}5$?_~eGt3AHaw#g7 z;S+jqJWlcmBL&U$77#WqNV7OcPx+pCbn}t)Ea(T-EEZ*Y3^yBc%3qGoe5y|?G3#Fxv**8E z%l4)&#oPLL&DHiWr0;B&i@ld^vLdjP$zw_TickG}^Z^aPT5&xVtCssZdw+S1T-`dqR00gCk3;$~H^aj8k^ z_E;p8j7o8ruifP4-XILRpL3hpNg+^o%2uU znAW^>d+{_t$CQr^euu)f_EcV?oc3=q?uwYxeQmsk5nSPkkK0cF(8V08nj;P2lNVS0 z2QO$%Ng9i z@tl$HXu{noMHQQz8tC=i_N(niJ&^n)9b$h#wwzYI;(J$N`IYX))}FeT->$32M>Zg= zS7`ssO!&qDtYc9*s z2yqqT5qe3h{4aOZ4w8j}bO#(dP065p&9*P)W(n551!-KSIzZ>$gEl~19i68 zxkEx5>RD)q5t*)I3LPq1hAS@DpD2E6Oq=gTQt$C8P_O*d>W%$3c#KlN?Bnps7UW;u{XaV>i=D=0o7^|LSmFjru&=Fd=|HK> z7uXW;Dg<3lIp$wq01dcK9SqJv6d4zL zru$Fylym??K)k;#q$L#Jy84S;%Hz1=B5S-YfOzf#I zgMkyP@7{H<(W{1V=wLbtcR4=L;cv(V{izIjyBZOX?6K4CU>~Q!AkK5k>NKh15934* zRg^yQQ0C=*m#XuZzHTDC%lYXYeTrTekP2wKqEZdO@GI2I69BaXZlEiz?@eBHN)o6xBt~|ONCgxS4`d*ro0SJCRxNXJ*lfkczIbb79=G*KVTC!&6WXm*8TCet_WysTZG zH9eQ`t27$8Au5C~vuzu{!?%bZRG;ENW6RW2afL~@?=Fw{@yCRUp584KugveJNl6mH?QBL1G-^hqM;mG45mjdt&I2 zj9cab*8$toevk=0@_`1Fy?RR5!-*FY*E~LLOKIlmJ1)>C!Qdj41DqV1)qj`-Hk>Ju zsRrQWCWR1skn-inRmF%mu{50D0CJS~kSfFnCMcg;a0;dlzk$$f3(<`$CTw9rtm(yL z9t^-ITZWlMEXHm#TZRjMBoyYH6kPnSU|CsIj!sO~IY3yf1Tzj_ipD+0{;RoQ!mjNh z$AnH;PxNrZ&xgoXmAVzv#TC#zh_5Dtu9j^cJ%Nq8a~Vxwk_ghCEVrlt(hrg zWm(yBC43&kRk0uaVNl|X?Xx3mR(k*L%F3#5Z{^8dQ-f-)L3=AcH0duFTSfS-{STiN zB-l;qk0CKZS%kESM)30bDo3xA{{D@*+_N&`=Bv=e$7D83<~k}s5=ZJYGT zc|igoOg)w-(q0H2m4tRiyUP=UT<`13eT`y`jydnEKl!a#C31{FmEu*KzE2;-vG}>Z z>qK-V!mZ|{e0|MR= zoY}1woVoXN;r9*#lv8F0sB(9_l>mZxrADngkX$1P&w4{_qVQM*hYeRP8uEhq$sp&3 z8b*bg<0w08=8KFdVy5dZoDMoPPVpWbrDSYMDdLV5tSUmFl;OnXzihF@;xWm+%H6p> zb7s5sMc(A^Z`rqYT=|hfkvl@G&&)p)H2RXneACF*LKSV1lan=XIy;_X05R`gmu!9mrb3J2i%;T%yl0II9C6&Pf~o z3mL?g`H53}Bdgl&e#i(F3-OQKav)Lh0TC%lOi^H9t(100g`MgOVibHtR!dumj3v$) zXQA6l?g7pba1d2w{t^ayz?(E59H}($KQ#8`j{vcPX6VQ;vQRqy(qW-YxqG83-v{99ttlpubC5T)1QT9=vYg-I2q|r^e zIp1}R>_R#^He=#VScd7u`%kj0(&X}e*lK8+*+weQ&N9x^5>(xn>nf1=_;dhTBe;q? zMr7f(V5O4}PLyd{Q*9)LwD|Jk{;N|L6wPL%7IJx>n+-IDSVoi2}G zriA*!)sBJAYsgw!c?-sgu;&hVoC_!trMF(Be`fl;Wu8ZPXJPrdH6*jRL`HSuXrivd z5n&+=_w;}uKL1mXpVt^E!j>uNj6IiIatbNXN|*0E%Gd8&Zl6LcR>2)YJU;yz71&Nr zJqcw<@1{O25)HGMA{ph|x@%D?yTRU6PsMWygtFm#qvo^6YBKBj6d~C+r~Iq@Sj7cF zn)2hlJcOk0y{#7?W?izXPjeZM5khr2vl!Jj@&`bB()+s#`p%0L1B-Sp5aUmfu|h9S=Gg7W}Rvg?80ogu(%-}Rb&>aR;?Mt+73-?DzjKj-{t*G z?#y4)iEx(bNwBW#zjbOr2T2b}ygnZ^@>6d^|v5tyi*MOeDT z8OpW|#mReU)hy4iVRcq}u`?|LpujMFVxt9Z{jE=@=@{6aJ(t*U5|Nkm%SK2gt1}dm zKJPNIoL@_cV@#TKEGd&bvXsVj40ZHu|5^(iJS$4f?_r<&&vBXSWTyb*kIi*Ftwq{c zMPs-!rhq0joF(F3S3tO-;CCetQ~*@&h4SY<2%4hGoUcReGo3L`341WjxLJX_c}jbe z0aXG3cxFd?lK=%I3ZZ?IjbRQQ7wWFAuC$gpe5AH^RV{8NKwh_Z|)P3~yK#hmf{b=S+ zO?;oscjM6T%ikeo(%@~BUZe?po4v&m#sUfDo%lBRjn3-GmwJ)GTwkvOa|q7qtJIeN z(cv@0>EyE9JEDVo?KrbnXF# zlzt8J{@7%?vSbF$HQetMGjXv@rz zf=)VG@wvSu^s2_10u-lxaWtMAkjf!NaRTn&22x^h*8kfcJKL}#u z^6*cQWT|Fkqr;#4S&OZ^a5Y0%;4d z%FK!sm#Yv;ptwK4l(pYp6?MC7C($A;1P5O*uf@a)?6(<}HD+S^wM>c_Si&G=n=hW(l(-P_D&`RJd^oG;&HF^s2Sv*(SXhOphLvdY%qUv zLvbB3A*PCORyPg&6qolzx4S(MneS&tM%8?33f3g&Zyb4M4vj3cv#O4tBj z!fZmg1XvvJRo>}*hG?@Zh5tLk?yuVNbkMf?hi}lVik=UkHl4S{xT{rW=$E~<@20Bh z&=rL7+C6h~YU<-M1iCQGNV zjN5-q|E>$qIckoD&jJ;VZzmOd@W|2gO~JxtX2C-NPNSvy?&;XF_&CGU zVcod#q%ZC8g`umou~btR=}RFxis;s@XDIN>15Me_p#Ud2k$qZy$B?9ur-=N0-xsJ- z#OW)?7UzH?-BE6Ei!D_7uX}^LXM1mB9cYgPpuIw=`by zTEG53<#r5pGbU5-I!^2y;o!LKD@&!u-i8@fb}Hyrd7HmRn}bG#63?=#Y+a%ni*}yM zbx1g^SQvPQi|J$8c6YAX5BYV$*Oukd4px;d66V|ckBYNdVb)=fEyMTWw;E9jLE_Gm zA_T;$nJYo{qocmXYpeSPHIyW3E3_9|y!JbWR9Jx?_Ou=s(PJR*qy~4q=H&1g@!8w_ z+4!O++xR~vuc{>_LA*fzpd0yxUxao<20kXfpGI{rZ^JVaw*aj^#L^lPM!VY_kPNTS zX4}#}hUB2WW6{Hp9jo|a-|>{#%!J+R-?Rn(&3)hu>*k&RQjYL|Xc}Uzd9+%T;|jc| zvtUCL^8udIsA*J8oD)rN3F(tb%ZPM$$ru?5nDlU-|)$If&oGL=xT`A9C06*>!jwb$H8{6L$2KoTspPD zG_~R1j+NjUi|OYZ?n;r$&$W-@^@hZ}?Gpf@W+K!C(erWd?v_v(ZQza+G_~o6s1FS$ z&s#f%W}$;dyraz?9&3KLk^@S?03b_&hzK;7P*zn=B=LaY zbwgp@;O+I;9RRIWJZ7PiBMC8Ec__+byEh47hYb}8J#+hlIxNamS0xZSoQKwT4i1y` z0$;vR^wP_Ov!(u6=dG?SiMK?@37m$fM!flTdrK-~O~YC-K&BU5`d1wk31J+sm03>l z-|d7fXBdt2X5*$SyGGhTUT}J{q#%AHjne~!^P6Q>QUZvqHzsd?B_IG@4)3%Ipj^o# zqRJA`bcoxWq3YhgNOvA@5Xomk;}C=Gxu(Uca!_gK9@S~JZ7*|z?1wZVfK1) zmBhMS?Rv{tTt~afJqsYku8O5*?fOX>FP_FZws2nu=RmW0)jnBBe~z7$XLru)YHy+m z9pM)-@MV+Ufpx7sJ4pcucX`5>lW49}`t}Ol?9Y3PKSqucd+f5Q($6;k)VbvM>mIQR zci1n95;7NTy(-jBCsZp``yJcEag1zUD|R2bhd&YGuTf^y!|?8p#jR)))H5zjm#}NI z9fc8JkruxVZ~7{W#Av!H*x>d05+=E6^25?L)OL;`)GTbe8$*;To?F!79EAoMh>H7| zyZ5!(l*=)YQJ!-%wln0umrcwSsj(-&YQV|XU0vmSk(P6`DTc}TYBP#8$G>dPPY|^( zd`wf3KiCdX1prlgDEMY2$M41!EzGDL-%UXWlpe-yN*C8H*2z!?a#uL+OyLzv+?|{4 zAJ%vi1#3^Q+Y)zZKB2gd=a0+-Wf*bWEk(h)e9H!Zp*#on%ZOT%y_T|G^~h0u4_9is3_QOv}-k@y4BP~@@# z0Y49mr^myXAc~zyl@Nk>mLuLAM(*1R;^EU-bO4UP3da|e2>u-$S}kY|>XE`rk`X1* zG6QVJLxhKRVl}_J_|dAi8_8!p@ua=FEWr)LE;I8(Ybxnx1Wf?5>w*Jid7_S-^27n1~GTg^xkV*#B@oY}p`-~>#PF49jNS_{DXT)S$ zv}%iE#<>b`b1}nbp~*TCJ7pK00uyL5j1u3SeeCysQlj(~ioP$fxI|_z&;U^c(-@_- zUvR)5SS=9yG&N5V&xNv4avH%<_o931ZD19ot0M7bFvqWr-RkqK`Z2JiB-o}b9HSVW zPEc~GdR!&{mkE3ALqd=)9v32ZB0vJ46Nu0R@n`R;*b(DGez%HOA;9Qauuc=34M_Q( zQGl|#fJ<)UVevHuegk~vR6YDkMeWSyxHBtx#Ee0z0TBWbw&g zkR9#Dv}L*ngEtx!ZAx-dAUaBt;ZP88ub~ACrmCz)K(ZlMb*3 z+Zw!3W!0QQe+jK98w0U|{&8Y|*+Zz91~;$w9An##v`;B+dtzyADyNt76ojW71aQO> zgY&RZ4ITe+*(d%|VE@4GtP$kcm4SdIWvnMS^ds;sW^;vp24IVuIm);Csg}cn!J3Az zK^^WQQ9^bDeKaHmwXCR54<_a(bT{HXPDw1Qqk4jt4j5da%Vt@`WyEtQPXE%pErsF| znYuor=+I?mv;&>SCbVL6kmt$L+=Fb&(GyB`ZM#{lN9 zDX8JloSS0@#D8NC_2qvY|NCshTtnf>@R4|nuRO>I7Hpi*V0;i6#v3C6=zo_bCUm5S zq=*C59rjUF5>!~liJsc~&oa2r-WHp#%;C!&d-)5@IA) zF@YU51H`&_Dax8m%djV`A=Jh?$q1f^g&O;Dm9IlbFd}IH0}(BHg&|yH8}<`-6X4DF z%8R$6=10xOs8;dmnn}<4z!s>d@hg*tQ}P9lMpf0gvTJQTJw)y&hN=l(csyjJ6GaUu z^Z$Sot{p)+)@T%!`lX+r)p-8QZiy8OG~^=oV-`*VvGd=1nnz$k z?R|QsOa@;zW3Ru=Ua>00f51V05XClmBp`)`3i~d%Y=l&7EUHO^UlEJSD&aF zdgr$zro=0?9X~mWR^E^JP!gKJYrh(y;Ir_Lcua`3IOwftgCJ%4lfI16#s3aWpg;wa z=^C0n2XatNrt9TsdT?qY>A(x{m)f~rU)j}J0k+bD+jHWQdAebc$gaNf7PYa)qHDX; z5jad13oRBN%L7S61*)WM2#xc%YB?kC1_CPCJ7OX?Aa8pMgtd`LdhJM23r1-jiQ6C> zFFfh=6!V98@Vs$7R_xQ7&NHffn$aTyWybLQMcpdGkxJx<9iKS+&NW6)VuJyp#MO{N zeWBywM!_j9QyAdAY!#U=ycKw-4DXj7QrS;F*iFVDuy6;*NO#(U;^^|Gw4lT(_*AXf zDfu`N3#k^XmoEj;^cgT#v%c%NEu#&(?EI6X@fyD2Qul=TwSv@w{N7h*Yh8z^VZxSg zjn)BmzLL}1{imU=1_DQPh9x4nO8g*nab5D8agBe$bzao?M)cHMH5s??W&