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

📄 opc_ae.pas

📁 delphi入门基本程序,包括OPC的通用协议,在这个基础上进行各个厂家的设备的数据采集
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    function CreateEventSubscription(
            bActive:                    BOOL;
            dwBufferTime:               DWORD;
            dwMaxSize:                  DWORD;
            hClientSubscription:        OPCHANDLE;
      const riid:                       TIID;
      out   ppUnk:                      IUnknown;
      out   pdwRevisedBufferTime:       DWORD;
      out   pdwRevisedMaxSize:          DWORD): HResult; stdcall;
    function QueryAvailableFilters(
      out   pdwFilterMask:              DWORD): HResult; stdcall;
    function QueryEventCategories(
            dwEventType:                DWORD;
      out   pdwCount:                   DWORD;
      out   ppdwEventCategories:        PDWORDARRAY;
      out   ppszEventCategoryDescs:     POleStrList): HResult; stdcall;
    function QueryConditionNames(
            dwEventCategory:            DWORD;
      out   pdwCount:                   DWORD;
      out   ppszConditionNames:         POleStrList): HResult; stdcall;
    function QuerySubConditionNames(
            szConditionName:            POleStr;
      out   pdwCount:                   DWORD;
      out   ppszSubConditionNames:      POleStrList): HResult; stdcall;
    function QuerySourceConditions(
            szSource:                   POleStr;
      out   pdwCount:                   DWORD;
      out   ppszConditionNames:         POleStrList): HResult; stdcall;
    function QueryEventAttributes(
            dwEventCategory:            DWORD;
      out   pdwCount:                   DWORD;
      out   ppdwAttrIDs:                PDWORDARRAY;
      out   ppszAttrDescs:              POleStrList;
      out   ppvtAttrTypes:              PVarTypeList): HResult; stdcall;
    function TranslateToItemIDs(
            szSource:                   POleStr;
            dwEventCategory:            DWORD;
            szConditionName:            POleStr;
            szSubconditionName:         POleStr;
            dwCount:                    DWORD;
            pdwAssocAttrIDs:            PDWORDARRAY;
      out   ppszAttrItemIDs:            POleStrList;
      out   ppszNodeNames:              POleStrList;
      out   ppCLSIDs:                   PGUIDList): HResult; stdcall;
    function GetConditionState(
            szSource:                   POleStr;
            szConditionName:            POleStr;
            dwNumEventAttrs:            DWORD;
            pdwAttributeIDs:            PDWORDARRAY;
      out   ppConditionState:           POPCCONDITIONSTATE): HResult; stdcall;
    function EnableConditionByArea(
            dwNumAreas:                 DWORD;
            pszAreas:                   POleStrList): HResult; stdcall;
    function EnableConditionBySource(
            dwNumSources:               DWORD;
            pszSources:                 POleStrList): HResult; stdcall;
    function DisableConditionByArea(
            dwNumAreas:                 DWORD;
            pszAreas:                   POleStrList): HResult; stdcall;
    function DisableConditionBySource(
            dwNumSources:               DWORD;
            pszSources:                 POleStrList): HResult; stdcall;
    function AckCondition(
            dwCount:                    DWORD;
            szAcknowledgerID:           POleStr;
            szComment:                  POleStr;
            pszSource:                  POleStrList;
            pszConditionName:           POleStrList;
            pftActiveTime:              PFileTimeArray;
            pdwCookie:                  PDWORDARRAY;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function CreateAreaBrowser(
      const riid:                       TIID;
      out   ppUnk:                      IUnknown): HResult; stdcall;
  end;

// *********************************************************************//
// Interface: IOPCEventSubscriptionMgt
// GUID:      {65168855-5783-11D1-84A0-00608CB8A7E9}
// *********************************************************************//
  IOPCEventSubscriptionMgt = interface(IUnknown)
    ['{65168855-5783-11D1-84A0-00608CB8A7E9}']
    function SetFilter(
            dwEventType:                DWORD;
            dwNumCategories:            DWORD;
            pdwEventCategories:         PDWORDARRAY;
            dwLowSeverity:              DWORD;
            dwHighSeverity:             DWORD;
            dwNumAreas:                 DWORD;
            pszAreaList:                POleStrList;
            dwNumSources:               DWORD;
            pszSourceList:              POleStrList): HResult; stdcall;
    function GetFilter(
      out   pdwEventType:               DWORD;
      out   pdwNumCategories:           DWORD;
      out   ppdwEventCategories:        PDWORDARRAY;
      out   pdwLowSeverity:             DWORD;
      out   pdwHighSeverity:            DWORD;
      out   pdwNumAreas:                DWORD;
      out   ppszAreaList:               POleStrList;
      out   pdwNumSources:              DWORD;
      out   ppszSourceList:             POleStrList): HResult; stdcall;
    function SelectReturnedAttributes(
            dwEventCategory:            DWORD;
            dwCount:                    DWORD;
            dwAttributeIDs:             PDWORDARRAY): HResult; stdcall;
    function GetReturnedAttributes(
            dwEventCategory:            DWORD;
      out   pdwCount:                   DWORD;
      out   ppdwAttributeIDs:           PDWORDARRAY): HResult; stdcall;
    function Refresh(
            dwConnection:               DWORD): HResult; stdcall;
    function CancelRefresh(
            dwConnection:               DWORD): HResult; stdcall;
    function GetState(
      out   pbActive:                   BOOL;
      out   pdwBufferTime:              DWORD;
      out   pdwMaxSize:                 DWORD;
      out   phClientSubscription:       OPCHANDLE): HResult; stdcall;
    function SetState(
            pbActive:                   PBOOL;
            pdwBufferTime:              PDWORD;
            pdwMaxSize:                 PDWORD;
            hClientSubscription:        OPCHANDLE;
      out   pdwRevisedBufferTime:       DWORD;
      out   pdwRevisedMaxSize:          DWORD): HResult; stdcall;
  end;

// *********************************************************************//
// Interface: IOPCEventAreaBrowser
// GUID:      {65168857-5783-11D1-84A0-00608CB8A7E9}
// *********************************************************************//
  IOPCEventAreaBrowser = interface(IUnknown)
    ['{65168857-5783-11D1-84A0-00608CB8A7E9}']
    function ChangeBrowsePosition(
            dwBrowseDirection:          OPCAEBROWSEDIRECTION;
            szString:                   POleStr): HResult; stdcall;
    function BrowseOPCAreas(
            dwBrowseFilterType:         OPCAEBROWSETYPE;
            szFilterCriteria:           POleStr;
      out   ppIEnumString:              IEnumString): HResult; stdcall;
    function GetQualifiedAreaName(
            szAreaName:                 POleStr;
      out   pszQualifiedAreaName:       POleStr): HResult; stdcall;
    function GetQualifiedSourceName(
            szSourceName:               POleStr;
      out   pszQualifiedSourceName:     POleStr): HResult; stdcall;
  end;

// *********************************************************************//
// Interface: IOPCEventSink
// GUID:      {6516885F-5783-11D1-84A0-00608CB8A7E9}
// *********************************************************************//
  IOPCEventSink = interface(IUnknown)
    ['{6516885F-5783-11D1-84A0-00608CB8A7E9}']
    function OnEvent(
            hClientSubscription:        OPCHANDLE;
            bRefresh:                   BOOL;
            bLastRefresh:               BOOL;
            dwCount:                    DWORD;
            pEvents:                    PONEVENTSTRUCTARRAY): HResult; stdcall;
  end;

// *********************************************************************//
// Interface: IOPCEventServer2
// GUID:      {71BBE88E-9564-4BCD-BCFC-71C558D94F2D}
// *********************************************************************//
  IOPCEventServer2 = interface(IOPCEventServer)
    ['{71BBE88E-9564-4BCD-BCFC-71C558D94F2D}']
    function EnableConditionByArea2(
            dwNumAreas:                 DWORD;
            pszAreas:                   POleStrList;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function EnableConditionBySource2(
            dwNumSources:               DWORD;
            pszSources:                 POleStrList;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function DisableConditionByArea2(
            dwNumAreas:                 DWORD;
            pszAreas:                   POleStrList;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function DisableConditionBySource2(
            dwNumSources:               DWORD;
            pszSources:                 POleStrList;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function GetEnableStateByArea(
            dwNumAreas:                 DWORD;
            pszAreas:                   POleStrList;
            pbEnabled:                  PBOOLARRAY;
            pbEffectivelyEnabled:       PBOOLARRAY;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function GetEnableStateBySource(
            dwNumSources:               DWORD;
            pszSources:                 POleStrList;
            pbEnabled:                  PBOOLARRAY;
            pbEffectivelyEnabled:       PBOOLARRAY;
      out   ppErrors:                   PResultList): HResult; stdcall;
  end;

// *********************************************************************//
// Interface: IOPCEventSubscriptionMgt2
// GUID:      {94C955DC-3684-4CCB-AFAB-F898CE19AAC3}
// *********************************************************************//
  IOPCEventSubscriptionMgt2 = interface(IOPCEventSubscriptionMgt)
    ['{94C955DC-3684-4CCB-AFAB-F898CE19AAC3}']
    function SetKeepAlive(
            dwKeepAliveTime:            DWORD;
      out   pdwRevisedKeepAliveTime:    DWORD): HResult; stdcall;
    function GetKeepAlive(
      out   pdwKeepAliveTime:           DWORD): HResult; stdcall;
  end;

implementation

end.

⌨️ 快捷键说明

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