📄 opcda.pas
字号:
// GUID: {39C13A4D-011E-11D0-9675-0020AFD8ADB3}
// *********************************************************************//
IOPCServer = interface(IUnknown)
['{39C13A4D-011E-11D0-9675-0020AFD8ADB3}']
function AddGroup(
szName: POleStr;
bActive: BOOL;
dwRequestedUpdateRate: DWORD;
hClientGroup: OPCHANDLE;
pTimeBias: PLongint;
pPercentDeadband: PSingle;
dwLCID: DWORD;
out phServerGroup: OPCHANDLE;
out pRevisedUpdateRate: DWORD;
const riid: TIID;
out ppUnk: IUnknown): HResult; stdcall;
function GetErrorString(
dwError: HResult;
dwLocale: TLCID;
out ppString: POleStr): HResult; stdcall;
function GetGroupByName(
szName: POleStr;
const riid: TIID;
out ppUnk: IUnknown): HResult; stdcall;
function GetStatus(
out ppServerStatus: POPCSERVERSTATUS): HResult; stdcall;
function RemoveGroup(
hServerGroup: OPCHANDLE;
bForce: BOOL): HResult; stdcall;
function CreateGroupEnumerator(
dwScope: OPCENUMSCOPE;
const riid: TIID;
out ppUnk: IUnknown): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IOPCServerPublicGroups
// GUID: {39C13A4E-011E-11D0-9675-0020AFD8ADB3}
// *********************************************************************//
IOPCServerPublicGroups = interface(IUnknown)
['{39C13A4E-011E-11D0-9675-0020AFD8ADB3}']
function GetPublicGroupByName(
szName: POleStr;
const riid: TIID;
out ppUnk: IUnknown): HResult; stdcall;
function RemovePublicGroup(
hServerGroup: OPCHANDLE;
bForce: BOOL): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IOPCBrowseServerAddressSpace
// GUID: {39C13A4F-011E-11D0-9675-0020AFD8ADB3}
// *********************************************************************//
IOPCBrowseServerAddressSpace = interface(IUnknown)
['{39C13A4F-011E-11D0-9675-0020AFD8ADB3}']
function QueryOrganization(
out pNameSpaceType: OPCNAMESPACETYPE): HResult; stdcall;
function ChangeBrowsePosition(
dwBrowseDirection: OPCBROWSEDIRECTION;
szString: POleStr): HResult; stdcall;
function BrowseOPCItemIDs(
dwBrowseFilterType: OPCBROWSETYPE;
szFilterCriteria: POleStr;
vtDataTypeFilter: TVarType;
dwAccessRightsFilter: DWORD;
out ppIEnumString: IEnumString): HResult; stdcall;
function GetItemID(
szItemDataID: POleStr;
out szItemID: POleStr): HResult; stdcall;
function BrowseAccessPaths(
szItemID: POleStr;
out ppIEnumString: IEnumString): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IOPCGroupStateMgt
// GUID: {39C13A50-011E-11D0-9675-0020AFD8ADB3}
// *********************************************************************//
IOPCGroupStateMgt = interface(IUnknown)
['{39C13A50-011E-11D0-9675-0020AFD8ADB3}']
function GetState(
out pUpdateRate: DWORD;
out pActive: BOOL;
out ppName: POleStr;
out pTimeBias: Longint;
out pPercentDeadband: Single;
out pLCID: TLCID;
out phClientGroup: OPCHANDLE;
out phServerGroup: OPCHANDLE): HResult; stdcall;
function SetState(
pRequestedUpdateRate: PDWORD;
out pRevisedUpdateRate: DWORD;
pActive: PBOOL;
pTimeBias: PLongint;
pPercentDeadband: PSingle;
pLCID: PLCID;
phClientGroup: POPCHANDLE): HResult; stdcall;
function SetName(
szName: POleStr): HResult; stdcall;
function CloneGroup(
szName: POleStr;
const riid: TIID;
out ppUnk: IUnknown): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IOPCPublicGroupStateMgt
// GUID: {39C13A51-011E-11D0-9675-0020AFD8ADB3}
// *********************************************************************//
IOPCPublicGroupStateMgt = interface(IUnknown)
['{39C13A51-011E-11D0-9675-0020AFD8ADB3}']
function GetState(
out pPublic: BOOL): HResult; stdcall;
function MoveToPublic: HResult; stdcall;
end;
// *********************************************************************//
// Interface: IOPCSyncIO
// GUID: {39C13A52-011E-11D0-9675-0020AFD8ADB3}
// *********************************************************************//
IOPCSyncIO = interface(IUnknown)
['{39C13A52-011E-11D0-9675-0020AFD8ADB3}']
function Read(
dwSource: OPCDATASOURCE;
dwCount: DWORD;
phServer: POPCHANDLE;
out ppItemValues: POPCITEMSTATEARRAY;
out ppErrors: PResultList): HResult; stdcall;
function Write(
dwCount: DWORD;
phServer: POPCHANDLE;
pItemValues: POleVariant;
out ppErrors: PResultList): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IOPCAsyncIO
// GUID: {39C13A53-011E-11D0-9675-0020AFD8ADB3}
// *********************************************************************//
IOPCAsyncIO = interface(IUnknown)
['{39C13A53-011E-11D0-9675-0020AFD8ADB3}']
function Read(
dwConnection: DWORD;
dwSource: OPCDATASOURCE;
dwCount: DWORD;
phServer: POPCHANDLE;
out pTransactionID: DWORD;
out ppErrors: PResultList): HResult; stdcall;
function Write(
dwConnection: DWORD;
dwCount: DWORD;
phServer: POPCHANDLE;
pItemValues: POleVariant;
out pTransactionID: DWORD;
out ppErrors: PResultList): HResult; stdcall;
function Refresh(
dwConnection: DWORD;
dwSource: OPCDATASOURCE;
out pTransactionID: DWORD): HResult; stdcall;
function Cancel(
dwTransactionID: DWORD): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IOPCItemMgt
// GUID: {39C13A54-011E-11D0-9675-0020AFD8ADB3}
// *********************************************************************//
IOPCItemMgt = interface(IUnknown)
['{39C13A54-011E-11D0-9675-0020AFD8ADB3}']
function AddItems(
dwCount: DWORD;
pItemArray: POPCITEMDEF;
out ppAddResults: POPCITEMRESULTARRAY;
out ppErrors: PResultList): HResult; stdcall;
function ValidateItems(
dwCount: DWORD;
pItemArray: POPCITEMDEF;
bBlobUpdate: BOOL;
out ppValidationResults: POPCITEMRESULTARRAY;
out ppErrors: PResultList): HResult; stdcall;
function RemoveItems(
dwCount: DWORD;
phServer: POPCHANDLE;
out ppErrors: PResultList): HResult; stdcall;
function SetActiveState(
dwCount: DWORD;
phServer: POPCHANDLE;
bActive: BOOL;
out ppErrors: PResultList): HResult; stdcall;
function SetClientHandles(
dwCount: DWORD;
phServer: POPCHANDLE;
phClient: POPCHANDLE;
out ppErrors: PResultList): HResult; stdcall;
function SetDatatypes(
dwCount: DWORD;
phServer: POPCHANDLE;
pRequestedDatatypes: PVarType;
out ppErrors: PResultList): HResult; stdcall;
function CreateEnumerator(
const riid: TIID;
out ppUnk: IUnknown): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IEnumOPCItemAttributes
// GUID: {39C13A55-011E-11D0-9675-0020AFD8ADB3}
// *********************************************************************//
IEnumOPCItemAttributes = interface(IUnknown)
['{39C13A55-011E-11D0-9675-0020AFD8ADB3}']
function Next(
celt: ULONG;
out ppItemArray: POPCITEMATTRIBUTESARRAY;
out pceltFetched: ULONG): HResult; stdcall;
function Skip(
celt: ULONG): HResult; stdcall;
function Reset: HResult; stdcall;
function Clone(
out ppEnumItemAttributes: IEnumOPCItemAttributes):
HResult; stdcall;
end;
// *********************************************************************//
// Interface: IOPCDataCallback
// GUID: {39C13A70-011E-11D0-9675-0020AFD8ADB3}
// *********************************************************************//
IOPCDataCallback = interface(IUnknown)
['{39C13A70-011E-11D0-9675-0020AFD8ADB3}']
function OnDataChange(
dwTransid: DWORD;
hGroup: OPCHANDLE;
hrMasterquality: HResult;
hrMastererror: HResult;
dwCount: DWORD;
phClientItems: POPCHANDLE;
pvValues: POleVariant;
pwQualities: PWORD;
pftTimeStamps: PFileTime;
pErrors: PHResult): HResult; stdcall;
function OnReadComplete(
dwTransid: DWORD;
hGroup: OPCHANDLE;
hrMasterquality: HResult;
hrMastererror: HResult;
dwCount: DWORD;
phClientItems: POPCHANDLE;
pvValues: POleVariant;
pwQualities: PWORD;
pftTimeStamps: PFileTime;
pErrors: PHResult): HResult; stdcall;
function OnWriteComplete(
dwTransid: DWORD;
hGroup: OPCHANDLE;
hrMastererr: HResult;
dwCount: DWORD;
pClienthandles: POPCHANDLE;
pErrors: PHResult): HResult; stdcall;
function OnCancelComplete(
dwTransid: DWORD;
hGroup: OPCHANDLE): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IOPCAsyncIO2
// GUID: {39C13A71-011E-11D0-9675-0020AFD8ADB3}
// *********************************************************************//
IOPCAsyncIO2 = interface(IUnknown)
['{39C13A71-011E-11D0-9675-0020AFD8ADB3}']
function Read(
dwCount: DWORD;
phServer: POPCHANDLE;
dwTransactionID: DWORD;
out pdwCancelID: DWORD;
out ppErrors: PResultList): HResult; stdcall;
function Write(
dwCount: DWORD;
phServer: POPCHANDLE;
pItemValues: POleVariant;
dwTransactionID: DWORD;
out pdwCancelID: DWORD;
out ppErrors: PResultList): HResult; stdcall;
function Refresh2(
dwSource: OPCDATASOURCE;
dwTransactionID: DWORD;
out pdwCancelID: DWORD): HResult; stdcall;
function Cancel2(
dwCancelID: DWORD): HResult; stdcall;
function SetEnable(
bEnable: BOOL): HResult; stdcall;
function GetEnable(
out pbEnable: BOOL): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IOPCItemProperties
// GUID: {39C13A72-011E-11D0-9675-0020AFD8ADB3}
// *********************************************************************//
IOPCItemProperties = interface(IUnknown)
['{39C13A72-011E-11D0-9675-0020AFD8ADB3}']
function QueryAvailableProperties(
szItemID: POleStr;
out pdwCount: DWORD;
out ppPropertyIDs: PDWORDARRAY;
out ppDescriptions: POleStrList;
out ppvtDataTypes: PVarTypeList): HResult; stdcall;
function GetItemProperties(
szItemID: POleStr;
dwCount: DWORD;
pdwPropertyIDs: PDWORD;
out ppvData: POleVariantArray;
out ppErrors: PResultList): HResult; stdcall;
function LookupItemIDs(
szItemID: POleStr;
dwCount: DWORD;
pdwPropertyIDs: PDWORD;
out ppszNewItemIDs: POleStrList;
out ppErrors: PResultList): HResult; stdcall;
end;
// Register clipboard formats for use with IDataObject / IAdviseSink
procedure OPCDARegisterClipboardFormats;
var
// OPC data stream formats
OPCSTMFORMATDATA: UINT;
OPCSTMFORMATDATATIME: UINT;
OPCSTMFORMATWRITECOMPLETE: UINT;
implementation
procedure OPCDARegisterClipboardFormats;
begin
OPCSTMFORMATDATA := RegisterClipboardFormat('OPCSTMFORMATDATA');
OPCSTMFORMATDATATIME := RegisterClipboardFormat('OPCSTMFORMATDATATIME');
OPCSTMFORMATWRITECOMPLETE :=
RegisterClipboardFormat('OPCSTMFORMATWRITECOMPLETE');
end;
initialization
OPCDARegisterClipboardFormats;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -