opcda.h
上传用户:nvosite88
上传日期:2007-01-17
资源大小:4983k
文件大小:37k
- /* opcda.h generated by WIDL Version 2.2.1 on 06-Dec-01 at 11:53:51 AM */
- #include "comBase.h"
- #ifndef __INCopcda_h
- #define __INCopcda_h
- #include "vxidl.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- int include_opcda (void);
- #ifndef __IOPCServer_FWD_DEFINED__
- #define __IOPCServer_FWD_DEFINED__
- typedef interface IOPCServer IOPCServer;
- #endif /* __IOPCServer_FWD_DEFINED__ */
- #ifndef __IOPCServerPublicGroups_FWD_DEFINED__
- #define __IOPCServerPublicGroups_FWD_DEFINED__
- typedef interface IOPCServerPublicGroups IOPCServerPublicGroups;
- #endif /* __IOPCServerPublicGroups_FWD_DEFINED__ */
- #ifndef __IOPCBrowseServerAddressSpace_FWD_DEFINED__
- #define __IOPCBrowseServerAddressSpace_FWD_DEFINED__
- typedef interface IOPCBrowseServerAddressSpace IOPCBrowseServerAddressSpace;
- #endif /* __IOPCBrowseServerAddressSpace_FWD_DEFINED__ */
- #ifndef __IOPCGroupStateMgt_FWD_DEFINED__
- #define __IOPCGroupStateMgt_FWD_DEFINED__
- typedef interface IOPCGroupStateMgt IOPCGroupStateMgt;
- #endif /* __IOPCGroupStateMgt_FWD_DEFINED__ */
- #ifndef __IOPCPublicGroupStateMgt_FWD_DEFINED__
- #define __IOPCPublicGroupStateMgt_FWD_DEFINED__
- typedef interface IOPCPublicGroupStateMgt IOPCPublicGroupStateMgt;
- #endif /* __IOPCPublicGroupStateMgt_FWD_DEFINED__ */
- #ifndef __IOPCSyncIO_FWD_DEFINED__
- #define __IOPCSyncIO_FWD_DEFINED__
- typedef interface IOPCSyncIO IOPCSyncIO;
- #endif /* __IOPCSyncIO_FWD_DEFINED__ */
- #ifndef __IOPCAsyncIO_FWD_DEFINED__
- #define __IOPCAsyncIO_FWD_DEFINED__
- typedef interface IOPCAsyncIO IOPCAsyncIO;
- #endif /* __IOPCAsyncIO_FWD_DEFINED__ */
- #ifndef __IOPCItemMgt_FWD_DEFINED__
- #define __IOPCItemMgt_FWD_DEFINED__
- typedef interface IOPCItemMgt IOPCItemMgt;
- #endif /* __IOPCItemMgt_FWD_DEFINED__ */
- #ifndef __IEnumOPCItemAttributes_FWD_DEFINED__
- #define __IEnumOPCItemAttributes_FWD_DEFINED__
- typedef interface IEnumOPCItemAttributes IEnumOPCItemAttributes;
- #endif /* __IEnumOPCItemAttributes_FWD_DEFINED__ */
- #ifndef __IOPCDataCallback_FWD_DEFINED__
- #define __IOPCDataCallback_FWD_DEFINED__
- typedef interface IOPCDataCallback IOPCDataCallback;
- #endif /* __IOPCDataCallback_FWD_DEFINED__ */
- #ifndef __IOPCAsyncIO2_FWD_DEFINED__
- #define __IOPCAsyncIO2_FWD_DEFINED__
- typedef interface IOPCAsyncIO2 IOPCAsyncIO2;
- #endif /* __IOPCAsyncIO2_FWD_DEFINED__ */
- #ifndef __IOPCItemProperties_FWD_DEFINED__
- #define __IOPCItemProperties_FWD_DEFINED__
- typedef interface IOPCItemProperties IOPCItemProperties;
- #endif /* __IOPCItemProperties_FWD_DEFINED__ */
- enum tagOPCDATASOURCE
- {
- OPC_DS_CACHE = 1,
- OPC_DS_DEVICE = 2,
- };
- typedef enum tagOPCDATASOURCE OPCDATASOURCE;
- enum tagOPCBROWSETYPE
- {
- OPC_BRANCH = 1,
- OPC_LEAF = 2,
- OPC_FLAT = 3,
- };
- typedef enum tagOPCBROWSETYPE OPCBROWSETYPE;
- enum tagOPCNAMESPACETYPE
- {
- OPC_NS_HIERARCHIAL = 1,
- OPC_NS_FLAT = 2,
- };
- typedef enum tagOPCNAMESPACETYPE OPCNAMESPACETYPE;
- enum tagOPCBROWSEDIRECTION
- {
- OPC_BROWSE_UP = 1,
- OPC_BROWSE_DOWN = 2,
- OPC_BROWSE_TO = 3,
- };
- typedef enum tagOPCBROWSEDIRECTION OPCBROWSEDIRECTION;
- #define OPC_READABLE 1
- #define OPC_WRITEABLE 2
- enum tagOPCEUTYPE
- {
- OPC_NOENUM = 0,
- OPC_ANALOG = 1,
- OPC_ENUMERATED = 2,
- };
- typedef enum tagOPCEUTYPE OPCEUTYPE;
- enum tagOPCSERVERSTATE
- {
- OPC_STATUS_RUNNING = 1,
- OPC_STATUS_FAILED = 2,
- OPC_STATUS_NOCONFIG = 3,
- OPC_STATUS_SUSPENDED = 4,
- OPC_STATUS_TEST = 5,
- };
- typedef enum tagOPCSERVERSTATE OPCSERVERSTATE;
- enum tagOPCENUMSCOPE
- {
- OPC_ENUM_PRIVATE_CONNECTIONS = 1,
- OPC_ENUM_PUBLIC_CONNECTIONS = 2,
- OPC_ENUM_ALL_CONNECTIONS = 3,
- OPC_ENUM_PRIVATE = 4,
- OPC_ENUM_PUBLIC = 5,
- OPC_ENUM_ALL = 6,
- };
- typedef enum tagOPCENUMSCOPE OPCENUMSCOPE;
- typedef DWORD OPCHANDLE;
- struct tagOPCGROUPHEADER
- {
- DWORD dwSize;
- DWORD dwItemCount;
- OPCHANDLE hClientGroup;
- DWORD dwTransactionID;
- HRESULT hrStatus;
- };
- typedef struct tagOPCGROUPHEADER OPCGROUPHEADER;
- struct tagOPCITEMHEADER1
- {
- OPCHANDLE hClient;
- DWORD dwValueOffset;
- WORD wQuality;
- WORD wReserved;
- FILETIME ftTimeStampItem;
- };
- typedef struct tagOPCITEMHEADER1 OPCITEMHEADER1;
- struct tagOPCITEMHEADER2
- {
- OPCHANDLE hClient;
- DWORD dwValueOffset;
- WORD wQuality;
- WORD wReserved;
- };
- typedef struct tagOPCITEMHEADER2 OPCITEMHEADER2;
- struct tagOPCGROUPHEADERWRITE
- {
- DWORD dwItemCount;
- OPCHANDLE hClientGroup;
- DWORD dwTransactionID;
- HRESULT hrStatus;
- };
- typedef struct tagOPCGROUPHEADERWRITE OPCGROUPHEADERWRITE;
- struct tagOPCITEMHEADERWRITE
- {
- OPCHANDLE hClient;
- HRESULT dwError;
- };
- typedef struct tagOPCITEMHEADERWRITE OPCITEMHEADERWRITE;
- struct tagOPCITEMSTATE
- {
- OPCHANDLE hClient;
- FILETIME ftTimeStamp;
- WORD wQuality;
- WORD wReserved;
- VARIANT vDataValue;
- };
- typedef struct tagOPCITEMSTATE OPCITEMSTATE;
- struct tagOPCSERVERSTATUS
- {
- FILETIME ftStartTime;
- FILETIME ftCurrentTime;
- FILETIME ftLastUpdateTime;
- OPCSERVERSTATE dwServerState;
- DWORD dwGroupCount;
- DWORD dwBandWidth;
- WORD wMajorVersion;
- WORD wMinorVersion;
- WORD wBuildNumber;
- WORD wReserved;
- LPWSTR szVendorInfo;
- };
- typedef struct tagOPCSERVERSTATUS OPCSERVERSTATUS;
- struct tagOPCITEMDEF
- {
- LPWSTR szAccessPath;
- LPWSTR szItemID;
- BOOL bActive;
- OPCHANDLE hClient;
- DWORD dwBlobSize;
- BYTE* pBlob;
- VARTYPE vtRequestedDataType;
- WORD wReserved;
- };
- typedef struct tagOPCITEMDEF OPCITEMDEF;
- struct tagOPCITEMATTRIBUTES
- {
- LPWSTR szAccessPath;
- LPWSTR szItemID;
- BOOL bActive;
- OPCHANDLE hClient;
- OPCHANDLE hServer;
- DWORD dwAccessRights;
- DWORD dwBlobSize;
- BYTE* pBlob;
- VARTYPE vtRequestedDataType;
- VARTYPE vtCanonicalDataType;
- OPCEUTYPE dwEUType;
- VARIANT vEUInfo;
- };
- typedef struct tagOPCITEMATTRIBUTES OPCITEMATTRIBUTES;
- struct tagOPCITEMRESULT
- {
- OPCHANDLE hServer;
- VARTYPE vtCanonicalDataType;
- WORD wReserved;
- DWORD dwAccessRights;
- DWORD dwBlobSize;
- BYTE* pBlob;
- };
- typedef struct tagOPCITEMRESULT OPCITEMRESULT;
- #define OPC_QUALITY_MASK 0xC0
- #define OPC_STATUS_MASK 0xFC
- #define OPC_LIMIT_MASK 0x03
- #define OPC_QUALITY_BAD 0x00
- #define OPC_QUALITY_UNCERTAIN 0x40
- #define OPC_QUALITY_GOOD 0xC0
- #define OPC_QUALITY_CONFIG_ERROR 0x04
- #define OPC_QUALITY_NOT_CONNECTED 0x08
- #define OPC_QUALITY_DEVICE_FAILURE 0x0c
- #define OPC_QUALITY_SENSOR_FAILURE 0x10
- #define OPC_QUALITY_LAST_KNOWN 0x14
- #define OPC_QUALITY_COMM_FAILURE 0x18
- #define OPC_QUALITY_OUT_OF_SERVICE 0x1C
- #define OPC_QUALITY_LAST_USABLE 0x44
- #define OPC_QUALITY_SENSOR_CAL 0x50
- #define OPC_QUALITY_EGU_EXCEEDED 0x54
- #define OPC_QUALITY_SUB_NORMAL 0x58
- #define OPC_QUALITY_LOCAL_OVERRIDE 0xD8
- #define OPC_LIMIT_OK 0x00
- #define OPC_LIMIT_LOW 0x01
- #define OPC_LIMIT_HIGH 0x02
- #define OPC_LIMIT_CONST 0x03
- 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, AddGroup, (IOPCServer* pThis, LPCWSTR szName, BOOL bActive, DWORD dwRequestedUpdateRate, OPCHANDLE hClientGroup, LONG* pTimeBias, FLOAT* pPercentDeadband, DWORD dwLCID, OPCHANDLE* phServerGroup, DWORD* pRevisedUpdateRate, REFIID riid, LPUNKNOWN* ppUnk));
- #define IOPCServer_AddGroup(pThis, szName, bActive, dwRequestedUpdateRate, hClientGroup, pTimeBias, pPercentDeadband, dwLCID, phServerGroup, pRevisedUpdateRate, riid, ppUnk) pThis->lpVtbl->AddGroup(COM_ADJUST_THIS(pThis), szName, bActive, dwRequestedUpdateRate, hClientGroup, pTimeBias, pPercentDeadband, dwLCID, phServerGroup, pRevisedUpdateRate, riid, ppUnk)
- COM_VTBL_ENTRY (HRESULT, GetErrorString, (IOPCServer* pThis, HRESULT dwError, LCID dwLocale, LPWSTR* ppString));
- #define IOPCServer_GetErrorString(pThis, dwError, dwLocale, ppString) pThis->lpVtbl->GetErrorString(COM_ADJUST_THIS(pThis), dwError, dwLocale, ppString)
- COM_VTBL_ENTRY (HRESULT, GetGroupByName, (IOPCServer* pThis, LPCWSTR szName, REFIID riid, LPUNKNOWN* ppUnk));
- #define IOPCServer_GetGroupByName(pThis, szName, riid, ppUnk) pThis->lpVtbl->GetGroupByName(COM_ADJUST_THIS(pThis), szName, riid, ppUnk)
- COM_VTBL_ENTRY (HRESULT, GetStatus, (IOPCServer* pThis, OPCSERVERSTATUS** ppServerStatus));
- #define IOPCServer_GetStatus(pThis, ppServerStatus) pThis->lpVtbl->GetStatus(COM_ADJUST_THIS(pThis), ppServerStatus)
- COM_VTBL_ENTRY (HRESULT, RemoveGroup, (IOPCServer* pThis, OPCHANDLE hServerGroup, BOOL bForce));
- #define IOPCServer_RemoveGroup(pThis, hServerGroup, bForce) pThis->lpVtbl->RemoveGroup(COM_ADJUST_THIS(pThis), hServerGroup, bForce)
- COM_VTBL_ENTRY (HRESULT, CreateGroupEnumerator, (IOPCServer* pThis, OPCENUMSCOPE dwScope, REFIID riid, LPUNKNOWN* ppUnk));
- #define IOPCServer_CreateGroupEnumerator(pThis, dwScope, riid, ppUnk) pThis->lpVtbl->CreateGroupEnumerator(COM_ADJUST_THIS(pThis), dwScope, riid, ppUnk)
- COM_VTBL_END
- } IOPCServerVtbl;
- #ifdef __cplusplus
- interface IOPCServer : public IUnknown
- {
- virtual HRESULT AddGroup (LPCWSTR szName, BOOL bActive, DWORD dwRequestedUpdateRate, OPCHANDLE hClientGroup, LONG* pTimeBias, FLOAT* pPercentDeadband, DWORD dwLCID, OPCHANDLE* phServerGroup, DWORD* pRevisedUpdateRate, REFIID riid, LPUNKNOWN* ppUnk) =0;
- virtual HRESULT GetErrorString (HRESULT dwError, LCID dwLocale, LPWSTR* ppString) =0;
- virtual HRESULT GetGroupByName (LPCWSTR szName, REFIID riid, LPUNKNOWN* ppUnk) =0;
- virtual HRESULT GetStatus (OPCSERVERSTATUS** ppServerStatus) =0;
- virtual HRESULT RemoveGroup (OPCHANDLE hServerGroup, BOOL bForce) =0;
- virtual HRESULT CreateGroupEnumerator (OPCENUMSCOPE dwScope, REFIID riid, LPUNKNOWN* ppUnk) =0;
- };
- #else
- /* C interface definition for IOPCServer */
- interface IOPCServer
- {
- const IOPCServerVtbl * lpVtbl;
- };
- #endif /* __cplusplus */
- EXTERN_C const IID IID_IOPCServer;
- 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, GetPublicGroupByName, (IOPCServerPublicGroups* pThis, LPCWSTR szName, REFIID riid, LPUNKNOWN* ppUnk));
- #define IOPCServerPublicGroups_GetPublicGroupByName(pThis, szName, riid, ppUnk) pThis->lpVtbl->GetPublicGroupByName(COM_ADJUST_THIS(pThis), szName, riid, ppUnk)
- COM_VTBL_ENTRY (HRESULT, RemovePublicGroup, (IOPCServerPublicGroups* pThis, OPCHANDLE hServerGroup, BOOL bForce));
- #define IOPCServerPublicGroups_RemovePublicGroup(pThis, hServerGroup, bForce) pThis->lpVtbl->RemovePublicGroup(COM_ADJUST_THIS(pThis), hServerGroup, bForce)
- COM_VTBL_END
- } IOPCServerPublicGroupsVtbl;
- #ifdef __cplusplus
- interface IOPCServerPublicGroups : public IUnknown
- {
- virtual HRESULT GetPublicGroupByName (LPCWSTR szName, REFIID riid, LPUNKNOWN* ppUnk) =0;
- virtual HRESULT RemovePublicGroup (OPCHANDLE hServerGroup, BOOL bForce) =0;
- };
- #else
- /* C interface definition for IOPCServerPublicGroups */
- interface IOPCServerPublicGroups
- {
- const IOPCServerPublicGroupsVtbl * lpVtbl;
- };
- #endif /* __cplusplus */
- EXTERN_C const IID IID_IOPCServerPublicGroups;
- 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, QueryOrganization, (IOPCBrowseServerAddressSpace* pThis, OPCNAMESPACETYPE* pNameSpaceType));
- #define IOPCBrowseServerAddressSpace_QueryOrganization(pThis, pNameSpaceType) pThis->lpVtbl->QueryOrganization(COM_ADJUST_THIS(pThis), pNameSpaceType)
- COM_VTBL_ENTRY (HRESULT, ChangeBrowsePosition, (IOPCBrowseServerAddressSpace* pThis, OPCBROWSEDIRECTION dwBrowseDirection, LPCWSTR szString));
- #define IOPCBrowseServerAddressSpace_ChangeBrowsePosition(pThis, dwBrowseDirection, szString) pThis->lpVtbl->ChangeBrowsePosition(COM_ADJUST_THIS(pThis), dwBrowseDirection, szString)
- COM_VTBL_ENTRY (HRESULT, BrowseOPCItemIDs, (IOPCBrowseServerAddressSpace* pThis, OPCBROWSETYPE dwBrowseFilterType, LPCWSTR szFilterCriteria, VARTYPE vtDataTypeFilter, DWORD dwAccessRightsFilter, LPENUMSTRING* ppIEnumString));
- #define IOPCBrowseServerAddressSpace_BrowseOPCItemIDs(pThis, dwBrowseFilterType, szFilterCriteria, vtDataTypeFilter, dwAccessRightsFilter, ppIEnumString) pThis->lpVtbl->BrowseOPCItemIDs(COM_ADJUST_THIS(pThis), dwBrowseFilterType, szFilterCriteria, vtDataTypeFilter, dwAccessRightsFilter, ppIEnumString)
- COM_VTBL_ENTRY (HRESULT, GetItemID, (IOPCBrowseServerAddressSpace* pThis, LPWSTR szItemDataID, LPWSTR* szItemID));
- #define IOPCBrowseServerAddressSpace_GetItemID(pThis, szItemDataID, szItemID) pThis->lpVtbl->GetItemID(COM_ADJUST_THIS(pThis), szItemDataID, szItemID)
- COM_VTBL_ENTRY (HRESULT, BrowseAccessPaths, (IOPCBrowseServerAddressSpace* pThis, LPCWSTR szItemID, LPENUMSTRING* ppIEnumString));
- #define IOPCBrowseServerAddressSpace_BrowseAccessPaths(pThis, szItemID, ppIEnumString) pThis->lpVtbl->BrowseAccessPaths(COM_ADJUST_THIS(pThis), szItemID, ppIEnumString)
- COM_VTBL_END
- } IOPCBrowseServerAddressSpaceVtbl;
- #ifdef __cplusplus
- interface IOPCBrowseServerAddressSpace : public IUnknown
- {
- virtual HRESULT QueryOrganization (OPCNAMESPACETYPE* pNameSpaceType) =0;
- virtual HRESULT ChangeBrowsePosition (OPCBROWSEDIRECTION dwBrowseDirection, LPCWSTR szString) =0;
- virtual HRESULT BrowseOPCItemIDs (OPCBROWSETYPE dwBrowseFilterType, LPCWSTR szFilterCriteria, VARTYPE vtDataTypeFilter, DWORD dwAccessRightsFilter, LPENUMSTRING* ppIEnumString) =0;
- virtual HRESULT GetItemID (LPWSTR szItemDataID, LPWSTR* szItemID) =0;
- virtual HRESULT BrowseAccessPaths (LPCWSTR szItemID, LPENUMSTRING* ppIEnumString) =0;
- };
- #else
- /* C interface definition for IOPCBrowseServerAddressSpace */
- interface IOPCBrowseServerAddressSpace
- {
- const IOPCBrowseServerAddressSpaceVtbl * lpVtbl;
- };
- #endif /* __cplusplus */
- EXTERN_C const IID IID_IOPCBrowseServerAddressSpace;
- 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, GetState, (IOPCGroupStateMgt* pThis, DWORD* pUpdateRate, BOOL* pActive, LPWSTR* ppName, LONG* pTimeBias, FLOAT* pPercentDeadband, DWORD* pLCID, OPCHANDLE* phClientGroup, OPCHANDLE* phServerGroup));
- #define IOPCGroupStateMgt_GetState(pThis, pUpdateRate, pActive, ppName, pTimeBias, pPercentDeadband, pLCID, phClientGroup, phServerGroup) pThis->lpVtbl->GetState(COM_ADJUST_THIS(pThis), pUpdateRate, pActive, ppName, pTimeBias, pPercentDeadband, pLCID, phClientGroup, phServerGroup)
- COM_VTBL_ENTRY (HRESULT, SetState, (IOPCGroupStateMgt* pThis, DWORD* pRequestedUpdateRate, DWORD* pRevisedUpdateRate, BOOL* pActive, LONG* pTimeBias, FLOAT* pPercentDeadband, DWORD* pLCID, OPCHANDLE* phClientGroup));
- #define IOPCGroupStateMgt_SetState(pThis, pRequestedUpdateRate, pRevisedUpdateRate, pActive, pTimeBias, pPercentDeadband, pLCID, phClientGroup) pThis->lpVtbl->SetState(COM_ADJUST_THIS(pThis), pRequestedUpdateRate, pRevisedUpdateRate, pActive, pTimeBias, pPercentDeadband, pLCID, phClientGroup)
- COM_VTBL_ENTRY (HRESULT, SetName, (IOPCGroupStateMgt* pThis, LPCWSTR szName));
- #define IOPCGroupStateMgt_SetName(pThis, szName) pThis->lpVtbl->SetName(COM_ADJUST_THIS(pThis), szName)
- COM_VTBL_ENTRY (HRESULT, CloneGroup, (IOPCGroupStateMgt* pThis, LPCWSTR szName, REFIID riid, LPUNKNOWN* ppUnk));
- #define IOPCGroupStateMgt_CloneGroup(pThis, szName, riid, ppUnk) pThis->lpVtbl->CloneGroup(COM_ADJUST_THIS(pThis), szName, riid, ppUnk)
- COM_VTBL_END
- } IOPCGroupStateMgtVtbl;
- #ifdef __cplusplus
- interface IOPCGroupStateMgt : public IUnknown
- {
- virtual HRESULT GetState (DWORD* pUpdateRate, BOOL* pActive, LPWSTR* ppName, LONG* pTimeBias, FLOAT* pPercentDeadband, DWORD* pLCID, OPCHANDLE* phClientGroup, OPCHANDLE* phServerGroup) =0;
- virtual HRESULT SetState (DWORD* pRequestedUpdateRate, DWORD* pRevisedUpdateRate, BOOL* pActive, LONG* pTimeBias, FLOAT* pPercentDeadband, DWORD* pLCID, OPCHANDLE* phClientGroup) =0;
- virtual HRESULT SetName (LPCWSTR szName) =0;
- virtual HRESULT CloneGroup (LPCWSTR szName, REFIID riid, LPUNKNOWN* ppUnk) =0;
- };
- #else
- /* C interface definition for IOPCGroupStateMgt */
- interface IOPCGroupStateMgt
- {
- const IOPCGroupStateMgtVtbl * lpVtbl;
- };
- #endif /* __cplusplus */
- EXTERN_C const IID IID_IOPCGroupStateMgt;
- 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, GetState, (IOPCPublicGroupStateMgt* pThis, BOOL* pPublic));
- #define IOPCPublicGroupStateMgt_GetState(pThis, pPublic) pThis->lpVtbl->GetState(COM_ADJUST_THIS(pThis), pPublic)
- COM_VTBL_ENTRY (HRESULT, MoveToPublic, (IOPCPublicGroupStateMgt* pThis));
- #define IOPCPublicGroupStateMgt_MoveToPublic(pThis) pThis->lpVtbl->MoveToPublic(COM_ADJUST_THIS(pThis))
- COM_VTBL_END
- } IOPCPublicGroupStateMgtVtbl;
- #ifdef __cplusplus
- interface IOPCPublicGroupStateMgt : public IUnknown
- {
- virtual HRESULT GetState (BOOL* pPublic) =0;
- virtual HRESULT MoveToPublic () =0;
- };
- #else
- /* C interface definition for IOPCPublicGroupStateMgt */
- interface IOPCPublicGroupStateMgt
- {
- const IOPCPublicGroupStateMgtVtbl * lpVtbl;
- };
- #endif /* __cplusplus */
- EXTERN_C const IID IID_IOPCPublicGroupStateMgt;
- 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, (IOPCSyncIO* pThis, OPCDATASOURCE dwSource, DWORD dwCount, OPCHANDLE* phServer, OPCITEMSTATE** ppItemValues, HRESULT** ppErrors));
- #define IOPCSyncIO_Read(pThis, dwSource, dwCount, phServer, ppItemValues, ppErrors) pThis->lpVtbl->Read(COM_ADJUST_THIS(pThis), dwSource, dwCount, phServer, ppItemValues, ppErrors)
- COM_VTBL_ENTRY (HRESULT, Write, (IOPCSyncIO* pThis, DWORD dwCount, OPCHANDLE* phServer, VARIANT* pItemValues, HRESULT** ppErrors));
- #define IOPCSyncIO_Write(pThis, dwCount, phServer, pItemValues, ppErrors) pThis->lpVtbl->Write(COM_ADJUST_THIS(pThis), dwCount, phServer, pItemValues, ppErrors)
- COM_VTBL_END
- } IOPCSyncIOVtbl;
- #ifdef __cplusplus
- interface IOPCSyncIO : public IUnknown
- {
- virtual HRESULT Read (OPCDATASOURCE dwSource, DWORD dwCount, OPCHANDLE* phServer, OPCITEMSTATE** ppItemValues, HRESULT** ppErrors) =0;
- virtual HRESULT Write (DWORD dwCount, OPCHANDLE* phServer, VARIANT* pItemValues, HRESULT** ppErrors) =0;
- };
- #else
- /* C interface definition for IOPCSyncIO */
- interface IOPCSyncIO
- {
- const IOPCSyncIOVtbl * lpVtbl;
- };
- #endif /* __cplusplus */
- EXTERN_C const IID IID_IOPCSyncIO;
- 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, (IOPCAsyncIO* pThis, DWORD dwConnection, OPCDATASOURCE dwSource, DWORD dwCount, OPCHANDLE* phServer, DWORD* pTransactionID, HRESULT** ppErrors));
- #define IOPCAsyncIO_Read(pThis, dwConnection, dwSource, dwCount, phServer, pTransactionID, ppErrors) pThis->lpVtbl->Read(COM_ADJUST_THIS(pThis), dwConnection, dwSource, dwCount, phServer, pTransactionID, ppErrors)
- COM_VTBL_ENTRY (HRESULT, Write, (IOPCAsyncIO* pThis, DWORD dwConnection, DWORD dwCount, OPCHANDLE* phServer, VARIANT* pItemValues, DWORD* pTransactionID, HRESULT** ppErrors));
- #define IOPCAsyncIO_Write(pThis, dwConnection, dwCount, phServer, pItemValues, pTransactionID, ppErrors) pThis->lpVtbl->Write(COM_ADJUST_THIS(pThis), dwConnection, dwCount, phServer, pItemValues, pTransactionID, ppErrors)
- COM_VTBL_ENTRY (HRESULT, Refresh, (IOPCAsyncIO* pThis, DWORD dwConnection, OPCDATASOURCE dwSource, DWORD* pTransactionID));
- #define IOPCAsyncIO_Refresh(pThis, dwConnection, dwSource, pTransactionID) pThis->lpVtbl->Refresh(COM_ADJUST_THIS(pThis), dwConnection, dwSource, pTransactionID)
- COM_VTBL_ENTRY (HRESULT, Cancel, (IOPCAsyncIO* pThis, DWORD dwTransactionID));
- #define IOPCAsyncIO_Cancel(pThis, dwTransactionID) pThis->lpVtbl->Cancel(COM_ADJUST_THIS(pThis), dwTransactionID)
- COM_VTBL_END
- } IOPCAsyncIOVtbl;
- #ifdef __cplusplus
- interface IOPCAsyncIO : public IUnknown
- {
- virtual HRESULT Read (DWORD dwConnection, OPCDATASOURCE dwSource, DWORD dwCount, OPCHANDLE* phServer, DWORD* pTransactionID, HRESULT** ppErrors) =0;
- virtual HRESULT Write (DWORD dwConnection, DWORD dwCount, OPCHANDLE* phServer, VARIANT* pItemValues, DWORD* pTransactionID, HRESULT** ppErrors) =0;
- virtual HRESULT Refresh (DWORD dwConnection, OPCDATASOURCE dwSource, DWORD* pTransactionID) =0;
- virtual HRESULT Cancel (DWORD dwTransactionID) =0;
- };
- #else
- /* C interface definition for IOPCAsyncIO */
- interface IOPCAsyncIO
- {
- 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 __cplusplus
- interface 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 __cplusplus
- interface 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 __cplusplus
- interface 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 __cplusplus
- interface 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 __cplusplus
- interface 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 */