Appendix A - OPCError.h

/*++

Module Name:

OpcError.h

Author:

OPC Task Force

Revision History:

Release 1.0A

Removed Unused messages

Added OPC_S_INUSE, OPC_E_INVALIDCONFIGFILE, OPC_E_NOTFOUND

Release 2.0

Added OPC_E_INVALID_PID

--*/

/*

Code Assignements:

0000 to 0200 are reserved for Microsoft use

(although some were inadverdantly used for OPC 1.0 errors).

0200 to 7FFF are reserved for future OPC use.

8000 to FFFF can be vendor specific.

*/

#ifndef __OPCERROR_H

#define __OPCERROR_H

//

// Values are 32 bit values laid 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

//

//

//

// 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

// 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 Items AccessRights do not allow the operation.

//

#define OPC_E_BADRIGHTS ((HRESULT)0xC0040006L)

//

// MessageId: OPC_E_UNKNOWNITEMID

//

// MessageText:

//

// The item is no longer available in the server address space

//

//

#define OPC_E_UNKNOWNITEMID ((HRESULT)0xC0040007L)

//

// MessageId: OPC_E_INVALIDITEMID

//

// MessageText:

//

// The item definition doesn't conform to the server's syntax.

//

#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.

//

//

#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.

//

#define OPC_S_CLAMP ((HRESULT)0x0004000EL)

//

// MessageId: OPC_S_INUSE

//

// MessageText:

//

// The operation cannot be completed because the

// object still has references that exist.

//

//

#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 server could not locate the requested object.

//

#define OPC_E_NOTFOUND ((HRESULT)0xC0040011L)

//

// MessageId: OPC_E_INVALID_PID

//

// MessageText:

//

// The server does not recognise the passed property ID.

//

#define OPC_E_INVALID_PID ((HRESULT)0xC0040203L)

#endif // OpcError