📄 opcda.h
字号:
const IOPCAsyncIOVtbl * lpVtbl; };#endif /* __cplusplus */EXTERN_C const IID IID_IOPCAsyncIO;typedef struct { COM_VTBL_BEGIN COM_VTBL_ENTRY (HRESULT, QueryInterface, (IUnknown* pThis, REFIID riid, void** ppvObject));#define IUnknown_QueryInterface(pThis, riid, ppvObject) pThis->lpVtbl->QueryInterface(COM_ADJUST_THIS(pThis), riid, ppvObject) COM_VTBL_ENTRY (ULONG, AddRef, (IUnknown* pThis));#define IUnknown_AddRef(pThis) pThis->lpVtbl->AddRef(COM_ADJUST_THIS(pThis)) COM_VTBL_ENTRY (ULONG, Release, (IUnknown* pThis));#define IUnknown_Release(pThis) pThis->lpVtbl->Release(COM_ADJUST_THIS(pThis)) COM_VTBL_ENTRY (HRESULT, AddItems, (IOPCItemMgt* pThis, DWORD dwCount, OPCITEMDEF* pItemArray, OPCITEMRESULT** ppAddResults, HRESULT** ppErrors));#define IOPCItemMgt_AddItems(pThis, dwCount, pItemArray, ppAddResults, ppErrors) pThis->lpVtbl->AddItems(COM_ADJUST_THIS(pThis), dwCount, pItemArray, ppAddResults, ppErrors) COM_VTBL_ENTRY (HRESULT, ValidateItems, (IOPCItemMgt* pThis, DWORD dwCount, OPCITEMDEF* pItemArray, BOOL bBlobUpdate, OPCITEMRESULT** ppValidationResults, HRESULT** ppErrors));#define IOPCItemMgt_ValidateItems(pThis, dwCount, pItemArray, bBlobUpdate, ppValidationResults, ppErrors) pThis->lpVtbl->ValidateItems(COM_ADJUST_THIS(pThis), dwCount, pItemArray, bBlobUpdate, ppValidationResults, ppErrors) COM_VTBL_ENTRY (HRESULT, RemoveItems, (IOPCItemMgt* pThis, DWORD dwCount, OPCHANDLE* phServer, HRESULT** ppErrors));#define IOPCItemMgt_RemoveItems(pThis, dwCount, phServer, ppErrors) pThis->lpVtbl->RemoveItems(COM_ADJUST_THIS(pThis), dwCount, phServer, ppErrors) COM_VTBL_ENTRY (HRESULT, SetActiveState, (IOPCItemMgt* pThis, DWORD dwCount, OPCHANDLE* phServer, BOOL bActive, HRESULT** ppErrors));#define IOPCItemMgt_SetActiveState(pThis, dwCount, phServer, bActive, ppErrors) pThis->lpVtbl->SetActiveState(COM_ADJUST_THIS(pThis), dwCount, phServer, bActive, ppErrors) COM_VTBL_ENTRY (HRESULT, SetClientHandles, (IOPCItemMgt* pThis, DWORD dwCount, OPCHANDLE* phServer, OPCHANDLE* phClient, HRESULT** ppErrors));#define IOPCItemMgt_SetClientHandles(pThis, dwCount, phServer, phClient, ppErrors) pThis->lpVtbl->SetClientHandles(COM_ADJUST_THIS(pThis), dwCount, phServer, phClient, ppErrors) COM_VTBL_ENTRY (HRESULT, SetDatatypes, (IOPCItemMgt* pThis, DWORD dwCount, OPCHANDLE* phServer, VARTYPE* pRequestedDatatypes, HRESULT** ppErrors));#define IOPCItemMgt_SetDatatypes(pThis, dwCount, phServer, pRequestedDatatypes, ppErrors) pThis->lpVtbl->SetDatatypes(COM_ADJUST_THIS(pThis), dwCount, phServer, pRequestedDatatypes, ppErrors) COM_VTBL_ENTRY (HRESULT, CreateEnumerator, (IOPCItemMgt* pThis, REFIID riid, LPUNKNOWN* ppUnk));#define IOPCItemMgt_CreateEnumerator(pThis, riid, ppUnk) pThis->lpVtbl->CreateEnumerator(COM_ADJUST_THIS(pThis), riid, ppUnk) COM_VTBL_END } IOPCItemMgtVtbl;#ifdef __cplusplusinterface IOPCItemMgt : public IUnknown{virtual HRESULT AddItems (DWORD dwCount, OPCITEMDEF* pItemArray, OPCITEMRESULT** ppAddResults, HRESULT** ppErrors) =0;virtual HRESULT ValidateItems (DWORD dwCount, OPCITEMDEF* pItemArray, BOOL bBlobUpdate, OPCITEMRESULT** ppValidationResults, HRESULT** ppErrors) =0;virtual HRESULT RemoveItems (DWORD dwCount, OPCHANDLE* phServer, HRESULT** ppErrors) =0;virtual HRESULT SetActiveState (DWORD dwCount, OPCHANDLE* phServer, BOOL bActive, HRESULT** ppErrors) =0;virtual HRESULT SetClientHandles (DWORD dwCount, OPCHANDLE* phServer, OPCHANDLE* phClient, HRESULT** ppErrors) =0;virtual HRESULT SetDatatypes (DWORD dwCount, OPCHANDLE* phServer, VARTYPE* pRequestedDatatypes, HRESULT** ppErrors) =0;virtual HRESULT CreateEnumerator (REFIID riid, LPUNKNOWN* ppUnk) =0;};#else/* C interface definition for IOPCItemMgt */interface IOPCItemMgt { const IOPCItemMgtVtbl * lpVtbl; };#endif /* __cplusplus */EXTERN_C const IID IID_IOPCItemMgt;typedef struct { COM_VTBL_BEGIN COM_VTBL_ENTRY (HRESULT, QueryInterface, (IUnknown* pThis, REFIID riid, void** ppvObject));#define IUnknown_QueryInterface(pThis, riid, ppvObject) pThis->lpVtbl->QueryInterface(COM_ADJUST_THIS(pThis), riid, ppvObject) COM_VTBL_ENTRY (ULONG, AddRef, (IUnknown* pThis));#define IUnknown_AddRef(pThis) pThis->lpVtbl->AddRef(COM_ADJUST_THIS(pThis)) COM_VTBL_ENTRY (ULONG, Release, (IUnknown* pThis));#define IUnknown_Release(pThis) pThis->lpVtbl->Release(COM_ADJUST_THIS(pThis)) COM_VTBL_ENTRY (HRESULT, Next, (IEnumOPCItemAttributes* pThis, ULONG celt, OPCITEMATTRIBUTES** ppItemArray, ULONG* pceltFetched));#define IEnumOPCItemAttributes_Next(pThis, celt, ppItemArray, pceltFetched) pThis->lpVtbl->Next(COM_ADJUST_THIS(pThis), celt, ppItemArray, pceltFetched) COM_VTBL_ENTRY (HRESULT, Skip, (IEnumOPCItemAttributes* pThis, ULONG celt));#define IEnumOPCItemAttributes_Skip(pThis, celt) pThis->lpVtbl->Skip(COM_ADJUST_THIS(pThis), celt) COM_VTBL_ENTRY (HRESULT, Reset, (IEnumOPCItemAttributes* pThis));#define IEnumOPCItemAttributes_Reset(pThis) pThis->lpVtbl->Reset(COM_ADJUST_THIS(pThis)) COM_VTBL_ENTRY (HRESULT, Clone, (IEnumOPCItemAttributes* pThis, IEnumOPCItemAttributes** ppEnumItemAttributes));#define IEnumOPCItemAttributes_Clone(pThis, ppEnumItemAttributes) pThis->lpVtbl->Clone(COM_ADJUST_THIS(pThis), ppEnumItemAttributes) COM_VTBL_END } IEnumOPCItemAttributesVtbl;#ifdef __cplusplusinterface IEnumOPCItemAttributes : public IUnknown{virtual HRESULT Next (ULONG celt, OPCITEMATTRIBUTES** ppItemArray, ULONG* pceltFetched) =0;virtual HRESULT Skip (ULONG celt) =0;virtual HRESULT Reset () =0;virtual HRESULT Clone (IEnumOPCItemAttributes** ppEnumItemAttributes) =0;};#else/* C interface definition for IEnumOPCItemAttributes */interface IEnumOPCItemAttributes { const IEnumOPCItemAttributesVtbl * lpVtbl; };#endif /* __cplusplus */EXTERN_C const IID IID_IEnumOPCItemAttributes;typedef struct { COM_VTBL_BEGIN COM_VTBL_ENTRY (HRESULT, QueryInterface, (IUnknown* pThis, REFIID riid, void** ppvObject));#define IUnknown_QueryInterface(pThis, riid, ppvObject) pThis->lpVtbl->QueryInterface(COM_ADJUST_THIS(pThis), riid, ppvObject) COM_VTBL_ENTRY (ULONG, AddRef, (IUnknown* pThis));#define IUnknown_AddRef(pThis) pThis->lpVtbl->AddRef(COM_ADJUST_THIS(pThis)) COM_VTBL_ENTRY (ULONG, Release, (IUnknown* pThis));#define IUnknown_Release(pThis) pThis->lpVtbl->Release(COM_ADJUST_THIS(pThis)) COM_VTBL_ENTRY (HRESULT, OnDataChange, (IOPCDataCallback* pThis, DWORD dwTransid, OPCHANDLE hGroup, HRESULT hrMasterquality, HRESULT hrMastererror, DWORD dwCount, OPCHANDLE* phClientItems, VARIANT* pvValues, WORD* pwQualities, FILETIME* pftTimeStamps, HRESULT* pErrors));#define IOPCDataCallback_OnDataChange(pThis, dwTransid, hGroup, hrMasterquality, hrMastererror, dwCount, phClientItems, pvValues, pwQualities, pftTimeStamps, pErrors) pThis->lpVtbl->OnDataChange(COM_ADJUST_THIS(pThis), dwTransid, hGroup, hrMasterquality, hrMastererror, dwCount, phClientItems, pvValues, pwQualities, pftTimeStamps, pErrors) COM_VTBL_ENTRY (HRESULT, OnReadComplete, (IOPCDataCallback* pThis, DWORD dwTransid, OPCHANDLE hGroup, HRESULT hrMasterquality, HRESULT hrMastererror, DWORD dwCount, OPCHANDLE* phClientItems, VARIANT* pvValues, WORD* pwQualities, FILETIME* pftTimeStamps, HRESULT* pErrors));#define IOPCDataCallback_OnReadComplete(pThis, dwTransid, hGroup, hrMasterquality, hrMastererror, dwCount, phClientItems, pvValues, pwQualities, pftTimeStamps, pErrors) pThis->lpVtbl->OnReadComplete(COM_ADJUST_THIS(pThis), dwTransid, hGroup, hrMasterquality, hrMastererror, dwCount, phClientItems, pvValues, pwQualities, pftTimeStamps, pErrors) COM_VTBL_ENTRY (HRESULT, OnWriteComplete, (IOPCDataCallback* pThis, DWORD dwTransid, OPCHANDLE hGroup, HRESULT hrMastererr, DWORD dwCount, OPCHANDLE* pClienthandles, HRESULT* pErrors));#define IOPCDataCallback_OnWriteComplete(pThis, dwTransid, hGroup, hrMastererr, dwCount, pClienthandles, pErrors) pThis->lpVtbl->OnWriteComplete(COM_ADJUST_THIS(pThis), dwTransid, hGroup, hrMastererr, dwCount, pClienthandles, pErrors) COM_VTBL_ENTRY (HRESULT, OnCancelComplete, (IOPCDataCallback* pThis, DWORD dwTransid, OPCHANDLE hGroup));#define IOPCDataCallback_OnCancelComplete(pThis, dwTransid, hGroup) pThis->lpVtbl->OnCancelComplete(COM_ADJUST_THIS(pThis), dwTransid, hGroup) COM_VTBL_END } IOPCDataCallbackVtbl;#ifdef __cplusplusinterface IOPCDataCallback : public IUnknown{virtual HRESULT OnDataChange (DWORD dwTransid, OPCHANDLE hGroup, HRESULT hrMasterquality, HRESULT hrMastererror, DWORD dwCount, OPCHANDLE* phClientItems, VARIANT* pvValues, WORD* pwQualities, FILETIME* pftTimeStamps, HRESULT* pErrors) =0;virtual HRESULT OnReadComplete (DWORD dwTransid, OPCHANDLE hGroup, HRESULT hrMasterquality, HRESULT hrMastererror, DWORD dwCount, OPCHANDLE* phClientItems, VARIANT* pvValues, WORD* pwQualities, FILETIME* pftTimeStamps, HRESULT* pErrors) =0;virtual HRESULT OnWriteComplete (DWORD dwTransid, OPCHANDLE hGroup, HRESULT hrMastererr, DWORD dwCount, OPCHANDLE* pClienthandles, HRESULT* pErrors) =0;virtual HRESULT OnCancelComplete (DWORD dwTransid, OPCHANDLE hGroup) =0;};#else/* C interface definition for IOPCDataCallback */interface IOPCDataCallback { const IOPCDataCallbackVtbl * lpVtbl; };#endif /* __cplusplus */EXTERN_C const IID IID_IOPCDataCallback;typedef struct { COM_VTBL_BEGIN COM_VTBL_ENTRY (HRESULT, QueryInterface, (IUnknown* pThis, REFIID riid, void** ppvObject));#define IUnknown_QueryInterface(pThis, riid, ppvObject) pThis->lpVtbl->QueryInterface(COM_ADJUST_THIS(pThis), riid, ppvObject) COM_VTBL_ENTRY (ULONG, AddRef, (IUnknown* pThis));#define IUnknown_AddRef(pThis) pThis->lpVtbl->AddRef(COM_ADJUST_THIS(pThis)) COM_VTBL_ENTRY (ULONG, Release, (IUnknown* pThis));#define IUnknown_Release(pThis) pThis->lpVtbl->Release(COM_ADJUST_THIS(pThis)) COM_VTBL_ENTRY (HRESULT, Read, (IOPCAsyncIO2* pThis, DWORD dwCount, OPCHANDLE* phServer, DWORD dwTransactionID, DWORD* pdwCancelID, HRESULT** ppErrors));#define IOPCAsyncIO2_Read(pThis, dwCount, phServer, dwTransactionID, pdwCancelID, ppErrors) pThis->lpVtbl->Read(COM_ADJUST_THIS(pThis), dwCount, phServer, dwTransactionID, pdwCancelID, ppErrors) COM_VTBL_ENTRY (HRESULT, Write, (IOPCAsyncIO2* pThis, DWORD dwCount, OPCHANDLE* phServer, VARIANT* pItemValues, DWORD dwTransactionID, DWORD* pdwCancelID, HRESULT** ppErrors));#define IOPCAsyncIO2_Write(pThis, dwCount, phServer, pItemValues, dwTransactionID, pdwCancelID, ppErrors) pThis->lpVtbl->Write(COM_ADJUST_THIS(pThis), dwCount, phServer, pItemValues, dwTransactionID, pdwCancelID, ppErrors) COM_VTBL_ENTRY (HRESULT, Refresh2, (IOPCAsyncIO2* pThis, OPCDATASOURCE dwSource, DWORD dwTransactionID, DWORD* pdwCancelID));#define IOPCAsyncIO2_Refresh2(pThis, dwSource, dwTransactionID, pdwCancelID) pThis->lpVtbl->Refresh2(COM_ADJUST_THIS(pThis), dwSource, dwTransactionID, pdwCancelID) COM_VTBL_ENTRY (HRESULT, Cancel2, (IOPCAsyncIO2* pThis, DWORD dwCancelID));#define IOPCAsyncIO2_Cancel2(pThis, dwCancelID) pThis->lpVtbl->Cancel2(COM_ADJUST_THIS(pThis), dwCancelID) COM_VTBL_ENTRY (HRESULT, SetEnable, (IOPCAsyncIO2* pThis, BOOL bEnable));#define IOPCAsyncIO2_SetEnable(pThis, bEnable) pThis->lpVtbl->SetEnable(COM_ADJUST_THIS(pThis), bEnable) COM_VTBL_ENTRY (HRESULT, GetEnable, (IOPCAsyncIO2* pThis, BOOL* pbEnable));#define IOPCAsyncIO2_GetEnable(pThis, pbEnable) pThis->lpVtbl->GetEnable(COM_ADJUST_THIS(pThis), pbEnable) COM_VTBL_END } IOPCAsyncIO2Vtbl;#ifdef __cplusplusinterface IOPCAsyncIO2 : public IUnknown{virtual HRESULT Read (DWORD dwCount, OPCHANDLE* phServer, DWORD dwTransactionID, DWORD* pdwCancelID, HRESULT** ppErrors) =0;virtual HRESULT Write (DWORD dwCount, OPCHANDLE* phServer, VARIANT* pItemValues, DWORD dwTransactionID, DWORD* pdwCancelID, HRESULT** ppErrors) =0;virtual HRESULT Refresh2 (OPCDATASOURCE dwSource, DWORD dwTransactionID, DWORD* pdwCancelID) =0;virtual HRESULT Cancel2 (DWORD dwCancelID) =0;virtual HRESULT SetEnable (BOOL bEnable) =0;virtual HRESULT GetEnable (BOOL* pbEnable) =0;};#else/* C interface definition for IOPCAsyncIO2 */interface IOPCAsyncIO2 { const IOPCAsyncIO2Vtbl * lpVtbl; };#endif /* __cplusplus */EXTERN_C const IID IID_IOPCAsyncIO2;typedef struct { COM_VTBL_BEGIN COM_VTBL_ENTRY (HRESULT, QueryInterface, (IUnknown* pThis, REFIID riid, void** ppvObject));#define IUnknown_QueryInterface(pThis, riid, ppvObject) pThis->lpVtbl->QueryInterface(COM_ADJUST_THIS(pThis), riid, ppvObject) COM_VTBL_ENTRY (ULONG, AddRef, (IUnknown* pThis));#define IUnknown_AddRef(pThis) pThis->lpVtbl->AddRef(COM_ADJUST_THIS(pThis)) COM_VTBL_ENTRY (ULONG, Release, (IUnknown* pThis));#define IUnknown_Release(pThis) pThis->lpVtbl->Release(COM_ADJUST_THIS(pThis)) COM_VTBL_ENTRY (HRESULT, QueryAvailableProperties, (IOPCItemProperties* pThis, LPWSTR szItemID, DWORD* pdwCount, DWORD** ppPropertyIDs, LPWSTR** ppDescriptions, VARTYPE** ppvtDataTypes));#define IOPCItemProperties_QueryAvailableProperties(pThis, szItemID, pdwCount, ppPropertyIDs, ppDescriptions, ppvtDataTypes) pThis->lpVtbl->QueryAvailableProperties(COM_ADJUST_THIS(pThis), szItemID, pdwCount, ppPropertyIDs, ppDescriptions, ppvtDataTypes) COM_VTBL_ENTRY (HRESULT, GetItemProperties, (IOPCItemProperties* pThis, LPWSTR szItemID, DWORD dwCount, DWORD* pdwPropertyIDs, VARIANT** ppvData, HRESULT** ppErrors));#define IOPCItemProperties_GetItemProperties(pThis, szItemID, dwCount, pdwPropertyIDs, ppvData, ppErrors) pThis->lpVtbl->GetItemProperties(COM_ADJUST_THIS(pThis), szItemID, dwCount, pdwPropertyIDs, ppvData, ppErrors) COM_VTBL_ENTRY (HRESULT, LookupItemIDs, (IOPCItemProperties* pThis, LPWSTR szItemID, DWORD dwCount, DWORD* pdwPropertyIDs, LPWSTR** ppszNewItemIDs, HRESULT** ppErrors));#define IOPCItemProperties_LookupItemIDs(pThis, szItemID, dwCount, pdwPropertyIDs, ppszNewItemIDs, ppErrors) pThis->lpVtbl->LookupItemIDs(COM_ADJUST_THIS(pThis), szItemID, dwCount, pdwPropertyIDs, ppszNewItemIDs, ppErrors) COM_VTBL_END } IOPCItemPropertiesVtbl;#ifdef __cplusplusinterface IOPCItemProperties : public IUnknown{virtual HRESULT QueryAvailableProperties (LPWSTR szItemID, DWORD* pdwCount, DWORD** ppPropertyIDs, LPWSTR** ppDescriptions, VARTYPE** ppvtDataTypes) =0;virtual HRESULT GetItemProperties (LPWSTR szItemID, DWORD dwCount, DWORD* pdwPropertyIDs, VARIANT** ppvData, HRESULT** ppErrors) =0;virtual HRESULT LookupItemIDs (LPWSTR szItemID, DWORD dwCount, DWORD* pdwPropertyIDs, LPWSTR** ppszNewItemIDs, HRESULT** ppErrors) =0;};#else/* C interface definition for IOPCItemProperties */interface IOPCItemProperties { const IOPCItemPropertiesVtbl * lpVtbl; };#endif /* __cplusplus */EXTERN_C const IID IID_IOPCItemProperties;#ifdef __cplusplus}#endif#endif /* __INCopcda_h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -