master
   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__
  23typedef interface IWscProduct IWscProduct;
  24#ifdef __cplusplus
  25interface IWscProduct;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __IWscProduct2_FWD_DEFINED__
  30#define __IWscProduct2_FWD_DEFINED__
  31typedef interface IWscProduct2 IWscProduct2;
  32#ifdef __cplusplus
  33interface IWscProduct2;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __IWscProduct3_FWD_DEFINED__
  38#define __IWscProduct3_FWD_DEFINED__
  39typedef interface IWscProduct3 IWscProduct3;
  40#ifdef __cplusplus
  41interface IWscProduct3;
  42#endif /* __cplusplus */
  43#endif
  44
  45#ifndef __IWSCProductList_FWD_DEFINED__
  46#define __IWSCProductList_FWD_DEFINED__
  47typedef interface IWSCProductList IWSCProductList;
  48#ifdef __cplusplus
  49interface IWSCProductList;
  50#endif /* __cplusplus */
  51#endif
  52
  53#ifndef __IWSCDefaultProduct_FWD_DEFINED__
  54#define __IWSCDefaultProduct_FWD_DEFINED__
  55typedef interface IWSCDefaultProduct IWSCDefaultProduct;
  56#ifdef __cplusplus
  57interface IWSCDefaultProduct;
  58#endif /* __cplusplus */
  59#endif
  60
  61#ifndef __WSCProductList_FWD_DEFINED__
  62#define __WSCProductList_FWD_DEFINED__
  63#ifdef __cplusplus
  64typedef class WSCProductList WSCProductList;
  65#else
  66typedef 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
  73typedef class WSCDefaultProduct WSCDefaultProduct;
  74#else
  75typedef 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
  84extern "C" {
  85#endif
  86
  87typedef 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;
  93typedef 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;
  99typedef 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;
 104typedef 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
 114DEFINE_GUID(IID_IWscProduct, 0x8c38232e, 0x3a45, 0x4a27, 0x92,0xb0, 0x1a,0x16,0xa9,0x75,0xf6,0x69);
 115#if defined(__cplusplus) && !defined(CINTERFACE)
 116MIDL_INTERFACE("8c38232e-3a45-4a27-92b0-1a16a975f669")
 117IWscProduct : 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
 145typedef 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
 222interface 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 ***/
 247static inline HRESULT IWscProduct_QueryInterface(IWscProduct* This,REFIID riid,void **ppvObject) {
 248    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 249}
 250static inline ULONG IWscProduct_AddRef(IWscProduct* This) {
 251    return This->lpVtbl->AddRef(This);
 252}
 253static inline ULONG IWscProduct_Release(IWscProduct* This) {
 254    return This->lpVtbl->Release(This);
 255}
 256/*** IDispatch methods ***/
 257static inline HRESULT IWscProduct_GetTypeInfoCount(IWscProduct* This,UINT *pctinfo) {
 258    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
 259}
 260static inline HRESULT IWscProduct_GetTypeInfo(IWscProduct* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
 261    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
 262}
 263static 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}
 266static 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 ***/
 270static inline HRESULT IWscProduct_get_ProductName(IWscProduct* This,BSTR *val) {
 271    return This->lpVtbl->get_ProductName(This,val);
 272}
 273static inline HRESULT IWscProduct_get_ProductState(IWscProduct* This,WSC_SECURITY_PRODUCT_STATE *val) {
 274    return This->lpVtbl->get_ProductState(This,val);
 275}
 276static inline HRESULT IWscProduct_get_SignatureStatus(IWscProduct* This,WSC_SECURITY_SIGNATURE_STATUS *val) {
 277    return This->lpVtbl->get_SignatureStatus(This,val);
 278}
 279static inline HRESULT IWscProduct_get_RemediationPath(IWscProduct* This,BSTR *val) {
 280    return This->lpVtbl->get_RemediationPath(This,val);
 281}
 282static inline HRESULT IWscProduct_get_ProductStateTimestamp(IWscProduct* This,BSTR *val) {
 283    return This->lpVtbl->get_ProductStateTimestamp(This,val);
 284}
 285static inline HRESULT IWscProduct_get_ProductGuid(IWscProduct* This,BSTR *val) {
 286    return This->lpVtbl->get_ProductGuid(This,val);
 287}
 288static 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
 305DEFINE_GUID(IID_IWscProduct2, 0xf896ca54, 0xfe09, 0x4403, 0x86,0xd4, 0x23,0xcb,0x48,0x8d,0x81,0xd8);
 306#if defined(__cplusplus) && !defined(CINTERFACE)
 307MIDL_INTERFACE("f896ca54-fe09-4403-86d4-23cb488d81d8")
 308IWscProduct2 : 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
 333typedef 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
 435interface 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 ***/
 467static inline HRESULT IWscProduct2_QueryInterface(IWscProduct2* This,REFIID riid,void **ppvObject) {
 468    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 469}
 470static inline ULONG IWscProduct2_AddRef(IWscProduct2* This) {
 471    return This->lpVtbl->AddRef(This);
 472}
 473static inline ULONG IWscProduct2_Release(IWscProduct2* This) {
 474    return This->lpVtbl->Release(This);
 475}
 476/*** IDispatch methods ***/
 477static inline HRESULT IWscProduct2_GetTypeInfoCount(IWscProduct2* This,UINT *pctinfo) {
 478    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
 479}
 480static inline HRESULT IWscProduct2_GetTypeInfo(IWscProduct2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
 481    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
 482}
 483static 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}
 486static 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 ***/
 490static inline HRESULT IWscProduct2_get_ProductName(IWscProduct2* This,BSTR *val) {
 491    return This->lpVtbl->get_ProductName(This,val);
 492}
 493static inline HRESULT IWscProduct2_get_ProductState(IWscProduct2* This,WSC_SECURITY_PRODUCT_STATE *val) {
 494    return This->lpVtbl->get_ProductState(This,val);
 495}
 496static inline HRESULT IWscProduct2_get_SignatureStatus(IWscProduct2* This,WSC_SECURITY_SIGNATURE_STATUS *val) {
 497    return This->lpVtbl->get_SignatureStatus(This,val);
 498}
 499static inline HRESULT IWscProduct2_get_RemediationPath(IWscProduct2* This,BSTR *val) {
 500    return This->lpVtbl->get_RemediationPath(This,val);
 501}
 502static inline HRESULT IWscProduct2_get_ProductStateTimestamp(IWscProduct2* This,BSTR *val) {
 503    return This->lpVtbl->get_ProductStateTimestamp(This,val);
 504}
 505static inline HRESULT IWscProduct2_get_ProductGuid(IWscProduct2* This,BSTR *val) {
 506    return This->lpVtbl->get_ProductGuid(This,val);
 507}
 508static inline HRESULT IWscProduct2_get_ProductIsDefault(IWscProduct2* This,WINBOOL *val) {
 509    return This->lpVtbl->get_ProductIsDefault(This,val);
 510}
 511/*** IWscProduct2 methods ***/
 512static inline HRESULT IWscProduct2_get_AntivirusScanSubstatus(IWscProduct2* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
 513    return This->lpVtbl->get_AntivirusScanSubstatus(This,status);
 514}
 515static inline HRESULT IWscProduct2_get_AntivirusSettingsSubstatus(IWscProduct2* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
 516    return This->lpVtbl->get_AntivirusSettingsSubstatus(This,status);
 517}
 518static inline HRESULT IWscProduct2_get_AntivirusProtectionUpdateSubstatus(IWscProduct2* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
 519    return This->lpVtbl->get_AntivirusProtectionUpdateSubstatus(This,status);
 520}
 521static inline HRESULT IWscProduct2_get_FirewallDomainProfileSubstatus(IWscProduct2* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
 522    return This->lpVtbl->get_FirewallDomainProfileSubstatus(This,status);
 523}
 524static inline HRESULT IWscProduct2_get_FirewallPrivateProfileSubstatus(IWscProduct2* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
 525    return This->lpVtbl->get_FirewallPrivateProfileSubstatus(This,status);
 526}
 527static 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
 544DEFINE_GUID(IID_IWscProduct3, 0x55536524, 0xd1d1, 0x4726, 0x8c,0x7c, 0x04,0x99,0x6a,0x19,0x04,0xe7);
 545#if defined(__cplusplus) && !defined(CINTERFACE)
 546MIDL_INTERFACE("55536524-d1d1-4726-8c7c-04996a1904e7")
 547IWscProduct3 : 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
 557typedef 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
 664interface 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 ***/
 698static inline HRESULT IWscProduct3_QueryInterface(IWscProduct3* This,REFIID riid,void **ppvObject) {
 699    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 700}
 701static inline ULONG IWscProduct3_AddRef(IWscProduct3* This) {
 702    return This->lpVtbl->AddRef(This);
 703}
 704static inline ULONG IWscProduct3_Release(IWscProduct3* This) {
 705    return This->lpVtbl->Release(This);
 706}
 707/*** IDispatch methods ***/
 708static inline HRESULT IWscProduct3_GetTypeInfoCount(IWscProduct3* This,UINT *pctinfo) {
 709    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
 710}
 711static inline HRESULT IWscProduct3_GetTypeInfo(IWscProduct3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
 712    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
 713}
 714static 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}
 717static 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 ***/
 721static inline HRESULT IWscProduct3_get_ProductName(IWscProduct3* This,BSTR *val) {
 722    return This->lpVtbl->get_ProductName(This,val);
 723}
 724static inline HRESULT IWscProduct3_get_ProductState(IWscProduct3* This,WSC_SECURITY_PRODUCT_STATE *val) {
 725    return This->lpVtbl->get_ProductState(This,val);
 726}
 727static inline HRESULT IWscProduct3_get_SignatureStatus(IWscProduct3* This,WSC_SECURITY_SIGNATURE_STATUS *val) {
 728    return This->lpVtbl->get_SignatureStatus(This,val);
 729}
 730static inline HRESULT IWscProduct3_get_RemediationPath(IWscProduct3* This,BSTR *val) {
 731    return This->lpVtbl->get_RemediationPath(This,val);
 732}
 733static inline HRESULT IWscProduct3_get_ProductStateTimestamp(IWscProduct3* This,BSTR *val) {
 734    return This->lpVtbl->get_ProductStateTimestamp(This,val);
 735}
 736static inline HRESULT IWscProduct3_get_ProductGuid(IWscProduct3* This,BSTR *val) {
 737    return This->lpVtbl->get_ProductGuid(This,val);
 738}
 739static inline HRESULT IWscProduct3_get_ProductIsDefault(IWscProduct3* This,WINBOOL *val) {
 740    return This->lpVtbl->get_ProductIsDefault(This,val);
 741}
 742/*** IWscProduct2 methods ***/
 743static inline HRESULT IWscProduct3_get_AntivirusScanSubstatus(IWscProduct3* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
 744    return This->lpVtbl->get_AntivirusScanSubstatus(This,status);
 745}
 746static inline HRESULT IWscProduct3_get_AntivirusSettingsSubstatus(IWscProduct3* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
 747    return This->lpVtbl->get_AntivirusSettingsSubstatus(This,status);
 748}
 749static inline HRESULT IWscProduct3_get_AntivirusProtectionUpdateSubstatus(IWscProduct3* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
 750    return This->lpVtbl->get_AntivirusProtectionUpdateSubstatus(This,status);
 751}
 752static inline HRESULT IWscProduct3_get_FirewallDomainProfileSubstatus(IWscProduct3* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
 753    return This->lpVtbl->get_FirewallDomainProfileSubstatus(This,status);
 754}
 755static inline HRESULT IWscProduct3_get_FirewallPrivateProfileSubstatus(IWscProduct3* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
 756    return This->lpVtbl->get_FirewallPrivateProfileSubstatus(This,status);
 757}
 758static inline HRESULT IWscProduct3_get_FirewallPublicProfileSubstatus(IWscProduct3* This,WSC_SECURITY_PRODUCT_SUBSTATUS *status) {
 759    return This->lpVtbl->get_FirewallPublicProfileSubstatus(This,status);
 760}
 761/*** IWscProduct3 methods ***/
 762static 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
 779DEFINE_GUID(IID_IWSCProductList, 0x722a338c, 0x6e8e, 0x4e72, 0xac,0x27, 0x14,0x17,0xfb,0x0c,0x81,0xc2);
 780#if defined(__cplusplus) && !defined(CINTERFACE)
 781MIDL_INTERFACE("722a338c-6e8e-4e72-ac27-1417fb0c81c2")
 782IWSCProductList : 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
 799typedef 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
 861interface 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 ***/
 882static inline HRESULT IWSCProductList_QueryInterface(IWSCProductList* This,REFIID riid,void **ppvObject) {
 883    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 884}
 885static inline ULONG IWSCProductList_AddRef(IWSCProductList* This) {
 886    return This->lpVtbl->AddRef(This);
 887}
 888static inline ULONG IWSCProductList_Release(IWSCProductList* This) {
 889    return This->lpVtbl->Release(This);
 890}
 891/*** IDispatch methods ***/
 892static inline HRESULT IWSCProductList_GetTypeInfoCount(IWSCProductList* This,UINT *pctinfo) {
 893    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
 894}
 895static inline HRESULT IWSCProductList_GetTypeInfo(IWSCProductList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
 896    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
 897}
 898static 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}
 901static 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 ***/
 905static inline HRESULT IWSCProductList_Initialize(IWSCProductList* This,ULONG provider) {
 906    return This->lpVtbl->Initialize(This,provider);
 907}
 908static inline HRESULT IWSCProductList_get_Count(IWSCProductList* This,LONG *val) {
 909    return This->lpVtbl->get_Count(This,val);
 910}
 911static 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
 928DEFINE_GUID(IID_IWSCDefaultProduct, 0x0476d69c, 0xf21a, 0x11e5, 0x9c,0xe9, 0x5e,0x55,0x17,0x50,0x7c,0x66);
 929#if defined(__cplusplus) && !defined(CINTERFACE)
 930MIDL_INTERFACE("0476d69c-f21a-11e5-9ce9-5e5517507c66")
 931IWSCDefaultProduct : 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
 942typedef 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
 996interface 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 ***/
1015static inline HRESULT IWSCDefaultProduct_QueryInterface(IWSCDefaultProduct* This,REFIID riid,void **ppvObject) {
1016    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1017}
1018static inline ULONG IWSCDefaultProduct_AddRef(IWSCDefaultProduct* This) {
1019    return This->lpVtbl->AddRef(This);
1020}
1021static inline ULONG IWSCDefaultProduct_Release(IWSCDefaultProduct* This) {
1022    return This->lpVtbl->Release(This);
1023}
1024/*** IDispatch methods ***/
1025static inline HRESULT IWSCDefaultProduct_GetTypeInfoCount(IWSCDefaultProduct* This,UINT *pctinfo) {
1026    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1027}
1028static inline HRESULT IWSCDefaultProduct_GetTypeInfo(IWSCDefaultProduct* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1029    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1030}
1031static 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}
1034static 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 ***/
1038static 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
1052DEFINE_GUID(LIBID_wscAPILib, 0xb52a4496, 0x7753, 0x4f74, 0xbe,0x64, 0xc2,0x07,0x2e,0x30,0x81,0x22);
1053
1054/*****************************************************************************
1055 * WSCProductList coclass
1056 */
1057
1058DEFINE_GUID(CLSID_WSCProductList, 0x17072f7b, 0x9abe, 0x4a74, 0xa2,0x61, 0x1e,0xb7,0x6b,0x55,0x10,0x7a);
1059
1060#ifdef __cplusplus
1061class 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
1071DEFINE_GUID(CLSID_WSCDefaultProduct, 0x2981a36e, 0xf22d, 0x11e5, 0x9c,0xe9, 0x5e,0x55,0x17,0x50,0x7c,0x66);
1072
1073#ifdef __cplusplus
1074class 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__ */