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

📄 xrtlopcda.h

📁 delphi 开发opc server的扩展SDK包
💻 H
📖 第 1 页 / 共 3 页
字号:

    typedef struct IXRTLOPCDANameSpaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IXRTLOPCDANameSpace * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IXRTLOPCDANameSpace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IXRTLOPCDANameSpace * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetOrganization )( 
            IXRTLOPCDANameSpace * This,
            /* [out] */ OPCNAMESPACETYPE *pNameSpaceType);
        
        HRESULT ( STDMETHODCALLTYPE *SetOrganization )( 
            IXRTLOPCDANameSpace * This,
            /* [in] */ OPCNAMESPACETYPE NameSpaceType);
        
        HRESULT ( STDMETHODCALLTYPE *CheckPath )( 
            IXRTLOPCDANameSpace * This,
            /* [in] */ VARIANT vItemIDChunks);
        
        HRESULT ( STDMETHODCALLTYPE *AddItem )( 
            IXRTLOPCDANameSpace * This,
            /* [in] */ VARIANT vItemIDChunks,
            /* [string][in] */ LPOLESTR pszDescription,
            /* [in] */ VARTYPE vtDataType,
            /* [out] */ LPXRTLOPCDANameSpaceItem *ppItem);
        
        HRESULT ( STDMETHODCALLTYPE *GetItem )( 
            IXRTLOPCDANameSpace * This,
            /* [in] */ VARIANT vItemIDChunks,
            /* [out] */ LPXRTLOPCDANameSpaceItem *ppItem);
        
        HRESULT ( STDMETHODCALLTYPE *HasItem )( 
            IXRTLOPCDANameSpace * This,
            /* [in] */ VARIANT vItemIDChunks,
            /* [out] */ BOOL *pbResult);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveItem )( 
            IXRTLOPCDANameSpace * This,
            /* [in] */ VARIANT vItemIDChunks);
        
        HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IXRTLOPCDANameSpace * This);
        
        HRESULT ( STDMETHODCALLTYPE *CreateItemEnumerator )( 
            IXRTLOPCDANameSpace * This,
            /* [in] */ VARIANT vRootItemIDChunks,
            /* [in] */ OPCBROWSETYPE dwBrowseFilterType,
            /* [string][in] */ LPOLESTR szFilterCriteria,
            /* [in] */ VARTYPE vtDataTypeFilter,
            /* [in] */ DWORD dwAccessRightsFilter,
            /* [out] */ LPENUMSTRING *ppIEnumString);
        
        HRESULT ( STDMETHODCALLTYPE *GetItemIDSeparator )( 
            IXRTLOPCDANameSpace * This,
            /* [string][out] */ LPWSTR *pszItemIDSeparator);
        
        HRESULT ( STDMETHODCALLTYPE *SetItemIDSeparator )( 
            IXRTLOPCDANameSpace * This,
            /* [string][in] */ LPWSTR szItemIDSeparator);
        
        HRESULT ( STDMETHODCALLTYPE *CombineItemID )( 
            IXRTLOPCDANameSpace * This,
            /* [in] */ VARIANT vItemIDChunks,
            /* [string][out] */ LPWSTR *pszItemID);
        
        HRESULT ( STDMETHODCALLTYPE *SplitItemID )( 
            IXRTLOPCDANameSpace * This,
            /* [string][in] */ LPWSTR szItemID,
            /* [out] */ VARIANT *pvItemIDChunks);
        
        HRESULT ( STDMETHODCALLTYPE *IsLeaf )( 
            IXRTLOPCDANameSpace * This,
            /* [in] */ VARIANT vItemIDChunks,
            /* [out] */ BOOL *pbResult);
        
        HRESULT ( STDMETHODCALLTYPE *IsBranch )( 
            IXRTLOPCDANameSpace * This,
            /* [in] */ VARIANT vItemIDChunks,
            /* [out] */ BOOL *pbResult);
        
        END_INTERFACE
    } IXRTLOPCDANameSpaceVtbl;

    interface IXRTLOPCDANameSpace
    {
        CONST_VTBL struct IXRTLOPCDANameSpaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IXRTLOPCDANameSpace_GetOrganization(This,pNameSpaceType)	\
    (This)->lpVtbl -> GetOrganization(This,pNameSpaceType)

#define IXRTLOPCDANameSpace_SetOrganization(This,NameSpaceType)	\
    (This)->lpVtbl -> SetOrganization(This,NameSpaceType)

#define IXRTLOPCDANameSpace_CheckPath(This,vItemIDChunks)	\
    (This)->lpVtbl -> CheckPath(This,vItemIDChunks)

#define IXRTLOPCDANameSpace_AddItem(This,vItemIDChunks,pszDescription,vtDataType,ppItem)	\
    (This)->lpVtbl -> AddItem(This,vItemIDChunks,pszDescription,vtDataType,ppItem)

#define IXRTLOPCDANameSpace_GetItem(This,vItemIDChunks,ppItem)	\
    (This)->lpVtbl -> GetItem(This,vItemIDChunks,ppItem)

#define IXRTLOPCDANameSpace_HasItem(This,vItemIDChunks,pbResult)	\
    (This)->lpVtbl -> HasItem(This,vItemIDChunks,pbResult)

#define IXRTLOPCDANameSpace_RemoveItem(This,vItemIDChunks)	\
    (This)->lpVtbl -> RemoveItem(This,vItemIDChunks)

#define IXRTLOPCDANameSpace_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IXRTLOPCDANameSpace_CreateItemEnumerator(This,vRootItemIDChunks,dwBrowseFilterType,szFilterCriteria,vtDataTypeFilter,dwAccessRightsFilter,ppIEnumString)	\
    (This)->lpVtbl -> CreateItemEnumerator(This,vRootItemIDChunks,dwBrowseFilterType,szFilterCriteria,vtDataTypeFilter,dwAccessRightsFilter,ppIEnumString)

#define IXRTLOPCDANameSpace_GetItemIDSeparator(This,pszItemIDSeparator)	\
    (This)->lpVtbl -> GetItemIDSeparator(This,pszItemIDSeparator)

#define IXRTLOPCDANameSpace_SetItemIDSeparator(This,szItemIDSeparator)	\
    (This)->lpVtbl -> SetItemIDSeparator(This,szItemIDSeparator)

#define IXRTLOPCDANameSpace_CombineItemID(This,vItemIDChunks,pszItemID)	\
    (This)->lpVtbl -> CombineItemID(This,vItemIDChunks,pszItemID)

#define IXRTLOPCDANameSpace_SplitItemID(This,szItemID,pvItemIDChunks)	\
    (This)->lpVtbl -> SplitItemID(This,szItemID,pvItemIDChunks)

#define IXRTLOPCDANameSpace_IsLeaf(This,vItemIDChunks,pbResult)	\
    (This)->lpVtbl -> IsLeaf(This,vItemIDChunks,pbResult)

#define IXRTLOPCDANameSpace_IsBranch(This,vItemIDChunks,pbResult)	\
    (This)->lpVtbl -> IsBranch(This,vItemIDChunks,pbResult)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IXRTLOPCDANameSpace_GetOrganization_Proxy( 
    IXRTLOPCDANameSpace * This,
    /* [out] */ OPCNAMESPACETYPE *pNameSpaceType);


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


HRESULT STDMETHODCALLTYPE IXRTLOPCDANameSpace_SetOrganization_Proxy( 
    IXRTLOPCDANameSpace * This,
    /* [in] */ OPCNAMESPACETYPE NameSpaceType);


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


HRESULT STDMETHODCALLTYPE IXRTLOPCDANameSpace_CheckPath_Proxy( 
    IXRTLOPCDANameSpace * This,
    /* [in] */ VARIANT vItemIDChunks);


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


HRESULT STDMETHODCALLTYPE IXRTLOPCDANameSpace_AddItem_Proxy( 
    IXRTLOPCDANameSpace * This,
    /* [in] */ VARIANT vItemIDChunks,
    /* [string][in] */ LPOLESTR pszDescription,
    /* [in] */ VARTYPE vtDataType,
    /* [out] */ LPXRTLOPCDANameSpaceItem *ppItem);


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


HRESULT STDMETHODCALLTYPE IXRTLOPCDANameSpace_GetItem_Proxy( 
    IXRTLOPCDANameSpace * This,
    /* [in] */ VARIANT vItemIDChunks,
    /* [out] */ LPXRTLOPCDANameSpaceItem *ppItem);


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


HRESULT STDMETHODCALLTYPE IXRTLOPCDANameSpace_HasItem_Proxy( 
    IXRTLOPCDANameSpace * This,
    /* [in] */ VARIANT vItemIDChunks,
    /* [out] */ BOOL *pbResult);


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


HRESULT STDMETHODCALLTYPE IXRTLOPCDANameSpace_RemoveItem_Proxy( 
    IXRTLOPCDANameSpace * This,
    /* [in] */ VARIANT vItemIDChunks);


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


HRESULT STDMETHODCALLTYPE IXRTLOPCDANameSpace_Clear_Proxy( 
    IXRTLOPCDANameSpace * This);


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


HRESULT STDMETHODCALLTYPE IXRTLOPCDANameSpace_CreateItemEnumerator_Proxy( 
    IXRTLOPCDANameSpace * This,
    /* [in] */ VARIANT vRootItemIDChunks,
    /* [in] */ OPCBROWSETYPE dwBrowseFilterType,
    /* [string][in] */ LPOLESTR szFilterCriteria,
    /* [in] */ VARTYPE vtDataTypeFilter,
    /* [in] */ DWORD dwAccessRightsFilter,
    /* [out] */ LPENUMSTRING *ppIEnumString);


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


HRESULT STDMETHODCALLTYPE IXRTLOPCDANameSpace_GetItemIDSeparator_Proxy( 
    IXRTLOPCDANameSpace * This,
    /* [string][out] */ LPWSTR *pszItemIDSeparator);


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


HRESULT STDMETHODCALLTYPE IXRTLOPCDANameSpace_SetItemIDSeparator_Proxy( 
    IXRTLOPCDANameSpace * This,
    /* [string][in] */ LPWSTR szItemIDSeparator);


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


HRESULT STDMETHODCALLTYPE IXRTLOPCDANameSpace_CombineItemID_Proxy( 
    IXRTLOPCDANameSpace * This,
    /* [in] */ VARIANT vItemIDChunks,
    /* [string][out] */ LPWSTR *pszItemID);


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


HRESULT STDMETHODCALLTYPE IXRTLOPCDANameSpace_SplitItemID_Proxy( 
    IXRTLOPCDANameSpace * This,
    /* [string][in] */ LPWSTR szItemID,
    /* [out] */ VARIANT *pvItemIDChunks);


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


HRESULT STDMETHODCALLTYPE IXRTLOPCDANameSpace_IsLeaf_Proxy( 
    IXRTLOPCDANameSpace * This,
    /* [in] */ VARIANT vItemIDChunks,
    /* [out] */ BOOL *pbResult);


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


HRESULT STDMETHODCALLTYPE IXRTLOPCDANameSpace_IsBranch_Proxy( 
    IXRTLOPCDANameSpace * This,
    /* [in] */ VARIANT vItemIDChunks,
    /* [out] */ BOOL *pbResult);


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



#endif 	/* __IXRTLOPCDANameSpace_INTERFACE_DEFINED__ */


#ifndef __IXRTLOPCDANameSpaceItem_INTERFACE_DEFINED__
#define __IXRTLOPCDANameSpaceItem_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IXRTLOPCDANameSpaceItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3C914D07-3FE2-4339-B562-6D849177F787")
    IXRTLOPCDANameSpaceItem : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE QueryAvailableProperties( 
            /* [out] */ DWORD *pdwCount,
            /* [size_is][size_is][out] */ DWORD **ppPropertyIDs,
            /* [size_is][size_is][out] */ LPWSTR **ppDescriptions,
            /* [size_is][size_is][out] */ VARTYPE **ppvtDataTypes) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetItemProperties( 
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ DWORD *pdwPropertyIDs,
            /* [size_is][size_is][out] */ VARIANT **ppvData,
            /* [size_is][size_is][out] */ HRESULT **ppErrors) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LookupItemIDs( 
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ DWORD *pdwPropertyIDs,
            /* [size_is][size_is][string][out] */ LPWSTR **ppszNewItemIDs,
            /* [size_is][size_is][out] */ HRESULT **ppErrors) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetAccessRights( 
            /* [out] */ DWORD *pdwAccessRights) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAccessRights( 
            /* [in] */ DWORD dwAccessRights) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDataType( 
            /* [out] */ VARTYPE *pvtDataType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetDataType( 
            /* [in] */ VARTYPE vtDataType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CanRead( 
            /* [out] */ BOOL *pbResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CanWrite( 
            /* [out] */ BOOL *pbResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetItemID( 
            /* [string][out] */ LPWSTR *pszItemID) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IXRTLOPCDANameSpaceItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IXRTLOPCDANameSpaceItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IXRTLOPCDANameSpaceItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IXRTLOPCDANameSpaceItem * This);
        
        HRESULT ( STDMETHODCALLTYPE *QueryAvailableProperties )( 
            IXRTLOPCDANameSpaceItem * This,
            /* [out] */ DWORD *pdwCount,
            /* [size_is][size_is][out] */ DWORD **ppPropertyIDs,
            /* [size_is][size_is][out] */ LPWSTR **ppDescriptions,
            /* [size_is][size_is][out] */ VARTYPE **ppvtDataTypes);
        
        HRESULT ( STDMETHODCALLTYPE *GetItemProperties )( 
            IXRTLOPCDANameSpaceItem * This,
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ DWORD *pdwPropertyIDs,
            /* [size_is][size_is][out] */ VARIANT **ppvData,
            /* [size_is][size_is][out] */ HRESULT **ppErrors);
        
        HRESULT ( STDMETHODCALLTYPE *LookupItemIDs )( 
            IXRTLOPCDANameSpaceItem * This,
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ DWORD *pdwPropertyIDs,
            /* [size_is][size_is][string][out] */ LPWSTR **ppszNewItemIDs,
            /* [size_is][size_is][out] */ HRESULT **ppErrors);
        
        HRESULT ( STDMETHODCALLTYPE *GetAccessRights )( 
            IXRTLOPCDANameSpaceItem * This,
            /* [out] */ DWORD *pdwAccessRights);
        
        HRESULT ( STDMETHODCALLTYPE *SetAccessRights )( 
            IXRTLOPCDANameSpaceItem * This,
            /* [in] */ DWORD dwAccessRights);
        
        HRESULT ( STDMETHODCALLTYPE *GetDataType )( 
            IXRTLOPCDANameSpaceItem * This,
            /* [out] */ VARTYPE *pvtDataType);
        
        HRESULT ( STDMETHODCALLTYPE *SetDataType )( 
            IXRTLOPCDANameSpaceItem * This,
            /* [in] */ VARTYPE vtDataType);
        
        HRESULT ( STDMETHODCALLTYPE *CanRead )( 
            IXRTLOPCDANameSpaceItem * This,
            /* [out] */ BOOL *pbResult);

⌨️ 快捷键说明

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