?? opcda.pas
字號:
out ppAddResults: POPCITEMRESULTARRAY;
out ppErrors: PResultList): HResult; stdcall;
function ValidateItems(
dwCount: DWORD;
pItemArray: POPCITEMDEFARRAY;
bBlobUpdate: BOOL;
out ppValidationResults: POPCITEMRESULTARRAY;
out ppErrors: PResultList): HResult; stdcall;
function RemoveItems(
dwCount: DWORD;
phServer: POPCHANDLEARRAY;
out ppErrors: PResultList): HResult; stdcall;
function SetActiveState(
dwCount: DWORD;
phServer: POPCHANDLEARRAY;
bActive: BOOL;
out ppErrors: PResultList): HResult; stdcall;
function SetClientHandles(
dwCount: DWORD;
phServer: POPCHANDLEARRAY;
phClient: POPCHANDLEARRAY;
out ppErrors: PResultList): HResult; stdcall;
function SetDatatypes(
dwCount: DWORD;
phServer: POPCHANDLEARRAY;
pRequestedDatatypes: PVarTypeList;
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: POPCHANDLEARRAY;
pvValues: POleVariantArray;
pwQualities: PWordArray;
pftTimeStamps: PFileTimeArray;
pErrors: PResultList): HResult; stdcall;
function OnReadComplete(
dwTransid: DWORD;
hGroup: OPCHANDLE;
hrMasterquality: HResult;
hrMastererror: HResult;
dwCount: DWORD;
phClientItems: POPCHANDLEARRAY;
pvValues: POleVariantArray;
pwQualities: PWordArray;
pftTimeStamps: PFileTimeArray;
pErrors: PResultList): HResult; stdcall;
function OnWriteComplete(
dwTransid: DWORD;
hGroup: OPCHANDLE;
hrMastererr: HResult;
dwCount: DWORD;
pClienthandles: POPCHANDLEARRAY;
pErrors: PResultList): 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: POPCHANDLEARRAY;
dwTransactionID: DWORD;
out pdwCancelID: DWORD;
out ppErrors: PResultList): HResult; stdcall;
function Write(
dwCount: DWORD;
phServer: POPCHANDLEARRAY;
pItemValues: POleVariantArray;
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: PDWORDARRAY;
out ppvData: POleVariantArray;
out ppErrors: PResultList): HResult; stdcall;
function LookupItemIDs(
szItemID: POleStr;
dwCount: DWORD;
pdwPropertyIDs: PDWORDARRAY;
out ppszNewItemIDs: POleStrList;
out ppErrors: PResultList): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IOPCItemDeadbandMgt
// GUID: {5946DA93-8B39-4ec8-AB3D-AA73DF5BC86F}
// *********************************************************************//
IOPCItemDeadbandMgt = interface(IUnknown)
['{5946DA93-8B39-4ec8-AB3D-AA73DF5BC86F}']
function SetItemDeadband(
dwCount: DWORD;
phServer: POPCHANDLEARRAY;
pPercentDeadband: PSingleArray;
out ppErrors: PResultList): HResult; stdcall;
function GetItemDeadband(
dwCount: DWORD;
phServer: POPCHANDLEARRAY;
out ppPercentDeadband: PSingleArray;
out ppErrors: PResultList): HResult; stdcall;
function ClearItemDeadband(
dwCount: DWORD;
phServer: POPCHANDLEARRAY;
out ppErrors: PResultList): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IOPCItemSamplingMgt
// GUID: {3E22D313-F08B-41a5-86C8-95E95CB49FFC}
// *********************************************************************//
IOPCItemSamplingMgt = interface(IUnknown)
['{3E22D313-F08B-41a5-86C8-95E95CB49FFC}']
function SetItemSamplingRate(
dwCount: DWORD;
phServer: POPCHANDLEARRAY;
pdwRequestedSamplingRate: PDWORDARRAY;
out ppdwRevisedSamplingRate: PDWORDARRAY;
out ppErrors: PResultList): HResult; stdcall;
function GetItemSamplingRate(
dwCount: DWORD;
phServer: POPCHANDLEARRAY;
out ppdwSamplingRate: PDWORDARRAY;
out ppErrors: PResultList): HResult; stdcall;
function ClearItemSamplingRate(
dwCount: DWORD;
phServer: POPCHANDLEARRAY;
out ppErrors: PResultList): HResult; stdcall;
function SetItemBufferEnable(
dwCount: DWORD;
phServer: POPCHANDLEARRAY;
pbEnable: PBOOLARRAY;
out ppErrors: PResultList): HResult; stdcall;
function GetItemBufferEnable(
dwCount: DWORD;
phServer: POPCHANDLEARRAY;
out ppbEnable: PBOOLARRAY;
out ppErrors: PResultList): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IOPCBrowse
// GUID: {39227004-A18F-4b57-8B0A-5235670F4468}
// *********************************************************************//
IOPCBrowse = interface(IUnknown)
['{39227004-A18F-4b57-8B0A-5235670F4468}']
function GetProperties(
dwItemCount: DWORD;
pszItemIDs: POleStrList;
bReturnPropertyValues: BOOL;
dwPropertyCount: DWORD;
pdwPropertyIDs: PDWORDARRAY;
out ppItemProperties: POPCITEMPROPERTIESARRAY):
HResult; stdcall;
function Browse(
szItemID: POleStr;
var pszContinuationPoint: POleStr;
dwMaxElementsReturned: DWORD;
dwBrowseFilter: OPCBROWSEFILTER;
szElementNameFilter: POleStr;
szVendorFilter: POleStr;
bReturnAllProperties: BOOL;
bReturnPropertyValues: BOOL;
dwPropertyCount: DWORD;
pdwPropertyIDs: PDWORDARRAY;
out pbMoreElements: BOOL;
out pdwCount: DWORD;
out ppBrowseElements: POPCBROWSEELEMENTARRAY):
HResult; stdcall;
end;
// *********************************************************************//
// Interface: IOPCItemIO
// GUID: {85C0B427-2893-4cbc-BD78-E5FC5146F08F}
// *********************************************************************//
IOPCItemIO = interface(IUnknown)
['{85C0B427-2893-4cbc-BD78-E5FC5146F08F}']
function Read(
dwCount: DWORD;
pszItemIDs: POleStrList;
pdwMaxAge: PDWORDARRAY;
out ppvValues: POleVariantArray;
out ppwQualities: PWordArray;
out ppftTimeStamps: PFileTimeArray;
out ppErrors: PResultList): HResult; stdcall;
function WriteVQT(
dwCount: DWORD;
pszItemIDs: POleStrList;
pItemVQT: POPCITEMVQTARRAY;
out ppErrors: PResultList): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IOPCSyncIO2
// GUID: {730F5F0F-55B1-4c81-9E18-FF8A0904E1FA}
// *********************************************************************//
IOPCSyncIO2 = interface(IOPCSyncIO)
['{730F5F0F-55B1-4c81-9E18-FF8A0904E1FA}']
function ReadMaxAge(
dwCount: DWORD;
phServer: POPCHANDLEARRAY;
pdwMaxAge: PDWORDARRAY;
out ppvValues: POleVariantArray;
out ppwQualities: PWordArray;
out ppftTimeStamps: PFileTimeArray;
out ppErrors: PResultList): HResult; stdcall;
function WriteVQT(
dwCount: DWORD;
phServer: POPCHANDLEARRAY;
pItemVQT: POPCITEMVQTARRAY;
out ppErrors: PResultList): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IOPCAsyncIO3
// GUID: {0967B97B-36EF-423e-B6F8-6BFF1E40D39D}
// *********************************************************************//
IOPCAsyncIO3 = interface(IOPCAsyncIO2)
['{0967B97B-36EF-423e-B6F8-6BFF1E40D39D}']
function ReadMaxAge(
dwCount: DWORD;
phServer: POPCHANDLEARRAY;
pdwMaxAge: PDWORDARRAY;
dwTransactionID: DWORD;
out pdwCancelID: DWORD;
out ppErrors: PResultList): HResult; stdcall;
function WriteVQT(
dwCount: DWORD;
phServer: POPCHANDLEARRAY;
pItemVQT: POPCITEMVQTARRAY;
dwTransactionID: DWORD;
out pdwCancelID: DWORD;
out ppErrors: PResultList): HResult; stdcall;
function RefreshMaxAge(
dwMaxAge: DWORD;
dwTransactionID: DWORD;
out pdwCancelID: DWORD): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IOPCGroupStateMgt2
// GUID: {8E368666-D72E-4f78-87ED-647611C61C9F}
// *********************************************************************//
IOPCGroupStateMgt2 = interface(IOPCGroupStateMgt)
['{8E368666-D72E-4f78-87ED-647611C61C9F}']
function SetKeepAlive(
dwKeepAliveTime: DWORD;
out pdwRevisedKeepAliveTime: DWORD): HResult; stdcall;
function GetKeepAlive(
out pdwKeepAliveTime: DWORD): 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.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -