| /** |
| * 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; |
| } |
| } |