⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 opccomn.h

📁 KepWare的OPC Client 示例.面向C
💻 H
📖 第 1 页 / 共 2 页
字号:
        
        HRESULT ( STDMETHODCALLTYPE *GetClassDetails )( 
            IOPCServerList * This,
            /* [in] */ REFCLSID clsid,
            /* [out] */ LPOLESTR *ppszProgID,
            /* [out] */ LPOLESTR *ppszUserType);
        
        HRESULT ( STDMETHODCALLTYPE *CLSIDFromProgID )( 
            IOPCServerList * This,
            /* [in] */ LPCOLESTR szProgId,
            /* [out] */ LPCLSID clsid);
        
        END_INTERFACE
    } IOPCServerListVtbl;

    interface IOPCServerList
    {
        CONST_VTBL struct IOPCServerListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IOPCServerList_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IOPCServerList_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IOPCServerList_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IOPCServerList_EnumClassesOfCategories(This,cImplemented,rgcatidImpl,cRequired,rgcatidReq,ppenumClsid)	\
    (This)->lpVtbl -> EnumClassesOfCategories(This,cImplemented,rgcatidImpl,cRequired,rgcatidReq,ppenumClsid)

#define IOPCServerList_GetClassDetails(This,clsid,ppszProgID,ppszUserType)	\
    (This)->lpVtbl -> GetClassDetails(This,clsid,ppszProgID,ppszUserType)

#define IOPCServerList_CLSIDFromProgID(This,szProgId,clsid)	\
    (This)->lpVtbl -> CLSIDFromProgID(This,szProgId,clsid)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IOPCServerList_EnumClassesOfCategories_Proxy( 
    IOPCServerList * This,
    /* [in] */ ULONG cImplemented,
    /* [size_is][in] */ CATID rgcatidImpl[  ],
    /* [in] */ ULONG cRequired,
    /* [size_is][in] */ CATID rgcatidReq[  ],
    /* [out] */ IEnumGUID **ppenumClsid);


void __RPC_STUB IOPCServerList_EnumClassesOfCategories_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IOPCServerList_GetClassDetails_Proxy( 
    IOPCServerList * This,
    /* [in] */ REFCLSID clsid,
    /* [out] */ LPOLESTR *ppszProgID,
    /* [out] */ LPOLESTR *ppszUserType);


void __RPC_STUB IOPCServerList_GetClassDetails_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IOPCServerList_CLSIDFromProgID_Proxy( 
    IOPCServerList * This,
    /* [in] */ LPCOLESTR szProgId,
    /* [out] */ LPCLSID clsid);


void __RPC_STUB IOPCServerList_CLSIDFromProgID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IOPCServerList_INTERFACE_DEFINED__ */


#ifndef __IOPCEnumGUID_INTERFACE_DEFINED__
#define __IOPCEnumGUID_INTERFACE_DEFINED__

/* interface IOPCEnumGUID */
/* [unique][uuid][object] */ 

typedef /* [unique] */ IOPCEnumGUID *LPOPCENUMGUID;


EXTERN_C const IID IID_IOPCEnumGUID;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("55C382C8-21C7-4e88-96C1-BECFB1E3F483")
    IOPCEnumGUID : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG celt,
            /* [length_is][size_is][out] */ GUID *rgelt,
            /* [out] */ ULONG *pceltFetched) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG celt) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IOPCEnumGUID **ppenum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IOPCEnumGUIDVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IOPCEnumGUID * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IOPCEnumGUID * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IOPCEnumGUID * This);
        
        HRESULT ( STDMETHODCALLTYPE *Next )( 
            IOPCEnumGUID * This,
            /* [in] */ ULONG celt,
            /* [length_is][size_is][out] */ GUID *rgelt,
            /* [out] */ ULONG *pceltFetched);
        
        HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IOPCEnumGUID * This,
            /* [in] */ ULONG celt);
        
        HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IOPCEnumGUID * This);
        
        HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IOPCEnumGUID * This,
            /* [out] */ IOPCEnumGUID **ppenum);
        
        END_INTERFACE
    } IOPCEnumGUIDVtbl;

    interface IOPCEnumGUID
    {
        CONST_VTBL struct IOPCEnumGUIDVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IOPCEnumGUID_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IOPCEnumGUID_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IOPCEnumGUID_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IOPCEnumGUID_Next(This,celt,rgelt,pceltFetched)	\
    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)

#define IOPCEnumGUID_Skip(This,celt)	\
    (This)->lpVtbl -> Skip(This,celt)

