32#pragma clang diagnostic push
33#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
39#define E_NOTFOUND HRESULT_FROM_WIN32(ERROR_NOT_FOUND)
43#define E_FILENOTFOUND HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
80#ifndef __ISetupInstance_FWD_DEFINED__
81#define __ISetupInstance_FWD_DEFINED__
85#ifndef __ISetupInstance2_FWD_DEFINED__
86#define __ISetupInstance2_FWD_DEFINED__
90#ifndef __IEnumSetupInstances_FWD_DEFINED__
91#define __IEnumSetupInstances_FWD_DEFINED__
95#ifndef __ISetupConfiguration_FWD_DEFINED__
96#define __ISetupConfiguration_FWD_DEFINED__
100#ifndef __ISetupConfiguration2_FWD_DEFINED__
101#define __ISetupConfiguration2_FWD_DEFINED__
105#ifndef __ISetupPackageReference_FWD_DEFINED__
106#define __ISetupPackageReference_FWD_DEFINED__
110#ifndef __ISetupHelper_FWD_DEFINED__
111#define __ISetupHelper_FWD_DEFINED__
117#ifndef __SetupConfiguration_FWD_DEFINED__
118#define __SetupConfiguration_FWD_DEFINED__
121typedef class SetupConfiguration SetupConfiguration;
134#if defined(__cplusplus) && !defined(CINTERFACE)
138struct DECLSPEC_UUID(
"B41463C3-8866-43B5-BC33-2B0676F7F42E")
147 STDMETHOD(GetInstanceId)(_Out_ BSTR *pbstrInstanceId) = 0;
158 STDMETHOD(GetInstallDate)(_Out_ LPFILETIME pInstallDate) = 0;
170 STDMETHOD(GetInstallationName)(_Out_ BSTR *pbstrInstallationName) = 0;
180 STDMETHOD(GetInstallationPath)(_Out_ BSTR *pbstrInstallationPath) = 0;
190 STDMETHOD(GetInstallationVersion)(_Out_ BSTR *pbstrInstallationVersion) = 0;
201 STDMETHOD(GetDisplayName)(_In_ LCID lcid, _Out_ BSTR *pbstrDisplayName) = 0;
212 STDMETHOD(GetDescription)(_In_ LCID lcid, _Out_ BSTR *pbstrDescription) = 0;
225 STDMETHOD(ResolvePath)
226 (_In_opt_z_ LPCOLESTR pwszRelativePath, _Out_ BSTR *pbstrAbsolutePath) = 0;
232#if defined(__cplusplus) && !defined(CINTERFACE)
236struct DECLSPEC_UUID(
"89143C9A-05AF-49B0-B717-72E218A2185C")
254 STDMETHOD(GetPackages)(_Out_ LPSAFEARRAY *ppsaPackages) = 0;
266 STDMETHOD(GetProduct)
276 STDMETHOD(GetProductPath)
277 (_Outptr_result_maybenull_ BSTR *pbstrProductPath) = 0;
283#if defined(__cplusplus) && !defined(CINTERFACE)
287struct DECLSPEC_UUID(
"6380BCFF-41D3-4B2E-8B2E-BF8A6810C848")
302 (_In_ ULONG celt, _Out_writes_to_(celt, *pceltFetched)
ISetupInstance **rgelt,
303 _Out_opt_ _Deref_out_range_(0, celt) ULONG *pceltFetched) = 0;
311 STDMETHOD(Skip)(_In_ ULONG celt) = 0;
317 STDMETHOD(Reset)(void) = 0;
334#if defined(__cplusplus) && !defined(CINTERFACE)
338struct DECLSPEC_UUID(
"42843719-DB4C-46C2-8E7C-64F1816EFD5B")
355 STDMETHOD(GetInstanceForCurrentProcess)
364 STDMETHOD(GetInstanceForPath)
371#if defined(__cplusplus) && !defined(CINTERFACE)
375struct DECLSPEC_UUID(
"26AAB78C-4A60-49D6-AF3B-3C35BC93365D")
389#if defined(__cplusplus) && !defined(CINTERFACE)
393struct DECLSPEC_UUID(
"da8d8a16-b2b6-4487-a2f1-594ccccd6bf5")
400 STDMETHOD(GetId)(_Out_ BSTR *pbstrId) = 0;
407 STDMETHOD(GetVersion)(_Out_ BSTR *pbstrVersion) = 0;
415 STDMETHOD(GetChip)(_Out_ BSTR *pbstrChip) = 0;
423 STDMETHOD(GetLanguage)(_Out_ BSTR *pbstrLanguage) = 0;
430 STDMETHOD(GetBranch)(_Out_ BSTR *pbstrBranch) = 0;
437 STDMETHOD(GetType)(_Out_ BSTR *pbstrType) = 0;
446 STDMETHOD(GetUniqueId)(_Out_ BSTR *pbstrUniqueId) = 0;
452#if defined(__cplusplus) && !defined(CINTERFACE)
460struct DECLSPEC_UUID(
"42b21b78-6192-463e-87bf-d577838f1d5c")
470 STDMETHOD(ParseVersion)
471 (_In_ LPCOLESTR pwszVersion, _Out_ PULONGLONG pullVersion) = 0;
485 STDMETHOD(ParseVersionRange)
486 (_In_ LPCOLESTR pwszVersionRange, _Out_ PULONGLONG pullMinVersion,
487 _Out_ PULONGLONG pullMaxVersion) = 0;
500class DECLSPEC_UUID(
"177F0C4A-1CD3-4DE7-A32C-71DBBB9FA36D") SetupConfiguration;
515 _Reserved_ LPVOID pReserved);
522#pragma clang diagnostic pop
struct ISetupInstance2 ISetupInstance2
EXTERN_C const IID IID_ISetupConfiguration2
struct ISetupInstance ISetupInstance
EXTERN_C const IID IID_ISetupInstance
EXTERN_C const IID IID_IEnumSetupInstances
EXTERN_C const IID IID_ISetupHelper
InstanceState
The state of an instance.
@ eNone
The instance state has not been determined.
@ eComplete
The instance represents a complete install.
@ eRegistered
A product is registered to the instance.
@ eLocal
The instance installation path exists.
@ eNoRebootRequired
No reboot is required for the instance.
struct ISetupPackageReference ISetupPackageReference
struct ISetupConfiguration ISetupConfiguration
struct ISetupHelper ISetupHelper
EXTERN_C const CLSID CLSID_SetupConfiguration
struct ISetupConfiguration2 ISetupConfiguration2
EXTERN_C const IID IID_ISetupConfiguration
EXTERN_C const IID IID_ISetupInstance2
STDMETHODIMP GetSetupConfiguration(_Out_ ISetupConfiguration **ppConfiguration, _Reserved_ LPVOID pReserved)
Gets an ISetupConfiguration that provides information about product instances installed on the machin...
struct IEnumSetupInstances IEnumSetupInstances
EXTERN_C const IID IID_ISetupPackageReference