zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

iwscapi.h (42619B) - Raw


      1 /*** Autogenerated by WIDL 10.4 from include/iwscapi.idl - Do not edit ***/
      2 
      3 #ifdef _WIN32
      4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      6 #endif
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 #endif
     10 
     11 #ifndef COM_NO_WINDOWS_H
     12 #include <windows.h>
     13 #include <ole2.h>
     14 #endif
     15 
     16 #ifndef __iwscapi_h__
     17 #define __iwscapi_h__
     18 
     19 /* Forward declarations */
     20 
     21 #ifndef __IWscProduct_FWD_DEFINED__
     22 #define __IWscProduct_FWD_DEFINED__
     23 typedef interface IWscProduct IWscProduct;
     24 #ifdef __cplusplus
     25 interface IWscProduct;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __IWscProduct2_FWD_DEFINED__
     30 #define __IWscProduct2_FWD_DEFINED__
     31 typedef interface IWscProduct2 IWscProduct2;
     32 #ifdef __cplusplus
     33 interface IWscProduct2;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 #ifndef __IWscProduct3_FWD_DEFINED__
     38 #define __IWscProduct3_FWD_DEFINED__
     39 typedef interface IWscProduct3 IWscProduct3;
     40 #ifdef __cplusplus
     41 interface IWscProduct3;
     42 #endif /* __cplusplus */
     43 #endif
     44 
     45 #ifndef __IWSCProductList_FWD_DEFINED__
     46 #define __IWSCProductList_FWD_DEFINED__
     47 typedef interface IWSCProductList IWSCProductList;
     48 #ifdef __cplusplus
     49 interface IWSCProductList;
     50 #endif /* __cplusplus */
     51 #endif
     52 
     53 #ifndef __IWSCDefaultProduct_FWD_DEFINED__
     54 #define __IWSCDefaultProduct_FWD_DEFINED__
     55 typedef interface IWSCDefaultProduct IWSCDefaultProduct;
     56 #ifdef __cplusplus
     57 interface IWSCDefaultProduct;
     58 #endif /* __cplusplus */
     59 #endif
     60 
     61 #ifndef __WSCProductList_FWD_DEFINED__
     62 #define __WSCProductList_FWD_DEFINED__
     63 #ifdef __cplusplus
     64 typedef class WSCProductList WSCProductList;
     65 #else
     66 typedef struct WSCProductList WSCProductList;
     67 #endif /* defined __cplusplus */
     68 #endif /* defined __WSCProductList_FWD_DEFINED__ */
     69 
     70 #ifndef __WSCDefaultProduct_FWD_DEFINED__
     71 #define __WSCDefaultProduct_FWD_DEFINED__
     72 #ifdef __cplusplus
     73 typedef class WSCDefaultProduct WSCDefaultProduct;
     74 #else
     75 typedef struct WSCDefaultProduct WSCDefaultProduct;
     76 #endif /* defined __cplusplus */
     77 #endif /* defined __WSCDefaultProduct_FWD_DEFINED__ */
     78 
     79 /* Headers for imported files */
     80 
     81 #include <oaidl.h>
     82 
     83 #ifdef __cplusplus
     84 extern "C" {
     85 #endif
     86 
     87 typedef enum WSC_SECURITY_PRODUCT_SUBSTATUS {
     88     WSC_SECURITY_PRODUCT_SUBSTATUS_NOT_SET = 0,
     89     WSC_SECURITY_PRODUCT_SUBSTATUS_NO_ACTION = 1,
     90     WSC_SECURITY_PRODUCT_SUBSTATUS_ACTION_RECOMMENDED = 2,
     91     WSC_SECURITY_PRODUCT_SUBSTATUS_ACTION_NEEDED = 3
     92 } WSC_SECURITY_PRODUCT_SUBSTATUS;
     93 typedef enum WSC_SECURITY_PRODUCT_STATE {
     94     WSC_SECURITY_PRODUCT_STATE_ON = 0,
     95     WSC_SECURITY_PRODUCT_STATE_OFF = 1,
     96     WSC_SECURITY_PRODUCT_STATE_SNOOZED = 2,
     97     WSC_SECURITY_PRODUCT_STATE_EXPIRED = 3
     98 } WSC_SECURITY_PRODUCT_STATE;
     99 typedef enum _SECURITY_PRODUCT_TYPE {
    100     SECURITY_PRODUCT_TYPE_ANTIVIRUS = 0,
    101     SECURITY_PRODUCT_TYPE_FIREWALL = 1,
    102     SECURITY_PRODUCT_TYPE_ANTISPYWARE = 2
    103 } SECURITY_PRODUCT_TYPE;
    104 typedef enum _WSC_SECURITY_SIGNATURE_STATUS {
    105     WSC_SECURITY_PRODUCT_OUT_OF_DATE = 0,
    106     WSC_SECURITY_PRODUCT_UP_TO_DATE = 1
    107 } WSC_SECURITY_SIGNATURE_STATUS;
    108 /*****************************************************************************
    109  * IWscProduct interface
    110  */
    111 #ifndef __IWscProduct_INTERFACE_DEFINED__
    112 #define __IWscProduct_INTERFACE_DEFINED__
    113 
    114 DEFINE_GUID(IID_IWscProduct, 0x8c38232e, 0x3a45, 0x4a27, 0x92,0xb0, 0x1a,0x16,0xa9,0x75,0xf6,0x69);
    115 #if defined(__cplusplus) && !defined(CINTERFACE)
    116 MIDL_INTERFACE("8c38232e-3a45-4a27-92b0-1a16a975f669")
    117 IWscProduct : public IDispatch
    118 {
    119     virtual HRESULT STDMETHODCALLTYPE get_ProductName(
    120         BSTR *val) = 0;
    121 
    122     virtual HRESULT STDMETHODCALLTYPE get_ProductState(
    123         WSC_SECURITY_PRODUCT_STATE *val) = 0;
    124 
    125     virtual HRESULT STDMETHODCALLTYPE get_SignatureStatus(
    126         WSC_SECURITY_SIGNATURE_STATUS *val) = 0;
    127 
    128     virtual HRESULT STDMETHODCALLTYPE get_RemediationPath(
    129         BSTR *val) = 0;
    130 
    131     virtual HRESULT STDMETHODCALLTYPE get_ProductStateTimestamp(
    132         BSTR *val) = 0;
    133 
    134     virtual HRESULT STDMETHODCALLTYPE get_ProductGuid(
    135         BSTR *val) = 0;
    136 
    137     virtual HRESULT STDMETHODCALLTYPE get_ProductIsDefault(
    138         WINBOOL *val) = 0;
    139 
    140 };
    141 #ifdef __CRT_UUID_DECL
    142 __CRT_UUID_DECL(IWscProduct, 0x8c38232e, 0x3a45, 0x4a27, 0x92,0xb0, 0x1a,0x16,0xa9,0x75,0xf6,0x69)
    143 #endif
    144 #else
    145 typedef struct IWscProductVtbl {
    146     BEGIN_INTERFACE
    147 
    148     /*** IUnknown methods ***/
    149     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    150         IWscProduct *This,
    151         REFIID riid,
    152         void **ppvObject);
    153 
    154     ULONG (STDMETHODCALLTYPE *AddRef)(
    155         IWscProduct *This);
    156 
    157     ULONG (STDMETHODCALLTYPE *Release)(
    158         IWscProduct *This);
    159 
    160     /*** IDispatch methods ***/
    161     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
    162         IWscProduct *This,
    163         UINT *pctinfo);
    164 
    165     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
    166         IWscProduct *This,
    167         UINT iTInfo,
    168         LCID lcid,
    169         ITypeInfo **ppTInfo);
    170 
    171     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
    172         IWscProduct *This,
    173         REFIID riid,
    174         LPOLESTR *rgszNames,
    175         UINT cNames,
    176         LCID lcid,
    177         DISPID *rgDispId);
    178 
    179     HRESULT (STDMETHODCALLTYPE *Invoke)(
    180         IWscProduct *This,
    181         DISPID dispIdMember,
    182         REFIID riid,
    183         LCID lcid,
    184         WORD wFlags,
    185         DISPPARAMS *pDispParams,
    186         VARIANT *pVarResult,
    187         EXCEPINFO *pExcepInfo,
    188         UINT *puArgErr);
    189 
    190     /*** IWscProduct methods ***/
    191     HRESULT (STDMETHODCALLTYPE *get_ProductName)(
    192         IWscProduct *This,
    193         BSTR *val);
    194 
    195     HRESULT (STDMETHODCALLTYPE *get_ProductState)(
    196         IWscProduct *This,
    197         WSC_SECURITY_PRODUCT_STATE *val);
    198 
    199     HRESULT (STDMETHODCALLTYPE *get_SignatureStatus)(
    200         IWscProduct *This,
    201         WSC_SECURITY_SIGNATURE_STATUS *val);
    202 
    203     HRESULT (STDMETHODCALLTYPE *get_RemediationPath)(
    204         IWscProduct *This,
    205         BSTR *val);
    206 
    207     HRESULT (STDMETHODCALLTYPE *get_ProductStateTimestamp)(
    208         IWscProduct *This,
    209         BSTR *val);
    210 
    211     HRESULT (STDMETHODCALLTYPE *get_ProductGuid)(
    212         IWscProduct *This,
    213         BSTR *val);
    214 
    215     HRESULT (STDMETHODCALLTYPE *get_ProductIsDefault)(
    216         IWscProduct *This,
    217         WINBOOL *val);
    218 
    219     END_INTERFACE
    220 } IWscProductVtbl;
    221 
    222 interface IWscProduct {
    223     CONST_VTBL IWscProductVtbl* lpVtbl;
    224 };
    225 
    226 #ifdef COBJMACROS
    227 #ifndef WIDL_C_INLINE_WRAPPERS
    228 /*** IUnknown methods ***/
    229 #define IWscProduct_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    230 #define IWscProduct_AddRef(This) (This)->lpVtbl->AddRef(This)
    231 #define IWscProduct_Release(This) (This)->lpVtbl->Release(This)
    232 /*** IDispatch methods ***/
    233 #define IWscProduct_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    234 #define IWscProduct_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    235 #define IWscProduct_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    236 #define IWscProduct_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    237 /*** IWscProduct methods ***/
    238 #define IWscProduct_get_ProductName(This,val) (This)->lpVtbl->get_ProductName(This,val)
    239 #define IWscProduct_get_ProductState(This,val) (This)->lpVtbl->get_ProductState(This,val)
    240 #define IWscProduct_get_SignatureStatus(This,val) (This)->lpVtbl->get_SignatureStatus(This,val)
    241 #define IWscProduct_get_RemediationPath(This,val) (This)->lpVtbl->get_RemediationPath(This,val)
    242 #define IWscProduct_get_ProductStateTimestamp(This,val) (This)->lpVtbl->get_ProductStateTimestamp(This,val)
    243 #define IWscProduct_get_ProductGuid(This,val) (This)->lpVtbl->get_ProductGuid(This,val)
    244 #define IWscProduct_get_ProductIsDefault(This,val) (This)->lpVtbl->get_ProductIsDefault(This,val)
    245 #else
    246 /*** IUnknown methods ***/
    247 static inline HRESULT IWscProduct_QueryInterface(IWscProduct* This,REFIID riid,void **ppvObject) {
    248     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    249 }
    250 static inline ULONG IWscProduct_AddRef(IWscProduct* This) {
    251     return This->lpVtbl->AddRef(This);
    252 }
    253 static inline ULONG IWscProduct_Release(IWscProduct* This) {
    254     return This->lpVtbl->Release(This);
    255 }
    256 /*** IDispatch methods ***/
    257 static inline HRESULT IWscProduct_GetTypeInfoCount(IWscProduct* This,UINT *pctinfo) {
    258     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
    259 }
    260 static inline HRESULT IWscProduct_GetTypeInfo(IWscProduct* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    261     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
    262 }
    263 static inline HRESULT IWscProduct_GetIDsOfNames(IWscProduct* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    264     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
    265 }
    266 static inline HRESULT IWscProduct_Invoke(IWscProduct* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    267     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
    268 }
    269 /*** IWscProduct methods ***/
    270 static inline HRESULT IWscProduct_get_ProductName(IWscProduct* This,BSTR *val) {
    271     return This->lpVtbl->get_ProductName(This,val);
    272 }
    273 static inline HRESULT IWscProduct_get_ProductState(IWscProduct* This,WSC_SECURITY_PRODUCT_STATE *val) {
    274     return This->lpVtbl->get_ProductState(This,val);
    275 }
    276 static inline HRESULT IWscProduct_get_SignatureStatus(IWscProduct* This,WSC_SECURITY_SIGNATURE_STATUS *val) {
    277     return This->lpVtbl->get_SignatureStatus(This,val);
    278 }
    279 static inline HRESULT IWscProduct_get_RemediationPath(IWscProduct* This,BSTR *val) {
    280     return This->lpVtbl->get_RemediationPath(This,val);
    281 }
    282 static inline HRESULT IWscProduct_get_ProductStateTimestamp(IWscProduct* This,BSTR *val) {
    283     return This->lpVtbl->get_ProductStateTimestamp(This,val);
    284 }
    285 static inline HRESULT IWscProduct_get_ProductGuid(IWscProduct* This,BSTR *val) {
    286     return This->lpVtbl->get_ProductGuid(This,val);
    287 }
    288 static inline HRESULT IWscProduct_get_ProductIsDefault(IWscProduct* This,WINBOOL *val) {
    289     return This->lpVtbl->get_ProductIsDefault(This,val);
    290 }
    291 #endif
    292 #endif
    293 
    294 #endif
    295 
    296 
    297 #endif  /* __IWscProduct_INTERFACE_DEFINED__ */
    298 
    299 /*****************************************************************************
    300  * IWscProduct2 interface
    301  */
    302 #ifndef __IWscProduct2_INTERFACE_DEFINED__
    303 #define __IWscProduct2_INTERFACE_DEFINED__
    304 
    305 DEFINE_GUID(IID_IWscProduct2, 0xf896ca54, 0xfe09, 0x4403, 0x86,0xd4, 0x23,0xcb,0x48,0x8d,0x81,0xd8);
    306 #if defined(__cplusplus) && !defined(CINTERFACE)
    307 MIDL_INTERFACE("f896ca54-fe09-4403-86d4-23cb488d81d8")
    308 IWscProduct2 : public IWscProduct
    309 {
    310     virtual HRESULT STDMETHODCALLTYPE get_AntivirusScanSubstatus(
    311         WSC_SECURITY_PRODUCT_SUBSTATUS *status) = 0;
    312 
    313     virtual HRESULT STDMETHODCALLTYPE get_AntivirusSettingsSubstatus(
    314         WSC_SECURITY_PRODUCT_SUBSTATUS *status) = 0;
    315 
    316     virtual HRESULT STDMETHODCALLTYPE get_AntivirusProtectionUpdateSubstatus(
    317         WSC_SECURITY_PRODUCT_SUBSTATUS *status) = 0;
    318 
    319     virtual HRESULT STDMETHODCALLTYPE get_FirewallDomainProfileSubstatus(
    320         WSC_SECURITY_PRODUCT_SUBSTATUS *status) = 0;
    321 
    322     virtual HRESULT STDMETHODCALLTYPE get_FirewallPrivateProfileSubstatus(
    323         WSC_SECURITY_PRODUCT_SUBSTATUS *status) = 0;
    324 
    325     virtual HRESULT STDMETHODCALLTYPE get_FirewallPublicProfileSubstatus(
    326         WSC_SECURITY_PRODUCT_SUBSTATUS *status) = 0;
    327 
    328 };
    329 #ifdef __CRT_UUID_DECL
    330 __CRT_UUID_DECL(IWscProduct2, 0xf896ca54, 0xfe09, 0x4403, 0x86,0xd4, 0x23,0xcb,0x48,0x8d,0x81,0xd8)
    331 #endif
    332 #else
    333 typedef struct IWscProduct2Vtbl {
    334     BEGIN_INTERFACE
    335 
    336     /*** IUnknown methods ***/
    337     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    338         IWscProduct2 *This,
    339         REFIID riid,
    340         void **ppvObject);
    341 
    342     ULONG (STDMETHODCALLTYPE *AddRef)(
    343         IWscProduct2 *This);
    344 
    345     ULONG (STDMETHODCALLTYPE *Release)(
    346         IWscProduct2 *This);
    347 
    348     /*** IDispatch methods ***/
    349     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
    350         IWscProduct2 *This,
    351         UINT *pctinfo);
    352 
    353     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
    354         IWscProduct2 *This,
    355         UINT iTInfo,
    356         LCID lcid,
    357         ITypeInfo **ppTInfo);
    358 
    359     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
    360         IWscProduct2 *This,
    361         REFIID riid,
    362         LPOLESTR *rgszNames,
    363         UINT cNames,
    364         LCID lcid,
    365         DISPID *rgDispId);
    366 
    367     HRESULT (STDMETHODCALLTYPE *Invoke)(
    368         IWscProduct2 *This,
    369         DISPID dispIdMember,
    370         REFIID riid,
    371         LCID lcid,
    372         WORD wFlags,
    373         DISPPARAMS *pDispParams,
    374         VARIANT *pVarResult,
    375         EXCEPINFO *pExcepInfo,
    376         UINT *puArgErr);
    377 
    378     /*** IWscProduct methods ***/
    379     HRESULT (STDMETHODCALLTYPE *get_ProductName)(
    380         IWscProduct2 *This,
    381         BSTR *val);
    382 
    383     HRESULT (STDMETHODCALLTYPE *get_ProductState)(
    384         IWscProduct2 *This,
    385         WSC_SECURITY_PRODUCT_STATE *val);
    386 
    387     HRESULT (STDMETHODCALLTYPE *get_SignatureStatus)(
    388         IWscProduct2 *This,
    389         WSC_SECURITY_SIGNATURE_STATUS *val);
    390 
    391     HRESULT (STDMETHODCALLTYPE *get_RemediationPath)(
    392         IWscProduct2 *This,
    393         BSTR *val);
    394 
    395     HRESULT (STDMETHODCALLTYPE *get_ProductStateTimestamp)(
    396         IWscProduct2 *This,
    397         BSTR *val);
    398 
    399     HRESULT (STDMETHODCALLTYPE *get_ProductGuid)(
    400         IWscProduct2 *This,
    401         BSTR *val);
    402 
    403     HRESULT (STDMETHODCALLTYPE *get_ProductIsDefault)(
    404         IWscProduct2 *This,
    405         WINBOOL *val);
    406 
    407     /*** IWscProduct2 methods ***/
    408     HRESULT (STDMETHODCALLTYPE *get_AntivirusScanSubstatus)(
    409         IWscProduct2 *This,
    410         WSC_SECURITY_PRODUCT_SUBSTATUS *status);
    411 
    412     HRESULT (STDMETHODCALLTYPE *get_AntivirusSettingsSubstatus)(
    413         IWscProduct2 *This,
    414         WSC_SECURITY_PRODUCT_SUBSTATUS *status);
    415 
    416     HRESULT (STDMETHODCALLTYPE *get_AntivirusProtectionUpdateSubstatus)(
    417         IWscProduct2 *This,
    418         WSC_SECURITY_PRODUCT_SUBSTATUS *status);
    419 
    420     HRESULT (STDMETHODCALLTYPE *get_FirewallDomainProfileSubstatus)(
    421         IWscProduct2 *This,
    422         WSC_SECURITY_PRODUCT_SUBSTATUS *status);
    423 
    424     HRESULT (STDMETHODCALLTYPE *get_FirewallPrivateProfileSubstatus)(
    425         IWscProduct2 *This,
    426         WSC_SECURITY_PRODUCT_SUBSTATUS *status);
    427 
    428     HRESULT (STDMETHODCALLTYPE *get_FirewallPublicProfileSubstatus)(
    429         IWscProduct2 *This,
    430         WSC_SECURITY_PRODUCT_SUBSTATUS *status);
    431 
    432     END_INTERFACE
    433 } IWscProduct2Vtbl;
    434 
    435 interface IWscProduct2 {
    436     CONST_VTBL IWscProduct2Vtbl* lpVtbl;
    437 };
    438 
    439 #ifdef COBJMACROS
    440 #ifndef WIDL_C_INLINE_WRAPPERS
    441 /*** IUnknown methods ***/
    442 #define IWscProduct2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    443 #define IWscProduct2_AddRef(This) (This)->lpVtbl->AddRef(This)
    444 #define IWscProduct2_Release(This) (This)->lpVtbl->Release(This)
    445 /*** IDispatch methods ***/
    446 #define IWscProduct2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    447 #define IWscProduct2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    448 #define IWscProduct2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    449 #define IWscProduct2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    450 /*** IWscProduct methods ***/
    451 #define IWscProduct2_get_ProductName(This,val) (This)->lpVtbl->get_ProductName(This,val)
    452 #define IWscProduct2_get_ProductState(This,val) (This)->lpVtbl->get_ProductState(This,val)
    453 #define IWscProduct2_get_SignatureStatus(This,val) (This)->lpVtbl->get_SignatureStatus(This,val)
    454 #define IWscProduct2_get_RemediationPath(This,val) (This)->lpVtbl->get_RemediationPath(This,val)
    455 #define IWscProduct2_get_ProductStateTimestamp(This,val) (This)->lpVtbl->get_ProductStateTimestamp(This,val)
    456 #define IWscProduct2_get_ProductGuid(This,val) (This)->lpVtbl->get_ProductGuid(This,val)
    457 #define IWscProduct2_get_ProductIsDefault(This,val) (This)->lpVtbl->get_ProductIsDefault(This,val)
    458 /*** IWscProduct2 methods ***/
    459 #define IWscProduct2_get_AntivirusScanSubstatus(This,status) (This)->lpVtbl->get_AntivirusScanSubstatus(This,status)
    460 #define IWscProduct2_get_AntivirusSettingsSubstatus(This,status) (This)->lpVtbl->get_AntivirusSettingsSubstatus(This,status)
    461 #define IWscProduct2_get_AntivirusProtectionUpdateSubstatus(This,status) (This)->lpVtbl->get_AntivirusProtectionUpdateSubstatus(This,status)
    462 #define IWscProduct2_get_FirewallDomainProfileSubstatus(This,status) (This)->lpVtbl->get_FirewallDomainProfileSubstatus(This,status)
    463 #define IWscProduct2_get_FirewallPrivateProfileSubstatus(This,status) (This)->lpVtbl->get_FirewallPrivateProfileSubstatus(This,status)
    464 #define IWscProduct2_get_FirewallPublicProfileSubstatus(This,status) (This)->lpVtbl->get_FirewallPublicProfileSubstatus(This,status)
    465 #else
    466 /*** IUnknown methods ***/
    467 static inline HRESULT IWscProduct2_QueryInterface(IWscProduct2* This,REFIID riid,void **ppvObject) {
    468     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    469 }
    470 static inline ULONG IWscProduct2_AddRef(IWscProduct2* This) {
    471     return This->lpVtbl->AddRef(This);
    472 }
    473 static inline ULONG IWscProduct2_Release(IWscProduct2* This) {
    474     return This->lpVtbl->Release(This);
    475 }
    476 /*** IDispatch methods ***/
    477 static inline HRESULT IWscProduct2_GetTypeInfoCount(IWscProduct2* This,UINT *pctinfo) {
    478     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
    479 }
    480 static inline HRESULT IWscProduct2_GetTypeInfo(IWscProduct2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    481     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
    482 }
    483 static inline HRESULT IWscProduct2_GetIDsOfNames(IWscProduct2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    484     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
    485 }
    486 static inline HRESULT IWscProduct2_Invoke(IWscProduct2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    487     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
    488 }
    489 /*** IWscProduct methods ***/
    490 static inline HRESULT IWscProduct2_get_ProductName(IWscProduct2* This,BSTR *val) {
    491     return This->lpVtbl->get_ProductName(This,val);
    492 }
    493 static inline HRESULT IWscProduct2_get_ProductState(IWscProduct2* This,WSC_SECURITY_PRODUCT_STATE *val) {
    494     return This->lpVtbl->get_ProductState(This,val);
    495 }
    496 static inline HRESULT IWscProduct2_get_SignatureStatus(IWscProduct2* This,WSC_SECURITY_SIGNATURE_STATUS *val) {
    497     return This->lpVtbl->get_SignatureStatus(This,val);
    498 }
    499 static inline HRESULT IWscProduct2_get_RemediationPath(IWscProduct2* This,BSTR *val) {
    500     return This->lpVtbl->get_RemediationPath(This,val);
    501 }
    502 static inline HRESULT IWscProduct2_get_ProductStateTimestamp(IWscProduct2* This,BSTR *val) {
    503     return This->lpVtbl->get_ProductStateTimestamp(This,val);
    504 }
    505 static inline HRESULT IWscProduct2_get_ProductGuid(IWscProduct2* This,BSTR *val) {
    506     return This->lpVtbl->get_ProductGuid(This,val);
    507 }
    508 static inline HRESULT IWscProduct2_get_ProductIsDefault(IWscProduct2* This,WINBOOL *val) {
    509     return This->lpVtbl->get_ProductIsDefault(This,val);
    510 }
    511 /*** IWscProduct2 methods ***/
    512 static inline HRESULT IWscProduct2_get_AntivirusScanSubstatus(IWscProduct2* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
    513     return This->lpVtbl->get_AntivirusScanSubstatus(This,status);
    514 }
    515 static inline HRESULT IWscProduct2_get_AntivirusSettingsSubstatus(IWscProduct2* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
    516     return This->lpVtbl->get_AntivirusSettingsSubstatus(This,status);
    517 }
    518 static inline HRESULT IWscProduct2_get_AntivirusProtectionUpdateSubstatus(IWscProduct2* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
    519     return This->lpVtbl->get_AntivirusProtectionUpdateSubstatus(This,status);
    520 }
    521 static inline HRESULT IWscProduct2_get_FirewallDomainProfileSubstatus(IWscProduct2* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
    522     return This->lpVtbl->get_FirewallDomainProfileSubstatus(This,status);
    523 }
    524 static inline HRESULT IWscProduct2_get_FirewallPrivateProfileSubstatus(IWscProduct2* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
    525     return This->lpVtbl->get_FirewallPrivateProfileSubstatus(This,status);
    526 }
    527 static inline HRESULT IWscProduct2_get_FirewallPublicProfileSubstatus(IWscProduct2* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
    528     return This->lpVtbl->get_FirewallPublicProfileSubstatus(This,status);
    529 }
    530 #endif
    531 #endif
    532 
    533 #endif
    534 
    535 
    536 #endif  /* __IWscProduct2_INTERFACE_DEFINED__ */
    537 
    538 /*****************************************************************************
    539  * IWscProduct3 interface
    540  */
    541 #ifndef __IWscProduct3_INTERFACE_DEFINED__
    542 #define __IWscProduct3_INTERFACE_DEFINED__
    543 
    544 DEFINE_GUID(IID_IWscProduct3, 0x55536524, 0xd1d1, 0x4726, 0x8c,0x7c, 0x04,0x99,0x6a,0x19,0x04,0xe7);
    545 #if defined(__cplusplus) && !defined(CINTERFACE)
    546 MIDL_INTERFACE("55536524-d1d1-4726-8c7c-04996a1904e7")
    547 IWscProduct3 : public IWscProduct2
    548 {
    549     virtual HRESULT STDMETHODCALLTYPE get_AntivirusDaysUntilExpired(
    550         DWORD *days) = 0;
    551 
    552 };
    553 #ifdef __CRT_UUID_DECL
    554 __CRT_UUID_DECL(IWscProduct3, 0x55536524, 0xd1d1, 0x4726, 0x8c,0x7c, 0x04,0x99,0x6a,0x19,0x04,0xe7)
    555 #endif
    556 #else
    557 typedef struct IWscProduct3Vtbl {
    558     BEGIN_INTERFACE
    559 
    560     /*** IUnknown methods ***/
    561     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    562         IWscProduct3 *This,
    563         REFIID riid,
    564         void **ppvObject);
    565 
    566     ULONG (STDMETHODCALLTYPE *AddRef)(
    567         IWscProduct3 *This);
    568 
    569     ULONG (STDMETHODCALLTYPE *Release)(
    570         IWscProduct3 *This);
    571 
    572     /*** IDispatch methods ***/
    573     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
    574         IWscProduct3 *This,
    575         UINT *pctinfo);
    576 
    577     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
    578         IWscProduct3 *This,
    579         UINT iTInfo,
    580         LCID lcid,
    581         ITypeInfo **ppTInfo);
    582 
    583     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
    584         IWscProduct3 *This,
    585         REFIID riid,
    586         LPOLESTR *rgszNames,
    587         UINT cNames,
    588         LCID lcid,
    589         DISPID *rgDispId);
    590 
    591     HRESULT (STDMETHODCALLTYPE *Invoke)(
    592         IWscProduct3 *This,
    593         DISPID dispIdMember,
    594         REFIID riid,
    595         LCID lcid,
    596         WORD wFlags,
    597         DISPPARAMS *pDispParams,
    598         VARIANT *pVarResult,
    599         EXCEPINFO *pExcepInfo,
    600         UINT *puArgErr);
    601 
    602     /*** IWscProduct methods ***/
    603     HRESULT (STDMETHODCALLTYPE *get_ProductName)(
    604         IWscProduct3 *This,
    605         BSTR *val);
    606 
    607     HRESULT (STDMETHODCALLTYPE *get_ProductState)(
    608         IWscProduct3 *This,
    609         WSC_SECURITY_PRODUCT_STATE *val);
    610 
    611     HRESULT (STDMETHODCALLTYPE *get_SignatureStatus)(
    612         IWscProduct3 *This,
    613         WSC_SECURITY_SIGNATURE_STATUS *val);
    614 
    615     HRESULT (STDMETHODCALLTYPE *get_RemediationPath)(
    616         IWscProduct3 *This,
    617         BSTR *val);
    618 
    619     HRESULT (STDMETHODCALLTYPE *get_ProductStateTimestamp)(
    620         IWscProduct3 *This,
    621         BSTR *val);
    622 
    623     HRESULT (STDMETHODCALLTYPE *get_ProductGuid)(
    624         IWscProduct3 *This,
    625         BSTR *val);
    626 
    627     HRESULT (STDMETHODCALLTYPE *get_ProductIsDefault)(
    628         IWscProduct3 *This,
    629         WINBOOL *val);
    630 
    631     /*** IWscProduct2 methods ***/
    632     HRESULT (STDMETHODCALLTYPE *get_AntivirusScanSubstatus)(
    633         IWscProduct3 *This,
    634         WSC_SECURITY_PRODUCT_SUBSTATUS *status);
    635 
    636     HRESULT (STDMETHODCALLTYPE *get_AntivirusSettingsSubstatus)(
    637         IWscProduct3 *This,
    638         WSC_SECURITY_PRODUCT_SUBSTATUS *status);
    639 
    640     HRESULT (STDMETHODCALLTYPE *get_AntivirusProtectionUpdateSubstatus)(
    641         IWscProduct3 *This,
    642         WSC_SECURITY_PRODUCT_SUBSTATUS *status);
    643 
    644     HRESULT (STDMETHODCALLTYPE *get_FirewallDomainProfileSubstatus)(
    645         IWscProduct3 *This,
    646         WSC_SECURITY_PRODUCT_SUBSTATUS *status);
    647 
    648     HRESULT (STDMETHODCALLTYPE *get_FirewallPrivateProfileSubstatus)(
    649         IWscProduct3 *This,
    650         WSC_SECURITY_PRODUCT_SUBSTATUS *status);
    651 
    652     HRESULT (STDMETHODCALLTYPE *get_FirewallPublicProfileSubstatus)(
    653         IWscProduct3 *This,
    654         WSC_SECURITY_PRODUCT_SUBSTATUS *status);
    655 
    656     /*** IWscProduct3 methods ***/
    657     HRESULT (STDMETHODCALLTYPE *get_AntivirusDaysUntilExpired)(
    658         IWscProduct3 *This,
    659         DWORD *days);
    660 
    661     END_INTERFACE
    662 } IWscProduct3Vtbl;
    663 
    664 interface IWscProduct3 {
    665     CONST_VTBL IWscProduct3Vtbl* lpVtbl;
    666 };
    667 
    668 #ifdef COBJMACROS
    669 #ifndef WIDL_C_INLINE_WRAPPERS
    670 /*** IUnknown methods ***/
    671 #define IWscProduct3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    672 #define IWscProduct3_AddRef(This) (This)->lpVtbl->AddRef(This)
    673 #define IWscProduct3_Release(This) (This)->lpVtbl->Release(This)
    674 /*** IDispatch methods ***/
    675 #define IWscProduct3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    676 #define IWscProduct3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    677 #define IWscProduct3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    678 #define IWscProduct3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    679 /*** IWscProduct methods ***/
    680 #define IWscProduct3_get_ProductName(This,val) (This)->lpVtbl->get_ProductName(This,val)
    681 #define IWscProduct3_get_ProductState(This,val) (This)->lpVtbl->get_ProductState(This,val)
    682 #define IWscProduct3_get_SignatureStatus(This,val) (This)->lpVtbl->get_SignatureStatus(This,val)
    683 #define IWscProduct3_get_RemediationPath(This,val) (This)->lpVtbl->get_RemediationPath(This,val)
    684 #define IWscProduct3_get_ProductStateTimestamp(This,val) (This)->lpVtbl->get_ProductStateTimestamp(This,val)
    685 #define IWscProduct3_get_ProductGuid(This,val) (This)->lpVtbl->get_ProductGuid(This,val)
    686 #define IWscProduct3_get_ProductIsDefault(This,val) (This)->lpVtbl->get_ProductIsDefault(This,val)
    687 /*** IWscProduct2 methods ***/
    688 #define IWscProduct3_get_AntivirusScanSubstatus(This,status) (This)->lpVtbl->get_AntivirusScanSubstatus(This,status)
    689 #define IWscProduct3_get_AntivirusSettingsSubstatus(This,status) (This)->lpVtbl->get_AntivirusSettingsSubstatus(This,status)
    690 #define IWscProduct3_get_AntivirusProtectionUpdateSubstatus(This,status) (This)->lpVtbl->get_AntivirusProtectionUpdateSubstatus(This,status)
    691 #define IWscProduct3_get_FirewallDomainProfileSubstatus(This,status) (This)->lpVtbl->get_FirewallDomainProfileSubstatus(This,status)
    692 #define IWscProduct3_get_FirewallPrivateProfileSubstatus(This,status) (This)->lpVtbl->get_FirewallPrivateProfileSubstatus(This,status)
    693 #define IWscProduct3_get_FirewallPublicProfileSubstatus(This,status) (This)->lpVtbl->get_FirewallPublicProfileSubstatus(This,status)
    694 /*** IWscProduct3 methods ***/
    695 #define IWscProduct3_get_AntivirusDaysUntilExpired(This,days) (This)->lpVtbl->get_AntivirusDaysUntilExpired(This,days)
    696 #else
    697 /*** IUnknown methods ***/
    698 static inline HRESULT IWscProduct3_QueryInterface(IWscProduct3* This,REFIID riid,void **ppvObject) {
    699     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    700 }
    701 static inline ULONG IWscProduct3_AddRef(IWscProduct3* This) {
    702     return This->lpVtbl->AddRef(This);
    703 }
    704 static inline ULONG IWscProduct3_Release(IWscProduct3* This) {
    705     return This->lpVtbl->Release(This);
    706 }
    707 /*** IDispatch methods ***/
    708 static inline HRESULT IWscProduct3_GetTypeInfoCount(IWscProduct3* This,UINT *pctinfo) {
    709     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
    710 }
    711 static inline HRESULT IWscProduct3_GetTypeInfo(IWscProduct3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    712     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
    713 }
    714 static inline HRESULT IWscProduct3_GetIDsOfNames(IWscProduct3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    715     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
    716 }
    717 static inline HRESULT IWscProduct3_Invoke(IWscProduct3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    718     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
    719 }
    720 /*** IWscProduct methods ***/
    721 static inline HRESULT IWscProduct3_get_ProductName(IWscProduct3* This,BSTR *val) {
    722     return This->lpVtbl->get_ProductName(This,val);
    723 }
    724 static inline HRESULT IWscProduct3_get_ProductState(IWscProduct3* This,WSC_SECURITY_PRODUCT_STATE *val) {
    725     return This->lpVtbl->get_ProductState(This,val);
    726 }
    727 static inline HRESULT IWscProduct3_get_SignatureStatus(IWscProduct3* This,WSC_SECURITY_SIGNATURE_STATUS *val) {
    728     return This->lpVtbl->get_SignatureStatus(This,val);
    729 }
    730 static inline HRESULT IWscProduct3_get_RemediationPath(IWscProduct3* This,BSTR *val) {
    731     return This->lpVtbl->get_RemediationPath(This,val);
    732 }
    733 static inline HRESULT IWscProduct3_get_ProductStateTimestamp(IWscProduct3* This,BSTR *val) {
    734     return This->lpVtbl->get_ProductStateTimestamp(This,val);
    735 }
    736 static inline HRESULT IWscProduct3_get_ProductGuid(IWscProduct3* This,BSTR *val) {
    737     return This->lpVtbl->get_ProductGuid(This,val);
    738 }
    739 static inline HRESULT IWscProduct3_get_ProductIsDefault(IWscProduct3* This,WINBOOL *val) {
    740     return This->lpVtbl->get_ProductIsDefault(This,val);
    741 }
    742 /*** IWscProduct2 methods ***/
    743 static inline HRESULT IWscProduct3_get_AntivirusScanSubstatus(IWscProduct3* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
    744     return This->lpVtbl->get_AntivirusScanSubstatus(This,status);
    745 }
    746 static inline HRESULT IWscProduct3_get_AntivirusSettingsSubstatus(IWscProduct3* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
    747     return This->lpVtbl->get_AntivirusSettingsSubstatus(This,status);
    748 }
    749 static inline HRESULT IWscProduct3_get_AntivirusProtectionUpdateSubstatus(IWscProduct3* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
    750     return This->lpVtbl->get_AntivirusProtectionUpdateSubstatus(This,status);
    751 }
    752 static inline HRESULT IWscProduct3_get_FirewallDomainProfileSubstatus(IWscProduct3* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
    753     return This->lpVtbl->get_FirewallDomainProfileSubstatus(This,status);
    754 }
    755 static inline HRESULT IWscProduct3_get_FirewallPrivateProfileSubstatus(IWscProduct3* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
    756     return This->lpVtbl->get_FirewallPrivateProfileSubstatus(This,status);
    757 }
    758 static inline HRESULT IWscProduct3_get_FirewallPublicProfileSubstatus(IWscProduct3* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
    759     return This->lpVtbl->get_FirewallPublicProfileSubstatus(This,status);
    760 }
    761 /*** IWscProduct3 methods ***/
    762 static inline HRESULT IWscProduct3_get_AntivirusDaysUntilExpired(IWscProduct3* This,DWORD *days) {
    763     return This->lpVtbl->get_AntivirusDaysUntilExpired(This,days);
    764 }
    765 #endif
    766 #endif
    767 
    768 #endif
    769 
    770 
    771 #endif  /* __IWscProduct3_INTERFACE_DEFINED__ */
    772 
    773 /*****************************************************************************
    774  * IWSCProductList interface
    775  */
    776 #ifndef __IWSCProductList_INTERFACE_DEFINED__
    777 #define __IWSCProductList_INTERFACE_DEFINED__
    778 
    779 DEFINE_GUID(IID_IWSCProductList, 0x722a338c, 0x6e8e, 0x4e72, 0xac,0x27, 0x14,0x17,0xfb,0x0c,0x81,0xc2);
    780 #if defined(__cplusplus) && !defined(CINTERFACE)
    781 MIDL_INTERFACE("722a338c-6e8e-4e72-ac27-1417fb0c81c2")
    782 IWSCProductList : public IDispatch
    783 {
    784     virtual HRESULT STDMETHODCALLTYPE Initialize(
    785         ULONG provider) = 0;
    786 
    787     virtual HRESULT STDMETHODCALLTYPE get_Count(
    788         LONG *val) = 0;
    789 
    790     virtual HRESULT STDMETHODCALLTYPE get_Item(
    791         ULONG index,
    792         IWscProduct **val) = 0;
    793 
    794 };
    795 #ifdef __CRT_UUID_DECL
    796 __CRT_UUID_DECL(IWSCProductList, 0x722a338c, 0x6e8e, 0x4e72, 0xac,0x27, 0x14,0x17,0xfb,0x0c,0x81,0xc2)
    797 #endif
    798 #else
    799 typedef struct IWSCProductListVtbl {
    800     BEGIN_INTERFACE
    801 
    802     /*** IUnknown methods ***/
    803     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    804         IWSCProductList *This,
    805         REFIID riid,
    806         void **ppvObject);
    807 
    808     ULONG (STDMETHODCALLTYPE *AddRef)(
    809         IWSCProductList *This);
    810 
    811     ULONG (STDMETHODCALLTYPE *Release)(
    812         IWSCProductList *This);
    813 
    814     /*** IDispatch methods ***/
    815     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
    816         IWSCProductList *This,
    817         UINT *pctinfo);
    818 
    819     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
    820         IWSCProductList *This,
    821         UINT iTInfo,
    822         LCID lcid,
    823         ITypeInfo **ppTInfo);
    824 
    825     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
    826         IWSCProductList *This,
    827         REFIID riid,
    828         LPOLESTR *rgszNames,
    829         UINT cNames,
    830         LCID lcid,
    831         DISPID *rgDispId);
    832 
    833     HRESULT (STDMETHODCALLTYPE *Invoke)(
    834         IWSCProductList *This,
    835         DISPID dispIdMember,
    836         REFIID riid,
    837         LCID lcid,
    838         WORD wFlags,
    839         DISPPARAMS *pDispParams,
    840         VARIANT *pVarResult,
    841         EXCEPINFO *pExcepInfo,
    842         UINT *puArgErr);
    843 
    844     /*** IWSCProductList methods ***/
    845     HRESULT (STDMETHODCALLTYPE *Initialize)(
    846         IWSCProductList *This,
    847         ULONG provider);
    848 
    849     HRESULT (STDMETHODCALLTYPE *get_Count)(
    850         IWSCProductList *This,
    851         LONG *val);
    852 
    853     HRESULT (STDMETHODCALLTYPE *get_Item)(
    854         IWSCProductList *This,
    855         ULONG index,
    856         IWscProduct **val);
    857 
    858     END_INTERFACE
    859 } IWSCProductListVtbl;
    860 
    861 interface IWSCProductList {
    862     CONST_VTBL IWSCProductListVtbl* lpVtbl;
    863 };
    864 
    865 #ifdef COBJMACROS
    866 #ifndef WIDL_C_INLINE_WRAPPERS
    867 /*** IUnknown methods ***/
    868 #define IWSCProductList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    869 #define IWSCProductList_AddRef(This) (This)->lpVtbl->AddRef(This)
    870 #define IWSCProductList_Release(This) (This)->lpVtbl->Release(This)
    871 /*** IDispatch methods ***/
    872 #define IWSCProductList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    873 #define IWSCProductList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    874 #define IWSCProductList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    875 #define IWSCProductList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    876 /*** IWSCProductList methods ***/
    877 #define IWSCProductList_Initialize(This,provider) (This)->lpVtbl->Initialize(This,provider)
    878 #define IWSCProductList_get_Count(This,val) (This)->lpVtbl->get_Count(This,val)
    879 #define IWSCProductList_get_Item(This,index,val) (This)->lpVtbl->get_Item(This,index,val)
    880 #else
    881 /*** IUnknown methods ***/
    882 static inline HRESULT IWSCProductList_QueryInterface(IWSCProductList* This,REFIID riid,void **ppvObject) {
    883     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    884 }
    885 static inline ULONG IWSCProductList_AddRef(IWSCProductList* This) {
    886     return This->lpVtbl->AddRef(This);
    887 }
    888 static inline ULONG IWSCProductList_Release(IWSCProductList* This) {
    889     return This->lpVtbl->Release(This);
    890 }
    891 /*** IDispatch methods ***/
    892 static inline HRESULT IWSCProductList_GetTypeInfoCount(IWSCProductList* This,UINT *pctinfo) {
    893     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
    894 }
    895 static inline HRESULT IWSCProductList_GetTypeInfo(IWSCProductList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    896     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
    897 }
    898 static inline HRESULT IWSCProductList_GetIDsOfNames(IWSCProductList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    899     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
    900 }
    901 static inline HRESULT IWSCProductList_Invoke(IWSCProductList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    902     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
    903 }
    904 /*** IWSCProductList methods ***/
    905 static inline HRESULT IWSCProductList_Initialize(IWSCProductList* This,ULONG provider) {
    906     return This->lpVtbl->Initialize(This,provider);
    907 }
    908 static inline HRESULT IWSCProductList_get_Count(IWSCProductList* This,LONG *val) {
    909     return This->lpVtbl->get_Count(This,val);
    910 }
    911 static inline HRESULT IWSCProductList_get_Item(IWSCProductList* This,ULONG index,IWscProduct **val) {
    912     return This->lpVtbl->get_Item(This,index,val);
    913 }
    914 #endif
    915 #endif
    916 
    917 #endif
    918 
    919 
    920 #endif  /* __IWSCProductList_INTERFACE_DEFINED__ */
    921 
    922 /*****************************************************************************
    923  * IWSCDefaultProduct interface
    924  */
    925 #ifndef __IWSCDefaultProduct_INTERFACE_DEFINED__
    926 #define __IWSCDefaultProduct_INTERFACE_DEFINED__
    927 
    928 DEFINE_GUID(IID_IWSCDefaultProduct, 0x0476d69c, 0xf21a, 0x11e5, 0x9c,0xe9, 0x5e,0x55,0x17,0x50,0x7c,0x66);
    929 #if defined(__cplusplus) && !defined(CINTERFACE)
    930 MIDL_INTERFACE("0476d69c-f21a-11e5-9ce9-5e5517507c66")
    931 IWSCDefaultProduct : public IDispatch
    932 {
    933     virtual HRESULT STDMETHODCALLTYPE SetDefaultProduct(
    934         SECURITY_PRODUCT_TYPE type,
    935         BSTR guid) = 0;
    936 
    937 };
    938 #ifdef __CRT_UUID_DECL
    939 __CRT_UUID_DECL(IWSCDefaultProduct, 0x0476d69c, 0xf21a, 0x11e5, 0x9c,0xe9, 0x5e,0x55,0x17,0x50,0x7c,0x66)
    940 #endif
    941 #else
    942 typedef struct IWSCDefaultProductVtbl {
    943     BEGIN_INTERFACE
    944 
    945     /*** IUnknown methods ***/
    946     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    947         IWSCDefaultProduct *This,
    948         REFIID riid,
    949         void **ppvObject);
    950 
    951     ULONG (STDMETHODCALLTYPE *AddRef)(
    952         IWSCDefaultProduct *This);
    953 
    954     ULONG (STDMETHODCALLTYPE *Release)(
    955         IWSCDefaultProduct *This);
    956 
    957     /*** IDispatch methods ***/
    958     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
    959         IWSCDefaultProduct *This,
    960         UINT *pctinfo);
    961 
    962     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
    963         IWSCDefaultProduct *This,
    964         UINT iTInfo,
    965         LCID lcid,
    966         ITypeInfo **ppTInfo);
    967 
    968     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
    969         IWSCDefaultProduct *This,
    970         REFIID riid,
    971         LPOLESTR *rgszNames,
    972         UINT cNames,
    973         LCID lcid,
    974         DISPID *rgDispId);
    975 
    976     HRESULT (STDMETHODCALLTYPE *Invoke)(
    977         IWSCDefaultProduct *This,
    978         DISPID dispIdMember,
    979         REFIID riid,
    980         LCID lcid,
    981         WORD wFlags,
    982         DISPPARAMS *pDispParams,
    983         VARIANT *pVarResult,
    984         EXCEPINFO *pExcepInfo,
    985         UINT *puArgErr);
    986 
    987     /*** IWSCDefaultProduct methods ***/
    988     HRESULT (STDMETHODCALLTYPE *SetDefaultProduct)(
    989         IWSCDefaultProduct *This,
    990         SECURITY_PRODUCT_TYPE type,
    991         BSTR guid);
    992 
    993     END_INTERFACE
    994 } IWSCDefaultProductVtbl;
    995 
    996 interface IWSCDefaultProduct {
    997     CONST_VTBL IWSCDefaultProductVtbl* lpVtbl;
    998 };
    999 
   1000 #ifdef COBJMACROS
   1001 #ifndef WIDL_C_INLINE_WRAPPERS
   1002 /*** IUnknown methods ***/
   1003 #define IWSCDefaultProduct_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1004 #define IWSCDefaultProduct_AddRef(This) (This)->lpVtbl->AddRef(This)
   1005 #define IWSCDefaultProduct_Release(This) (This)->lpVtbl->Release(This)
   1006 /*** IDispatch methods ***/
   1007 #define IWSCDefaultProduct_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1008 #define IWSCDefaultProduct_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1009 #define IWSCDefaultProduct_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1010 #define IWSCDefaultProduct_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1011 /*** IWSCDefaultProduct methods ***/
   1012 #define IWSCDefaultProduct_SetDefaultProduct(This,type,guid) (This)->lpVtbl->SetDefaultProduct(This,type,guid)
   1013 #else
   1014 /*** IUnknown methods ***/
   1015 static inline HRESULT IWSCDefaultProduct_QueryInterface(IWSCDefaultProduct* This,REFIID riid,void **ppvObject) {
   1016     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1017 }
   1018 static inline ULONG IWSCDefaultProduct_AddRef(IWSCDefaultProduct* This) {
   1019     return This->lpVtbl->AddRef(This);
   1020 }
   1021 static inline ULONG IWSCDefaultProduct_Release(IWSCDefaultProduct* This) {
   1022     return This->lpVtbl->Release(This);
   1023 }
   1024 /*** IDispatch methods ***/
   1025 static inline HRESULT IWSCDefaultProduct_GetTypeInfoCount(IWSCDefaultProduct* This,UINT *pctinfo) {
   1026     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1027 }
   1028 static inline HRESULT IWSCDefaultProduct_GetTypeInfo(IWSCDefaultProduct* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1029     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1030 }
   1031 static inline HRESULT IWSCDefaultProduct_GetIDsOfNames(IWSCDefaultProduct* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   1032     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   1033 }
   1034 static inline HRESULT IWSCDefaultProduct_Invoke(IWSCDefaultProduct* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   1035     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   1036 }
   1037 /*** IWSCDefaultProduct methods ***/
   1038 static inline HRESULT IWSCDefaultProduct_SetDefaultProduct(IWSCDefaultProduct* This,SECURITY_PRODUCT_TYPE type,BSTR guid) {
   1039     return This->lpVtbl->SetDefaultProduct(This,type,guid);
   1040 }
   1041 #endif
   1042 #endif
   1043 
   1044 #endif
   1045 
   1046 
   1047 #endif  /* __IWSCDefaultProduct_INTERFACE_DEFINED__ */
   1048 
   1049 #ifndef __wscAPILib_LIBRARY_DEFINED__
   1050 #define __wscAPILib_LIBRARY_DEFINED__
   1051 
   1052 DEFINE_GUID(LIBID_wscAPILib, 0xb52a4496, 0x7753, 0x4f74, 0xbe,0x64, 0xc2,0x07,0x2e,0x30,0x81,0x22);
   1053 
   1054 /*****************************************************************************
   1055  * WSCProductList coclass
   1056  */
   1057 
   1058 DEFINE_GUID(CLSID_WSCProductList, 0x17072f7b, 0x9abe, 0x4a74, 0xa2,0x61, 0x1e,0xb7,0x6b,0x55,0x10,0x7a);
   1059 
   1060 #ifdef __cplusplus
   1061 class DECLSPEC_UUID("17072f7b-9abe-4a74-a261-1eb76b55107a") WSCProductList;
   1062 #ifdef __CRT_UUID_DECL
   1063 __CRT_UUID_DECL(WSCProductList, 0x17072f7b, 0x9abe, 0x4a74, 0xa2,0x61, 0x1e,0xb7,0x6b,0x55,0x10,0x7a)
   1064 #endif
   1065 #endif
   1066 
   1067 /*****************************************************************************
   1068  * WSCDefaultProduct coclass
   1069  */
   1070 
   1071 DEFINE_GUID(CLSID_WSCDefaultProduct, 0x2981a36e, 0xf22d, 0x11e5, 0x9c,0xe9, 0x5e,0x55,0x17,0x50,0x7c,0x66);
   1072 
   1073 #ifdef __cplusplus
   1074 class DECLSPEC_UUID("2981a36e-f22d-11e5-9ce9-5e5517507c66") WSCDefaultProduct;
   1075 #ifdef __CRT_UUID_DECL
   1076 __CRT_UUID_DECL(WSCDefaultProduct, 0x2981a36e, 0xf22d, 0x11e5, 0x9c,0xe9, 0x5e,0x55,0x17,0x50,0x7c,0x66)
   1077 #endif
   1078 #endif
   1079 
   1080 #endif /* __wscAPILib_LIBRARY_DEFINED__ */
   1081 /* Begin additional prototypes for all interfaces */
   1082 
   1083 
   1084 /* End additional prototypes */
   1085 
   1086 #ifdef __cplusplus
   1087 }
   1088 #endif
   1089 
   1090 #endif /* __iwscapi_h__ */