www.pudn.com > ComputerInfo_demo.zip > SystemPnPDevices.h


 
#pragma warning( disable: 4049 )  /* more than 64k source lines */ 
 
/* this ALWAYS GENERATED file contains the definitions for the interfaces */ 
 
 
 /* File created by MIDL compiler version 5.03.0280 */ 
/* at Tue Feb 27 09:27:38 2001 
 */ 
/* Compiler settings for H:\NetProjects\ComputerInformation\SystemPnPDevices\SystemPnPDevices.idl: 
    Oicf (OptLev=i2), W1, Zp8, env=Win32 (32b run), ms_ext, c_ext 
    error checks: allocation ref bounds_check enum stub_data  
    VC __declspec() decoration level:  
         __declspec(uuid()), __declspec(selectany), __declspec(novtable) 
         DECLSPEC_UUID(), MIDL_INTERFACE() 
*/ 
//@@MIDL_FILE_HEADING(  ) 
 
 
/* verify that the  version is high enough to compile this file*/ 
#ifndef __REQUIRED_RPCNDR_H_VERSION__ 
#define __REQUIRED_RPCNDR_H_VERSION__ 440 
#endif 
 
#include "rpc.h" 
#include "rpcndr.h" 
 
#ifndef __RPCNDR_H_VERSION__ 
#error this stub requires an updated version of  
#endif // __RPCNDR_H_VERSION__ 
 
#ifndef COM_NO_WINDOWS_H 
#include "windows.h" 
#include "ole2.h" 
#endif /*COM_NO_WINDOWS_H*/ 
 
#ifndef __SystemPnPDevices_h__ 
#define __SystemPnPDevices_h__ 
 
/* Forward Declarations */  
 
#ifndef __IPnPDevice_FWD_DEFINED__ 
#define __IPnPDevice_FWD_DEFINED__ 
typedef interface IPnPDevice IPnPDevice; 
#endif 	/* __IPnPDevice_FWD_DEFINED__ */ 
 
 
#ifndef __IPnPDevices_FWD_DEFINED__ 
#define __IPnPDevices_FWD_DEFINED__ 
typedef interface IPnPDevices IPnPDevices; 
#endif 	/* __IPnPDevices_FWD_DEFINED__ */ 
 
 
#ifndef __IPnPDevicesInfo_FWD_DEFINED__ 
#define __IPnPDevicesInfo_FWD_DEFINED__ 
typedef interface IPnPDevicesInfo IPnPDevicesInfo; 
#endif 	/* __IPnPDevicesInfo_FWD_DEFINED__ */ 
 
 
#ifndef __IPnPDeviceDriver_FWD_DEFINED__ 
#define __IPnPDeviceDriver_FWD_DEFINED__ 
typedef interface IPnPDeviceDriver IPnPDeviceDriver; 
#endif 	/* __IPnPDeviceDriver_FWD_DEFINED__ */ 
 
 
#ifndef __IPnPDeviceDrivers_FWD_DEFINED__ 
#define __IPnPDeviceDrivers_FWD_DEFINED__ 
typedef interface IPnPDeviceDrivers IPnPDeviceDrivers; 
#endif 	/* __IPnPDeviceDrivers_FWD_DEFINED__ */ 
 
 
#ifndef __IPnPDevice_FWD_DEFINED__ 
#define __IPnPDevice_FWD_DEFINED__ 
typedef interface IPnPDevice IPnPDevice; 
#endif 	/* __IPnPDevice_FWD_DEFINED__ */ 
 
 
#ifndef __IPnPDevices_FWD_DEFINED__ 
#define __IPnPDevices_FWD_DEFINED__ 
typedef interface IPnPDevices IPnPDevices; 
#endif 	/* __IPnPDevices_FWD_DEFINED__ */ 
 
 
#ifndef __IPnPDeviceDriver_FWD_DEFINED__ 
#define __IPnPDeviceDriver_FWD_DEFINED__ 
typedef interface IPnPDeviceDriver IPnPDeviceDriver; 
#endif 	/* __IPnPDeviceDriver_FWD_DEFINED__ */ 
 
 
#ifndef __IPnPDeviceDrivers_FWD_DEFINED__ 
#define __IPnPDeviceDrivers_FWD_DEFINED__ 
typedef interface IPnPDeviceDrivers IPnPDeviceDrivers; 
#endif 	/* __IPnPDeviceDrivers_FWD_DEFINED__ */ 
 
 
#ifndef __PnPDevicesInfo_FWD_DEFINED__ 
#define __PnPDevicesInfo_FWD_DEFINED__ 
 
#ifdef __cplusplus 
typedef class PnPDevicesInfo PnPDevicesInfo; 
#else 
typedef struct PnPDevicesInfo PnPDevicesInfo; 
#endif /* __cplusplus */ 
 
#endif 	/* __PnPDevicesInfo_FWD_DEFINED__ */ 
 
 
/* header files for imported files */ 
#include "oaidl.h" 
#include "ocidl.h" 
 
#ifdef __cplusplus 
extern "C"{ 
#endif  
 
void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t); 
void __RPC_USER MIDL_user_free( void __RPC_FAR * );  
 
/* interface __MIDL_itf_SystemPnPDevices_0000 */ 
/* [local] */  
 
 
 
 
extern RPC_IF_HANDLE __MIDL_itf_SystemPnPDevices_0000_v0_0_c_ifspec; 
extern RPC_IF_HANDLE __MIDL_itf_SystemPnPDevices_0000_v0_0_s_ifspec; 
 
#ifndef __IPnPDevice_INTERFACE_DEFINED__ 
#define __IPnPDevice_INTERFACE_DEFINED__ 
 
/* interface IPnPDevice */ 
/* [unique][helpstring][nonextensible][dual][uuid][object] */  
 
 
EXTERN_C const IID IID_IPnPDevice; 
 
#if defined(__cplusplus) && !defined(CINTERFACE) 
     
    MIDL_INTERFACE("6AB72C82-E881-432A-B32F-B828C32E38A0") 
    IPnPDevice : public IDispatch 
    { 
    public: 
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Description(  
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_HardwareID(  
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ClassGUID(  
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Driver(  
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Manufacturer(  
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FriendlyName(  
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DeviceType(  
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_VendorID(  
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ProductID(  
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ProductRevision(  
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SerialNumber(  
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DeviceDrivers(  
            /* [retval][out] */ IPnPDeviceDrivers __RPC_FAR *__RPC_FAR *pVal) = 0; 
         
    }; 
     
#else 	/* C style interface */ 
 
    typedef struct IPnPDeviceVtbl 
    { 
        BEGIN_INTERFACE 
         
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(  
            IPnPDevice __RPC_FAR * This, 
            /* [in] */ REFIID riid, 
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject); 
         
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(  
            IPnPDevice __RPC_FAR * This); 
         
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(  
            IPnPDevice __RPC_FAR * This); 
         
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(  
            IPnPDevice __RPC_FAR * This, 
            /* [out] */ UINT __RPC_FAR *pctinfo); 
         
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(  
            IPnPDevice __RPC_FAR * This, 
            /* [in] */ UINT iTInfo, 
            /* [in] */ LCID lcid, 
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo); 
         
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(  
            IPnPDevice __RPC_FAR * This, 
            /* [in] */ REFIID riid, 
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames, 
            /* [in] */ UINT cNames, 
            /* [in] */ LCID lcid, 
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId); 
         
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(  
            IPnPDevice __RPC_FAR * This, 
            /* [in] */ DISPID dispIdMember, 
            /* [in] */ REFIID riid, 
            /* [in] */ LCID lcid, 
            /* [in] */ WORD wFlags, 
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams, 
            /* [out] */ VARIANT __RPC_FAR *pVarResult, 
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo, 
            /* [out] */ UINT __RPC_FAR *puArgErr); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Description )(  
            IPnPDevice __RPC_FAR * This, 
            /* [retval][out] */ BSTR __RPC_FAR *pVal); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HardwareID )(  
            IPnPDevice __RPC_FAR * This, 
            /* [retval][out] */ BSTR __RPC_FAR *pVal); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ClassGUID )(  
            IPnPDevice __RPC_FAR * This, 
            /* [retval][out] */ BSTR __RPC_FAR *pVal); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Driver )(  
            IPnPDevice __RPC_FAR * This, 
            /* [retval][out] */ BSTR __RPC_FAR *pVal); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Manufacturer )(  
            IPnPDevice __RPC_FAR * This, 
            /* [retval][out] */ BSTR __RPC_FAR *pVal); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FriendlyName )(  
            IPnPDevice __RPC_FAR * This, 
            /* [retval][out] */ BSTR __RPC_FAR *pVal); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DeviceType )(  
            IPnPDevice __RPC_FAR * This, 
            /* [retval][out] */ BSTR __RPC_FAR *pVal); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VendorID )(  
            IPnPDevice __RPC_FAR * This, 
            /* [retval][out] */ BSTR __RPC_FAR *pVal); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProductID )(  
            IPnPDevice __RPC_FAR * This, 
            /* [retval][out] */ BSTR __RPC_FAR *pVal); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProductRevision )(  
            IPnPDevice __RPC_FAR * This, 
            /* [retval][out] */ BSTR __RPC_FAR *pVal); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SerialNumber )(  
            IPnPDevice __RPC_FAR * This, 
            /* [retval][out] */ BSTR __RPC_FAR *pVal); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DeviceDrivers )(  
            IPnPDevice __RPC_FAR * This, 
            /* [retval][out] */ IPnPDeviceDrivers __RPC_FAR *__RPC_FAR *pVal); 
         
        END_INTERFACE 
    } IPnPDeviceVtbl; 
 
    interface IPnPDevice 
    { 
        CONST_VTBL struct IPnPDeviceVtbl __RPC_FAR *lpVtbl; 
    }; 
 
     
 
#ifdef COBJMACROS 
 
 
#define IPnPDevice_QueryInterface(This,riid,ppvObject)	\ 
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) 
 
#define IPnPDevice_AddRef(This)	\ 
    (This)->lpVtbl -> AddRef(This) 
 
#define IPnPDevice_Release(This)	\ 
    (This)->lpVtbl -> Release(This) 
 
 
#define IPnPDevice_GetTypeInfoCount(This,pctinfo)	\ 
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) 
 
#define IPnPDevice_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\ 
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) 
 
#define IPnPDevice_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\ 
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) 
 
#define IPnPDevice_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\ 
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) 
 
 
#define IPnPDevice_get_Description(This,pVal)	\ 
    (This)->lpVtbl -> get_Description(This,pVal) 
 
#define IPnPDevice_get_HardwareID(This,pVal)	\ 
    (This)->lpVtbl -> get_HardwareID(This,pVal) 
 
#define IPnPDevice_get_ClassGUID(This,pVal)	\ 
    (This)->lpVtbl -> get_ClassGUID(This,pVal) 
 
#define IPnPDevice_get_Driver(This,pVal)	\ 
    (This)->lpVtbl -> get_Driver(This,pVal) 
 
#define IPnPDevice_get_Manufacturer(This,pVal)	\ 
    (This)->lpVtbl -> get_Manufacturer(This,pVal) 
 
#define IPnPDevice_get_FriendlyName(This,pVal)	\ 
    (This)->lpVtbl -> get_FriendlyName(This,pVal) 
 
#define IPnPDevice_get_DeviceType(This,pVal)	\ 
    (This)->lpVtbl -> get_DeviceType(This,pVal) 
 
#define IPnPDevice_get_VendorID(This,pVal)	\ 
    (This)->lpVtbl -> get_VendorID(This,pVal) 
 
#define IPnPDevice_get_ProductID(This,pVal)	\ 
    (This)->lpVtbl -> get_ProductID(This,pVal) 
 
#define IPnPDevice_get_ProductRevision(This,pVal)	\ 
    (This)->lpVtbl -> get_ProductRevision(This,pVal) 
 
#define IPnPDevice_get_SerialNumber(This,pVal)	\ 
    (This)->lpVtbl -> get_SerialNumber(This,pVal) 
 
#define IPnPDevice_get_DeviceDrivers(This,pVal)	\ 
    (This)->lpVtbl -> get_DeviceDrivers(This,pVal) 
 
#endif /* COBJMACROS */ 
 
 
#endif 	/* C style interface */ 
 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDevice_get_Description_Proxy(  
    IPnPDevice __RPC_FAR * This, 
    /* [retval][out] */ BSTR __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDevice_get_Description_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDevice_get_HardwareID_Proxy(  
    IPnPDevice __RPC_FAR * This, 
    /* [retval][out] */ BSTR __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDevice_get_HardwareID_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDevice_get_ClassGUID_Proxy(  
    IPnPDevice __RPC_FAR * This, 
    /* [retval][out] */ BSTR __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDevice_get_ClassGUID_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDevice_get_Driver_Proxy(  
    IPnPDevice __RPC_FAR * This, 
    /* [retval][out] */ BSTR __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDevice_get_Driver_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDevice_get_Manufacturer_Proxy(  
    IPnPDevice __RPC_FAR * This, 
    /* [retval][out] */ BSTR __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDevice_get_Manufacturer_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDevice_get_FriendlyName_Proxy(  
    IPnPDevice __RPC_FAR * This, 
    /* [retval][out] */ BSTR __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDevice_get_FriendlyName_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDevice_get_DeviceType_Proxy(  
    IPnPDevice __RPC_FAR * This, 
    /* [retval][out] */ BSTR __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDevice_get_DeviceType_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDevice_get_VendorID_Proxy(  
    IPnPDevice __RPC_FAR * This, 
    /* [retval][out] */ BSTR __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDevice_get_VendorID_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDevice_get_ProductID_Proxy(  
    IPnPDevice __RPC_FAR * This, 
    /* [retval][out] */ BSTR __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDevice_get_ProductID_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDevice_get_ProductRevision_Proxy(  
    IPnPDevice __RPC_FAR * This, 
    /* [retval][out] */ BSTR __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDevice_get_ProductRevision_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDevice_get_SerialNumber_Proxy(  
    IPnPDevice __RPC_FAR * This, 
    /* [retval][out] */ BSTR __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDevice_get_SerialNumber_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDevice_get_DeviceDrivers_Proxy(  
    IPnPDevice __RPC_FAR * This, 
    /* [retval][out] */ IPnPDeviceDrivers __RPC_FAR *__RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDevice_get_DeviceDrivers_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
 
#endif 	/* __IPnPDevice_INTERFACE_DEFINED__ */ 
 
 
#ifndef __IPnPDevices_INTERFACE_DEFINED__ 
#define __IPnPDevices_INTERFACE_DEFINED__ 
 
/* interface IPnPDevices */ 
/* [unique][helpstring][nonextensible][oleautomation][uuid][object] */  
 
 
EXTERN_C const IID IID_IPnPDevices; 
 
#if defined(__cplusplus) && !defined(CINTERFACE) 
     
    MIDL_INTERFACE("E1B4025C-DCB0-4C42-9057-B06744C6D1BC") 
    IPnPDevices : public IUnknown 
    { 
    public: 
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Item(  
            /* [in] */ long ItemIndex, 
            /* [retval][out] */ IPnPDevice __RPC_FAR *__RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(  
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(  
            /* [retval][out] */ LONG __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Add(  
            /* [in] */ IPnPDevice __RPC_FAR *Device) = 0; 
         
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0; 
         
    }; 
     
#else 	/* C style interface */ 
 
    typedef struct IPnPDevicesVtbl 
    { 
        BEGIN_INTERFACE 
         
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(  
            IPnPDevices __RPC_FAR * This, 
            /* [in] */ REFIID riid, 
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject); 
         
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(  
            IPnPDevices __RPC_FAR * This); 
         
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(  
            IPnPDevices __RPC_FAR * This); 
         
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )(  
            IPnPDevices __RPC_FAR * This, 
            /* [in] */ long ItemIndex, 
            /* [retval][out] */ IPnPDevice __RPC_FAR *__RPC_FAR *pVal); 
         
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )(  
            IPnPDevices __RPC_FAR * This, 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *pVal); 
         
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )(  
            IPnPDevices __RPC_FAR * This, 
            /* [retval][out] */ LONG __RPC_FAR *pVal); 
         
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )(  
            IPnPDevices __RPC_FAR * This, 
            /* [in] */ IPnPDevice __RPC_FAR *Device); 
         
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clear )(  
            IPnPDevices __RPC_FAR * This); 
         
        END_INTERFACE 
    } IPnPDevicesVtbl; 
 
    interface IPnPDevices 
    { 
        CONST_VTBL struct IPnPDevicesVtbl __RPC_FAR *lpVtbl; 
    }; 
 
     
 
#ifdef COBJMACROS 
 
 
#define IPnPDevices_QueryInterface(This,riid,ppvObject)	\ 
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) 
 
#define IPnPDevices_AddRef(This)	\ 
    (This)->lpVtbl -> AddRef(This) 
 
#define IPnPDevices_Release(This)	\ 
    (This)->lpVtbl -> Release(This) 
 
 
#define IPnPDevices_get_Item(This,ItemIndex,pVal)	\ 
    (This)->lpVtbl -> get_Item(This,ItemIndex,pVal) 
 
#define IPnPDevices_get__NewEnum(This,pVal)	\ 
    (This)->lpVtbl -> get__NewEnum(This,pVal) 
 
#define IPnPDevices_get_Count(This,pVal)	\ 
    (This)->lpVtbl -> get_Count(This,pVal) 
 
#define IPnPDevices_Add(This,Device)	\ 
    (This)->lpVtbl -> Add(This,Device) 
 
#define IPnPDevices_Clear(This)	\ 
    (This)->lpVtbl -> Clear(This) 
 
#endif /* COBJMACROS */ 
 
 
#endif 	/* C style interface */ 
 
 
 
/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPnPDevices_get_Item_Proxy(  
    IPnPDevices __RPC_FAR * This, 
    /* [in] */ long ItemIndex, 
    /* [retval][out] */ IPnPDevice __RPC_FAR *__RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDevices_get_Item_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPnPDevices_get__NewEnum_Proxy(  
    IPnPDevices __RPC_FAR * This, 
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDevices_get__NewEnum_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPnPDevices_get_Count_Proxy(  
    IPnPDevices __RPC_FAR * This, 
    /* [retval][out] */ LONG __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDevices_get_Count_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IPnPDevices_Add_Proxy(  
    IPnPDevices __RPC_FAR * This, 
    /* [in] */ IPnPDevice __RPC_FAR *Device); 
 
 
void __RPC_STUB IPnPDevices_Add_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IPnPDevices_Clear_Proxy(  
    IPnPDevices __RPC_FAR * This); 
 
 
void __RPC_STUB IPnPDevices_Clear_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
 
#endif 	/* __IPnPDevices_INTERFACE_DEFINED__ */ 
 
 
#ifndef __IPnPDevicesInfo_INTERFACE_DEFINED__ 
#define __IPnPDevicesInfo_INTERFACE_DEFINED__ 
 
/* interface IPnPDevicesInfo */ 
/* [unique][helpstring][dual][uuid][object] */  
 
 
EXTERN_C const IID IID_IPnPDevicesInfo; 
 
#if defined(__cplusplus) && !defined(CINTERFACE) 
     
    MIDL_INTERFACE("1B203F52-A865-4792-91C3-18AF456DB836") 
    IPnPDevicesInfo : public IDispatch 
    { 
    public: 
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPnpDevices(  
            /* [out] */ IPnPDevices __RPC_FAR *__RPC_FAR *pDevices) = 0; 
         
    }; 
     
#else 	/* C style interface */ 
 
    typedef struct IPnPDevicesInfoVtbl 
    { 
        BEGIN_INTERFACE 
         
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(  
            IPnPDevicesInfo __RPC_FAR * This, 
            /* [in] */ REFIID riid, 
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject); 
         
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(  
            IPnPDevicesInfo __RPC_FAR * This); 
         
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(  
            IPnPDevicesInfo __RPC_FAR * This); 
         
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(  
            IPnPDevicesInfo __RPC_FAR * This, 
            /* [out] */ UINT __RPC_FAR *pctinfo); 
         
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(  
            IPnPDevicesInfo __RPC_FAR * This, 
            /* [in] */ UINT iTInfo, 
            /* [in] */ LCID lcid, 
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo); 
         
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(  
            IPnPDevicesInfo __RPC_FAR * This, 
            /* [in] */ REFIID riid, 
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames, 
            /* [in] */ UINT cNames, 
            /* [in] */ LCID lcid, 
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId); 
         
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(  
            IPnPDevicesInfo __RPC_FAR * This, 
            /* [in] */ DISPID dispIdMember, 
            /* [in] */ REFIID riid, 
            /* [in] */ LCID lcid, 
            /* [in] */ WORD wFlags, 
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams, 
            /* [out] */ VARIANT __RPC_FAR *pVarResult, 
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo, 
            /* [out] */ UINT __RPC_FAR *puArgErr); 
         
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPnpDevices )(  
            IPnPDevicesInfo __RPC_FAR * This, 
            /* [out] */ IPnPDevices __RPC_FAR *__RPC_FAR *pDevices); 
         
        END_INTERFACE 
    } IPnPDevicesInfoVtbl; 
 
    interface IPnPDevicesInfo 
    { 
        CONST_VTBL struct IPnPDevicesInfoVtbl __RPC_FAR *lpVtbl; 
    }; 
 
     
 
#ifdef COBJMACROS 
 
 
#define IPnPDevicesInfo_QueryInterface(This,riid,ppvObject)	\ 
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) 
 
#define IPnPDevicesInfo_AddRef(This)	\ 
    (This)->lpVtbl -> AddRef(This) 
 
#define IPnPDevicesInfo_Release(This)	\ 
    (This)->lpVtbl -> Release(This) 
 
 
#define IPnPDevicesInfo_GetTypeInfoCount(This,pctinfo)	\ 
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) 
 
#define IPnPDevicesInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\ 
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) 
 
#define IPnPDevicesInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\ 
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) 
 
#define IPnPDevicesInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\ 
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) 
 
 
#define IPnPDevicesInfo_GetPnpDevices(This,pDevices)	\ 
    (This)->lpVtbl -> GetPnpDevices(This,pDevices) 
 
#endif /* COBJMACROS */ 
 
 
#endif 	/* C style interface */ 
 
 
 
/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IPnPDevicesInfo_GetPnpDevices_Proxy(  
    IPnPDevicesInfo __RPC_FAR * This, 
    /* [out] */ IPnPDevices __RPC_FAR *__RPC_FAR *pDevices); 
 
 
void __RPC_STUB IPnPDevicesInfo_GetPnpDevices_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
 
#endif 	/* __IPnPDevicesInfo_INTERFACE_DEFINED__ */ 
 
 
#ifndef __IPnPDeviceDriver_INTERFACE_DEFINED__ 
#define __IPnPDeviceDriver_INTERFACE_DEFINED__ 
 
/* interface IPnPDeviceDriver */ 
/* [unique][helpstring][nonextensible][dual][uuid][object] */  
 
 
EXTERN_C const IID IID_IPnPDeviceDriver; 
 
#if defined(__cplusplus) && !defined(CINTERFACE) 
     
    MIDL_INTERFACE("B7A2CDEE-A28C-4B61-8A2B-69B27EDBC59E") 
    IPnPDeviceDriver : public IDispatch 
    { 
    public: 
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type(  
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Description(  
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Manufacturer(  
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Provider(  
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Date(  
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Version(  
            /* [retval][out] */ long __RPC_FAR *pVal) = 0; 
         
    }; 
     
#else 	/* C style interface */ 
 
    typedef struct IPnPDeviceDriverVtbl 
    { 
        BEGIN_INTERFACE 
         
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(  
            IPnPDeviceDriver __RPC_FAR * This, 
            /* [in] */ REFIID riid, 
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject); 
         
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(  
            IPnPDeviceDriver __RPC_FAR * This); 
         
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(  
            IPnPDeviceDriver __RPC_FAR * This); 
         
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(  
            IPnPDeviceDriver __RPC_FAR * This, 
            /* [out] */ UINT __RPC_FAR *pctinfo); 
         
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(  
            IPnPDeviceDriver __RPC_FAR * This, 
            /* [in] */ UINT iTInfo, 
            /* [in] */ LCID lcid, 
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo); 
         
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(  
            IPnPDeviceDriver __RPC_FAR * This, 
            /* [in] */ REFIID riid, 
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames, 
            /* [in] */ UINT cNames, 
            /* [in] */ LCID lcid, 
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId); 
         
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(  
            IPnPDeviceDriver __RPC_FAR * This, 
            /* [in] */ DISPID dispIdMember, 
            /* [in] */ REFIID riid, 
            /* [in] */ LCID lcid, 
            /* [in] */ WORD wFlags, 
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams, 
            /* [out] */ VARIANT __RPC_FAR *pVarResult, 
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo, 
            /* [out] */ UINT __RPC_FAR *puArgErr); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )(  
            IPnPDeviceDriver __RPC_FAR * This, 
            /* [retval][out] */ BSTR __RPC_FAR *pVal); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Description )(  
            IPnPDeviceDriver __RPC_FAR * This, 
            /* [retval][out] */ BSTR __RPC_FAR *pVal); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Manufacturer )(  
            IPnPDeviceDriver __RPC_FAR * This, 
            /* [retval][out] */ BSTR __RPC_FAR *pVal); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Provider )(  
            IPnPDeviceDriver __RPC_FAR * This, 
            /* [retval][out] */ BSTR __RPC_FAR *pVal); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Date )(  
            IPnPDeviceDriver __RPC_FAR * This, 
            /* [retval][out] */ BSTR __RPC_FAR *pVal); 
         
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Version )(  
            IPnPDeviceDriver __RPC_FAR * This, 
            /* [retval][out] */ long __RPC_FAR *pVal); 
         
        END_INTERFACE 
    } IPnPDeviceDriverVtbl; 
 
    interface IPnPDeviceDriver 
    { 
        CONST_VTBL struct IPnPDeviceDriverVtbl __RPC_FAR *lpVtbl; 
    }; 
 
     
 
#ifdef COBJMACROS 
 
 
#define IPnPDeviceDriver_QueryInterface(This,riid,ppvObject)	\ 
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) 
 
#define IPnPDeviceDriver_AddRef(This)	\ 
    (This)->lpVtbl -> AddRef(This) 
 
#define IPnPDeviceDriver_Release(This)	\ 
    (This)->lpVtbl -> Release(This) 
 
 
#define IPnPDeviceDriver_GetTypeInfoCount(This,pctinfo)	\ 
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) 
 
#define IPnPDeviceDriver_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\ 
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) 
 
#define IPnPDeviceDriver_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\ 
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) 
 
#define IPnPDeviceDriver_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\ 
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) 
 
 
#define IPnPDeviceDriver_get_Type(This,pVal)	\ 
    (This)->lpVtbl -> get_Type(This,pVal) 
 
