From 1aa3e85b2ee6c20c433bf50d409b57fd2cd0fc66 Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath <nathbap...@gmail.com> Date: Wed, 2 Oct 2024 16:35:28 +0000 Subject: [PATCH] headers: Add iwscapi.idl
Required for https://github.com/mozilla/gecko-dev/blob/7e0ae4372c52b8183d1178132dd6493edb576738/xpcom/base/nsSystemInfo.cpp#L28 Signed-off-by: Biswapriyo Nath <nathbap...@gmail.com> --- mingw-w64-headers/Makefile.am | 1 + mingw-w64-headers/include/iwscapi.idl | 122 ++++++++++++++++++++++++++ 2 files changed, 123 insertions(+) create mode 100644 mingw-w64-headers/include/iwscapi.idl diff --git a/mingw-w64-headers/Makefile.am b/mingw-w64-headers/Makefile.am index 7132c27..bb703ed 100644 --- a/mingw-w64-headers/Makefile.am +++ b/mingw-w64-headers/Makefile.am @@ -163,6 +163,7 @@ IDL_SRCS = \ include/inputscope.idl \ include/inspectable.idl \ include/ivectorchangedeventargs.idl \ + include/iwscapi.idl \ include/locationapi.idl \ include/oaidl.idl \ include/ocidl.idl \ diff --git a/mingw-w64-headers/include/iwscapi.idl b/mingw-w64-headers/include/iwscapi.idl new file mode 100644 index 0000000..4d4f2ee --- /dev/null +++ b/mingw-w64-headers/include/iwscapi.idl @@ -0,0 +1,122 @@ +/** + * 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; + } +} -- 2.46.2
_______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public