| /** | 
 |  * This file has no copyright assigned and is placed in the Public Domain. | 
 |  * This file is part of the mingw-w64 runtime package. | 
 |  * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
 |  */ | 
 |  | 
 | import "oaidl.idl"; | 
 |  | 
 | typedef enum WSC_SECURITY_PRODUCT_SUBSTATUS { | 
 |     WSC_SECURITY_PRODUCT_SUBSTATUS_NOT_SET = 0, | 
 |     WSC_SECURITY_PRODUCT_SUBSTATUS_NO_ACTION = 1, | 
 |     WSC_SECURITY_PRODUCT_SUBSTATUS_ACTION_RECOMMENDED = 2, | 
 |     WSC_SECURITY_PRODUCT_SUBSTATUS_ACTION_NEEDED = 3, | 
 | } WSC_SECURITY_PRODUCT_SUBSTATUS; | 
 |  | 
 | typedef enum WSC_SECURITY_PRODUCT_STATE { | 
 |     WSC_SECURITY_PRODUCT_STATE_ON = 0, | 
 |     WSC_SECURITY_PRODUCT_STATE_OFF = 1, | 
 |     WSC_SECURITY_PRODUCT_STATE_SNOOZED = 2, | 
 |     WSC_SECURITY_PRODUCT_STATE_EXPIRED = 3, | 
 | } WSC_SECURITY_PRODUCT_STATE; | 
 |  | 
 | typedef enum _SECURITY_PRODUCT_TYPE { | 
 |     SECURITY_PRODUCT_TYPE_ANTIVIRUS = 0, | 
 |     SECURITY_PRODUCT_TYPE_FIREWALL = 1, | 
 |     SECURITY_PRODUCT_TYPE_ANTISPYWARE = 2, | 
 | } SECURITY_PRODUCT_TYPE; | 
 |  | 
 | typedef enum _WSC_SECURITY_SIGNATURE_STATUS { | 
 |     WSC_SECURITY_PRODUCT_OUT_OF_DATE = 0, | 
 |     WSC_SECURITY_PRODUCT_UP_TO_DATE = 1, | 
 | } WSC_SECURITY_SIGNATURE_STATUS; | 
 |  | 
 | [ | 
 |     local, | 
 |     object, | 
 |     pointer_default(unique), | 
 |     uuid(8c38232e-3a45-4a27-92b0-1a16a975f669) | 
 | ] | 
 | interface IWscProduct : IDispatch | 
 | { | 
 |     [propget] HRESULT ProductName([out, retval] BSTR *val); | 
 |     [propget] HRESULT ProductState([out, retval] WSC_SECURITY_PRODUCT_STATE *val); | 
 |     [propget] HRESULT SignatureStatus([out, retval] WSC_SECURITY_SIGNATURE_STATUS *val); | 
 |     [propget] HRESULT RemediationPath([out, retval] BSTR *val); | 
 |     [propget] HRESULT ProductStateTimestamp([out, retval] BSTR *val); | 
 |     [propget] HRESULT ProductGuid([out, retval] BSTR *val); | 
 |     [propget] HRESULT ProductIsDefault([out, retval] BOOL *val); | 
 | } | 
 |  | 
 | [ | 
 |     local, | 
 |     object, | 
 |     pointer_default(unique), | 
 |     uuid(f896ca54-fe09-4403-86d4-23cb488d81d8) | 
 | ] | 
 | interface IWscProduct2 : IWscProduct | 
 | { | 
 |     [propget] HRESULT AntivirusScanSubstatus([out, retval] WSC_SECURITY_PRODUCT_SUBSTATUS *status); | 
 |     [propget] HRESULT AntivirusSettingsSubstatus([out, retval] WSC_SECURITY_PRODUCT_SUBSTATUS *status); | 
 |     [propget] HRESULT AntivirusProtectionUpdateSubstatus([out, retval] WSC_SECURITY_PRODUCT_SUBSTATUS *status); | 
 |     [propget] HRESULT FirewallDomainProfileSubstatus([out, retval] WSC_SECURITY_PRODUCT_SUBSTATUS *status); | 
 |     [propget] HRESULT FirewallPrivateProfileSubstatus([out, retval] WSC_SECURITY_PRODUCT_SUBSTATUS *status); | 
 |     [propget] HRESULT FirewallPublicProfileSubstatus([out, retval] WSC_SECURITY_PRODUCT_SUBSTATUS *status); | 
 | } | 
 |  | 
 | [ | 
 |     local, | 
 |     object, | 
 |     pointer_default(unique), | 
 |     uuid(55536524-d1d1-4726-8c7c-04996a1904e7) | 
 | ] | 
 | interface IWscProduct3 : IWscProduct2 | 
 | { | 
 |     [propget] HRESULT AntivirusDaysUntilExpired([out, retval] DWORD *days); | 
 | } | 
 |  | 
 | [ | 
 |     local, | 
 |     object, | 
 |     pointer_default(unique), | 
 |     uuid(722a338c-6e8e-4e72-ac27-1417fb0c81c2) | 
 | ] | 
 | interface IWSCProductList : IDispatch | 
 | { | 
 |     HRESULT Initialize([in] ULONG provider); | 
 |     [propget] HRESULT Count([out, retval] LONG *val); | 
 |     [propget] HRESULT Item([in] ULONG index, [out, retval] IWscProduct **val); | 
 | } | 
 |  | 
 | [ | 
 |     local, | 
 |     object, | 
 |     pointer_default(unique), | 
 |     uuid(0476d69c-f21a-11e5-9ce9-5e5517507c66) | 
 | ] | 
 | interface IWSCDefaultProduct : IDispatch | 
 | { | 
 |     HRESULT SetDefaultProduct([in] SECURITY_PRODUCT_TYPE type, [in] BSTR guid); | 
 | } | 
 |  | 
 | [ | 
 |     uuid(b52a4496-7753-4f74-be64-c2072e308122) | 
 | ] | 
 | library wscAPILib | 
 | { | 
 |     [ | 
 |         uuid(17072f7b-9abe-4a74-a261-1eb76b55107a) | 
 |     ] | 
 |     coclass WSCProductList | 
 |     { | 
 |         interface IWSCProductList; | 
 |     } | 
 |  | 
 |     [ | 
 |         uuid(2981a36e-f22d-11e5-9ce9-5e5517507c66) | 
 |     ] | 
 |     coclass WSCDefaultProduct | 
 |     { | 
 |         interface IWSCDefaultProduct; | 
 |     } | 
 | } |