#define IPnPDeviceDriver_get_Description(This,pVal)	\ 
    (This)->lpVtbl -> get_Description(This,pVal) 
 
#define IPnPDeviceDriver_get_Manufacturer(This,pVal)	\ 
    (This)->lpVtbl -> get_Manufacturer(This,pVal) 
 
#define IPnPDeviceDriver_get_Provider(This,pVal)	\ 
    (This)->lpVtbl -> get_Provider(This,pVal) 
 
#define IPnPDeviceDriver_get_Date(This,pVal)	\ 
    (This)->lpVtbl -> get_Date(This,pVal) 
 
#define IPnPDeviceDriver_get_Version(This,pVal)	\ 
    (This)->lpVtbl -> get_Version(This,pVal) 
 
#endif /* COBJMACROS */ 
 
 
#endif 	/* C style interface */ 
 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDeviceDriver_get_Type_Proxy(  
    IPnPDeviceDriver __RPC_FAR * This, 
    /* [retval][out] */ BSTR __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDeviceDriver_get_Type_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDeviceDriver_get_Description_Proxy(  
    IPnPDeviceDriver __RPC_FAR * This, 
    /* [retval][out] */ BSTR __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDeviceDriver_get_Description_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDeviceDriver_get_Manufacturer_Proxy(  
    IPnPDeviceDriver __RPC_FAR * This, 
    /* [retval][out] */ BSTR __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDeviceDriver_get_Manufacturer_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDeviceDriver_get_Provider_Proxy(  
    IPnPDeviceDriver __RPC_FAR * This, 
    /* [retval][out] */ BSTR __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDeviceDriver_get_Provider_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDeviceDriver_get_Date_Proxy(  
    IPnPDeviceDriver __RPC_FAR * This, 
    /* [retval][out] */ BSTR __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDeviceDriver_get_Date_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IPnPDeviceDriver_get_Version_Proxy(  
    IPnPDeviceDriver __RPC_FAR * This, 
    /* [retval][out] */ long __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDeviceDriver_get_Version_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
 
#endif 	/* __IPnPDeviceDriver_INTERFACE_DEFINED__ */ 
 
 
#ifndef __IPnPDeviceDrivers_INTERFACE_DEFINED__ 
#define __IPnPDeviceDrivers_INTERFACE_DEFINED__ 
 
/* interface IPnPDeviceDrivers */ 
/* [unique][helpstring][nonextensible][dual][uuid][object] */  
 
 
EXTERN_C const IID IID_IPnPDeviceDrivers; 
 
#if defined(__cplusplus) && !defined(CINTERFACE) 
     
    MIDL_INTERFACE("13E58B92-463D-4533-B73C-3A3568D186C9") 
    IPnPDeviceDrivers : public IDispatch 
    { 
    public: 
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Item(  
            /* [in] */ long ItemIndex, 
            /* [retval][out] */ IPnPDeviceDriver __RPC_FAR *__RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(  
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(  
            /* [retval][out] */ LONG __RPC_FAR *pVal) = 0; 
         
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Add(  
            /* [in] */ IPnPDeviceDriver __RPC_FAR *Device) = 0; 
         
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0; 
         
    }; 
     
#else 	/* C style interface */ 
 
    typedef struct IPnPDeviceDriversVtbl 
    { 
        BEGIN_INTERFACE 
         
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(  
            IPnPDeviceDrivers __RPC_FAR * This, 
            /* [in] */ REFIID riid, 
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject); 
         
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(  
            IPnPDeviceDrivers __RPC_FAR * This); 
         
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(  
            IPnPDeviceDrivers __RPC_FAR * This); 
         
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(  
            IPnPDeviceDrivers __RPC_FAR * This, 
            /* [out] */ UINT __RPC_FAR *pctinfo); 
         
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(  
            IPnPDeviceDrivers __RPC_FAR * This, 
            /* [in] */ UINT iTInfo, 
            /* [in] */ LCID lcid, 
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo); 
         
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(  
            IPnPDeviceDrivers __RPC_FAR * This, 
            /* [in] */ REFIID riid, 
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames, 
            /* [in] */ UINT cNames, 
            /* [in] */ LCID lcid, 
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId); 
         
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(  
            IPnPDeviceDrivers __RPC_FAR * This, 
            /* [in] */ DISPID dispIdMember, 
            /* [in] */ REFIID riid, 
            /* [in] */ LCID lcid, 
            /* [in] */ WORD wFlags, 
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams, 
            /* [out] */ VARIANT __RPC_FAR *pVarResult, 
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo, 
            /* [out] */ UINT __RPC_FAR *puArgErr); 
         
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )(  
            IPnPDeviceDrivers __RPC_FAR * This, 
            /* [in] */ long ItemIndex, 
            /* [retval][out] */ IPnPDeviceDriver __RPC_FAR *__RPC_FAR *pVal); 
         
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )(  
            IPnPDeviceDrivers __RPC_FAR * This, 
            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *pVal); 
         
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )(  
            IPnPDeviceDrivers __RPC_FAR * This, 
            /* [retval][out] */ LONG __RPC_FAR *pVal); 
         
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )(  
            IPnPDeviceDrivers __RPC_FAR * This, 
            /* [in] */ IPnPDeviceDriver __RPC_FAR *Device); 
         
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clear )(  
            IPnPDeviceDrivers __RPC_FAR * This); 
         
        END_INTERFACE 
    } IPnPDeviceDriversVtbl; 
 
    interface IPnPDeviceDrivers 
    { 
        CONST_VTBL struct IPnPDeviceDriversVtbl __RPC_FAR *lpVtbl; 
    }; 
 
     
 
#ifdef COBJMACROS 
 
 
#define IPnPDeviceDrivers_QueryInterface(This,riid,ppvObject)	\ 
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) 
 
#define IPnPDeviceDrivers_AddRef(This)	\ 
    (This)->lpVtbl -> AddRef(This) 
 
#define IPnPDeviceDrivers_Release(This)	\ 
    (This)->lpVtbl -> Release(This) 
 
 
#define IPnPDeviceDrivers_GetTypeInfoCount(This,pctinfo)	\ 
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) 
 
#define IPnPDeviceDrivers_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\ 
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) 
 
#define IPnPDeviceDrivers_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\ 
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) 
 
#define IPnPDeviceDrivers_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\ 
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) 
 
 
#define IPnPDeviceDrivers_get_Item(This,ItemIndex,pVal)	\ 
    (This)->lpVtbl -> get_Item(This,ItemIndex,pVal) 
 
#define IPnPDeviceDrivers_get__NewEnum(This,pVal)	\ 
    (This)->lpVtbl -> get__NewEnum(This,pVal) 
 
#define IPnPDeviceDrivers_get_Count(This,pVal)	\ 
    (This)->lpVtbl -> get_Count(This,pVal) 
 
#define IPnPDeviceDrivers_Add(This,Device)	\ 
    (This)->lpVtbl -> Add(This,Device) 
 
#define IPnPDeviceDrivers_Clear(This)	\ 
    (This)->lpVtbl -> Clear(This) 
 
#endif /* COBJMACROS */ 
 
 
#endif 	/* C style interface */ 
 
 
 
/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPnPDeviceDrivers_get_Item_Proxy(  
    IPnPDeviceDrivers __RPC_FAR * This, 
    /* [in] */ long ItemIndex, 
    /* [retval][out] */ IPnPDeviceDriver __RPC_FAR *__RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDeviceDrivers_get_Item_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPnPDeviceDrivers_get__NewEnum_Proxy(  
    IPnPDeviceDrivers __RPC_FAR * This, 
    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDeviceDrivers_get__NewEnum_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IPnPDeviceDrivers_get_Count_Proxy(  
    IPnPDeviceDrivers __RPC_FAR * This, 
    /* [retval][out] */ LONG __RPC_FAR *pVal); 
 
 
void __RPC_STUB IPnPDeviceDrivers_get_Count_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IPnPDeviceDrivers_Add_Proxy(  
    IPnPDeviceDrivers __RPC_FAR * This, 
    /* [in] */ IPnPDeviceDriver __RPC_FAR *Device); 
 
 
void __RPC_STUB IPnPDeviceDrivers_Add_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IPnPDeviceDrivers_Clear_Proxy(  
    IPnPDeviceDrivers __RPC_FAR * This); 
 
 
void __RPC_STUB IPnPDeviceDrivers_Clear_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
 
#endif 	/* __IPnPDeviceDrivers_INTERFACE_DEFINED__ */ 
 
 
 
#ifndef __SYSTEMPNPDEVICESLib_LIBRARY_DEFINED__ 
#define __SYSTEMPNPDEVICESLib_LIBRARY_DEFINED__ 
 
/* library SYSTEMPNPDEVICESLib */ 
/* [helpstring][version][uuid] */  
 
 
 
 
 
 
EXTERN_C const IID LIBID_SYSTEMPNPDEVICESLib; 
 
EXTERN_C const CLSID CLSID_PnPDevicesInfo; 
 
#ifdef __cplusplus 
 
class DECLSPEC_UUID("0F9C4A57-BEDB-4F99-ACBB-0FD030F5EAD9") 
PnPDevicesInfo; 
#endif 
#endif /* __SYSTEMPNPDEVICESLib_LIBRARY_DEFINED__ */ 
 
/* Additional Prototypes for ALL interfaces */ 
 
unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * );  
unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * );  
unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * );  
void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * );  
 
/* end of Additional Prototypes */ 
 
#ifdef __cplusplus 
} 
#endif 
 
#endif