#define IOPCEnumGUID_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IOPCEnumGUID_Clone(This,ppenum)	\
    (This)->lpVtbl -> Clone(This,ppenum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IOPCEnumGUID_Next_Proxy( 
    IOPCEnumGUID * This,
    /* [in] */ ULONG celt,
    /* [length_is][size_is][out] */ GUID *rgelt,
    /* [out] */ ULONG *pceltFetched);


void __RPC_STUB IOPCEnumGUID_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IOPCEnumGUID_Skip_Proxy( 
    IOPCEnumGUID * This,
    /* [in] */ ULONG celt);


void __RPC_STUB IOPCEnumGUID_Skip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IOPCEnumGUID_Reset_Proxy( 
    IOPCEnumGUID * This);


void __RPC_STUB IOPCEnumGUID_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IOPCEnumGUID_Clone_Proxy( 
    IOPCEnumGUID * This,
    /* [out] */ IOPCEnumGUID **ppenum);


void __RPC_STUB IOPCEnumGUID_Clone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IOPCEnumGUID_INTERFACE_DEFINED__ */


#ifndef __IOPCServerList2_INTERFACE_DEFINED__
#define __IOPCServerList2_INTERFACE_DEFINED__

/* interface IOPCServerList2 */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID_IOPCServerList2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9DD0B56C-AD9E-43ee-8305-487F3188BF7A")
    IOPCServerList2 : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE EnumClassesOfCategories( 
            /* [in] */ ULONG cImplemented,
            /* [size_is][in] */ CATID rgcatidImpl[  ],
            /* [in] */ ULONG cRequired,
            /* [size_is][in] */ CATID rgcatidReq[  ],
            /* [out] */ IOPCEnumGUID **ppenumClsid) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetClassDetails( 
            /* [in] */ REFCLSID clsid,
            /* [out] */ LPOLESTR *ppszProgID,
            /* [out] */ LPOLESTR *ppszUserType,
            /* [out] */ LPOLESTR *ppszVerIndProgID) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CLSIDFromProgID( 
            /* [in] */ LPCOLESTR szProgId,
            /* [out] */ LPCLSID clsid) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IOPCServerList2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IOPCServerList2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IOPCServerList2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IOPCServerList2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *EnumClassesOfCategories )( 
            IOPCServerList2 * This,
            /* [in] */ ULONG cImplemented,
            /* [size_is][in] */ CATID rgcatidImpl[  ],
            /* [in] */ ULONG cRequired,
            /* [size_is][in] */ CATID rgcatidReq[  ],
            /* [out] */ IOPCEnumGUID **ppenumClsid);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassDetails )( 
            IOPCServerList2 * This,
            /* [in] */ REFCLSID clsid,
            /* [out] */ LPOLESTR *ppszProgID,
            /* [out] */ LPOLESTR *ppszUserType,
            /* [out] */ LPOLESTR *ppszVerIndProgID);
        
        HRESULT ( STDMETHODCALLTYPE *CLSIDFromProgID )( 
            IOPCServerList2 * This,
            /* [in] */ LPCOLESTR szProgId,
            /* [out] */ LPCLSID clsid);
        
        END_INTERFACE
    } IOPCServerList2Vtbl;

    interface IOPCServerList2
    {
        CONST_VTBL struct IOPCServerList2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IOPCServerList2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IOPCServerList2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IOPCServerList2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IOPCServerList2_EnumClassesOfCategories(This,cImplemented,rgcatidImpl,cRequired,rgcatidReq,ppenumClsid)	\
    (This)->lpVtbl -> EnumClassesOfCategories(This,cImplemented,rgcatidImpl,cRequired,rgcatidReq,ppenumClsid)

#define IOPCServerList2_GetClassDetails(This,clsid,ppszProgID,ppszUserType,ppszVerIndProgID)	\
    (This)->lpVtbl -> GetClassDetails(This,clsid,ppszProgID,ppszUserType,ppszVerIndProgID)

#define IOPCServerList2_CLSIDFromProgID(This,szProgId,clsid)	\
    (This)->lpVtbl -> CLSIDFromProgID(This,szProgId,clsid)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IOPCServerList2_EnumClassesOfCategories_Proxy( 
    IOPCServerList2 * This,
    /* [in] */ ULONG cImplemented,
    /* [size_is][in] */ CATID rgcatidImpl[  ],
    /* [in] */ ULONG cRequired,
    /* [size_is][in] */ CATID rgcatidReq[  ],
    /* [out] */ IOPCEnumGUID **ppenumClsid);


void __RPC_STUB IOPCServerList2_EnumClassesOfCategories_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IOPCServerList2_GetClassDetails_Proxy( 
    IOPCServerList2 * This,
    /* [in] */ REFCLSID clsid,
    /* [out] */ LPOLESTR *ppszProgID,
    /* [out] */ LPOLESTR *ppszUserType,
    /* [out] */ LPOLESTR *ppszVerIndProgID);


void __RPC_STUB IOPCServerList2_GetClassDetails_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IOPCServerList2_CLSIDFromProgID_Proxy( 
    IOPCServerList2 * This,
    /* [in] */ LPCOLESTR szProgId,
    /* [out] */ LPCLSID clsid);


void __RPC_STUB IOPCServerList2_CLSIDFromProgID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IOPCServerList2_INTERFACE_DEFINED__ */



#ifndef __OPCCOMN_LIBRARY_DEFINED__
#define __OPCCOMN_LIBRARY_DEFINED__

/* library OPCCOMN */
/* [helpstring][version][uuid] */ 












EXTERN_C const IID LIBID_OPCCOMN;
#endif /* __OPCCOMN_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -