OPC 错误码

OPC 错误码

//==============================================================================
// TITLE: operror.h
//
// CONTENTS:
// 
// Defines error codes for the Data Access specifications.
//
// (c) Copyright 1997-2003 The OPC Foundation
// ALL RIGHTS RESERVED.
//
// DISCLAIMER:
//  This code is provided by the OPC Foundation solely to assist in 
//  understanding and use of the appropriate OPC Specification(s) and may be 
//  used as set forth in the License Grant section of the OPC Specification.
//  This code is provided as-is and without warranty or support of any sort
//  and is subject to the Warranty and Liability Disclaimers which appear
//  in the printed OPC Specification.
//
// MODIFICATION LOG:
//
// Date       By    Notes
// ---------- ---   -----
// 1997/05/12 ACC   Removed Unused messages
//                  Added OPC_S_INUSE, OPC_E_INVALIDCONFIGFILE, OPC_E_NOTFOUND
// 1997/05/12 ACC   Added OPC_E_INVALID_PID
// 2002/08/12 CRT   Added new error codes for DA3.0
// 2003/01/02 RSA   Updated formatting. Added messages to proxy/stub resource block.
// 2003/10/12 RSA   Added error codes for complex data.
//

#ifndef __OPCERROR_H
#define __OPCERROR_H

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

// The 'Facility' is set to the standard for COM interfaces or FACILITY_ITF (i.e. 0x004)
// The 'Code' is set in the range defined OPC Commmon for DA (i.e. 0x0400 to 0x04FF)
// Note that for backward compatibility not all existing codes use this range.

//
//  Values are 32 bit values layed out as follows:
//
//   3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
//   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
//  +---+-+-+-----------------------+-------------------------------+
//  |Sev|C|R|     Facility          |               Code            |
//  +---+-+-+-----------------------+-------------------------------+
//
//  where
//
//      Sev - is the severity code
//
//          00 - Success
//          01 - Informational
//          10 - Warning
//          11 - Error
//
//      C - is the Customer code flag
//
//      R - is a reserved bit
//
//      Facility - is the facility code
//
//      Code - is the facility's status code
//
//
// Define the facility codes
//


//
// Define the severity codes
//


//
// MessageId: OPC_E_INVALIDHANDLE
//
// MessageText:
//
//  The value of the handle is invalid.
//	句柄的值无效。
#define OPC_E_INVALIDHANDLE              ((HRESULT)0xC0040001L)

//
// MessageId: OPC_E_BADTYPE
//
// MessageText:
//
//  The server cannot convert the data between the specified format and/or requested data type and the canonical data type. 
//  服务器无法在指定格式和/或请求的数据类型与规范数据类型之间转换数据。
#define OPC_E_BADTYPE                    ((HRESULT)0xC0040004L)

//
// MessageId: OPC_E_PUBLIC
//
// MessageText:
//
//  The requested operation cannot be done on a public group.
//	请求的操作不能在公共组上执行。
#define OPC_E_PUBLIC                     ((HRESULT)0xC0040005L)

//
// MessageId: OPC_E_BADRIGHTS
//
// MessageText:
//
//  The item's access rights do not allow the operation.
//	item的访问权限不允许操作。
#define OPC_E_BADRIGHTS                  ((HRESULT)0xC0040006L)

//
// MessageId: OPC_E_UNKNOWNITEMID
//
// MessageText:
//	
//  The item ID is not defined in the server address space or no longer exists in the server address space.
//	ItemID没有在服务器地址空间中定义,或者不再存在于服务器地址空间中。(查看OPCITEMDEF.szItemID是否正确)
#define OPC_E_UNKNOWNITEMID              ((HRESULT)0xC0040007L)

//
// MessageId: OPC_E_INVALIDITEMID
//
// MessageText:
//
//  The item ID does not conform to the server's syntax.
//  Item ID不符合服务器的语法。(查看OPCITEMDEF.szItemID是否正确)
#define OPC_E_INVALIDITEMID              ((HRESULT)0xC0040008L)

//
// MessageId: OPC_E_INVALIDFILTER
//
// MessageText:
//
//  The filter string was not valid.
//	筛选器字符串无效。
#define OPC_E_INVALIDFILTER              ((HRESULT)0xC0040009L)

//
// MessageId: OPC_E_UNKNOWNPATH
//
// MessageText:
//
//  The item's access path is not known to the server.
//	服务器不知道该item的访问路径。
#define OPC_E_UNKNOWNPATH                ((HRESULT)0xC004000AL)

//
// MessageId: OPC_E_RANGE
//
// MessageText:
//
//  The value was out of range.
//	这个值超出了范围
#define OPC_E_RANGE                      ((HRESULT)0xC004000BL)

//
// MessageId: OPC_E_DUPLICATENAME
//
// MessageText:
//
//  Duplicate name not allowed.
//	不允许重复名称。
#define OPC_E_DUPLICATENAME              ((HRESULT)0xC004000CL)

//
// MessageId: OPC_S_UNSUPPORTEDRATE
//
// MessageText:
//
//  The server does not support the requested data rate but will use the closest available rate.
//	服务器不支持请求的数据速率,但将使用最接近的可用速率。(可依据返回使用速率设置请求速率)
#define OPC_S_UNSUPPORTEDRATE            ((HRESULT)0x0004000DL)

//
// MessageId: OPC_S_CLAMP
//
// MessageText:
//
//  A value passed to write was accepted but the output was clamped.
//	接受了传递给write的值,但是限制了输出。
#define OPC_S_CLAMP                      ((HRESULT)0x0004000EL)

//
// MessageId: OPC_S_INUSE
//
// MessageText:
//
//  The operation cannot be performed because the object is bering referenced.
//	由于对象是白引用的,所以无法执行该操作。
#define OPC_S_INUSE                      ((HRESULT)0x0004000FL)

//
// MessageId: OPC_E_INVALIDCONFIGFILE
//
// MessageText:
//
//  The server's configuration file is an invalid format.
//	服务器的配置文件是无效格式。
#define OPC_E_INVALIDCONFIGFILE          ((HRESULT)0xC0040010L)

//
// MessageId: OPC_E_NOTFOUND
//
// MessageText:
//
//  The requested object (e.g. a public group) was not found.
//	未找到所请求的对象(例如公共组)。
#define OPC_E_NOTFOUND                   ((HRESULT)0xC0040011L)

//
// MessageId: OPC_E_INVALID_PID
//
// MessageText:
//
//  The specified property ID is not valid for the item.
//	指定的属性ID对项无效。
#define OPC_E_INVALID_PID                ((HRESULT)0xC0040203L)

//
// MessageId: OPC_E_DEADBANDNOTSET
//
// MessageText:
//
//  The item deadband has not been set for this item.
//	此项目的死区尚未设置。
#define OPC_E_DEADBANDNOTSET             ((HRESULT)0xC0040400L)

//
// MessageId: OPC_E_DEADBANDNOTSUPPORTED
//
// MessageText:
//
//  The item does not support deadband.
//	此项目不支持死区。
#define OPC_E_DEADBANDNOTSUPPORTED       ((HRESULT)0xC0040401L)

//
// MessageId: OPC_E_NOBUFFERING
//
// MessageText:
//
//  The server does not support buffering of data items that are collected at a faster rate than the group update rate.
//	服务器不支持缓冲以比组更新速度更快的速度收集的数据项。
#define OPC_E_NOBUFFERING                ((HRESULT)0xC0040402L)

//
// MessageId: OPC_E_INVALIDCONTINUATIONPOINT
//
// MessageText:
//
//  The continuation point is not valid.
//	延续点无效。
#define OPC_E_INVALIDCONTINUATIONPOINT   ((HRESULT)0xC0040403L)

//
// MessageId: OPC_S_DATAQUEUEOVERFLOW
//
// MessageText:
//
//  Not every detected change has been returned since the server's buffer reached its limit and had to purge out the oldest data.
//	并不是所有检测到的更改都返回了,因为服务器的缓冲区已经达到极限,必须清除最旧的数据
#define OPC_S_DATAQUEUEOVERFLOW          ((HRESULT)0x00040404L)

//
// MessageId: OPC_E_RATENOTSET
//
// MessageText:
//
//  There is no sampling rate set for the specified item.  
//	没有为指定的项目设置采样率。
#define OPC_E_RATENOTSET                 ((HRESULT)0xC0040405L)

//
// MessageId: OPC_E_NOTSUPPORTED
//
// MessageText:
//
//  The server does not support writing of quality and/or timestamp.
//	服务器不支持写入质量和/或时间戳。
#define OPC_E_NOTSUPPORTED               ((HRESULT)0xC0040406L)

//
// MessageId: OPCCPX_E_TYPE_CHANGED
//
// MessageText:
//
//  The dictionary and/or type description for the item has changed.
//	项目的字典和/或类型描述已更改。
#define OPCCPX_E_TYPE_CHANGED            ((HRESULT)0xC0040407L)

//
// MessageId: OPCCPX_E_FILTER_DUPLICATE
//
// MessageText:
//
//  A data filter item with the specified name already exists. 
//	具有指定名称的数据筛选项已经存在。
#define OPCCPX_E_FILTER_DUPLICATE        ((HRESULT)0xC0040408L)

//
// MessageId: OPCCPX_E_FILTER_INVALID
//
// MessageText:
//
//  The data filter value does not conform to the server's syntax.
//	数据筛选器值不符合服务器的语法。
#define OPCCPX_E_FILTER_INVALID          ((HRESULT)0xC0040409L)

//
// MessageId: OPCCPX_E_FILTER_ERROR
//
// MessageText:
//
//  An error occurred when the filter value was applied to the source data.
//	当过滤器值应用于源数据时发生错误。
#define OPCCPX_E_FILTER_ERROR            ((HRESULT)0xC004040AL)

//
// MessageId: OPCCPX_S_FILTER_NO_DATA
//
// MessageText:
//
//  The item value is empty because the data filter has excluded all fields.
//	项值为空,因为数据筛选器排除了所有字段。
#define OPCCPX_S_FILTER_NO_DATA          ((HRESULT)0x0004040BL)

#endif // ifndef __OPCERROR_H

你可能感兴趣的:(OPC)