indexing
	description: "Definition of COM error codes"
	legal: "See notice at end of class."
	status: "See notice at end of class."
	date: "$Date: 2006-01-22 18:25:44 -0800 (Sun, 22 Jan 2006) $"
	revision: "$Revision: 56675 $"

class interface
	ECOM_EXCEPTION_CODES

create 
	default_create
			-- Process instances of classes with no creation clause.
			-- (Default: do nothing.)
			-- (from ANY)

feature -- Access

	cache_e_first: INTEGER_32
			-- Caching error

	cache_e_last: INTEGER_32
			-- Caching error

	cache_e_nocache_updated: INTEGER_32
			--  Cache not updated

	cache_s_first: INTEGER_32
			-- Caching error

	cache_s_formatetc_notsupported: INTEGER_32
			-- FORMATETC not supported

	cache_s_last: INTEGER_32
			-- Caching error

	cache_s_samecache: INTEGER_32
			-- Same cache

	cache_s_somecaches_notupdated: INTEGER_32
			-- Some cache(s) not updated

	class_e_classnotavailable: INTEGER_32
			-- ClassFactory cannot supply requested class

	class_e_noaggregation: INTEGER_32
			-- Class does not support aggregation (or class object is remote)

	classfactory_e_first: INTEGER_32
			-- Class factory interfaces support

	classfactory_e_last: INTEGER_32
			-- Class factory interfaces support

	classfactory_s_first: INTEGER_32
			-- Class factory interfaces support

	classfactory_s_last: INTEGER_32
			-- Class factory interfaces support

	clientsite_e_first: INTEGER_32
			-- Client site error code

	clientsite_e_last: INTEGER_32
			-- Client site error code

	clientsite_s_first: INTEGER_32
			-- Client site error code

	clientsite_s_last: INTEGER_32
			-- Client site error code

	clipbrd_e_bad_data: INTEGER_32
			-- Data on clipboard is invalid

	clipbrd_e_cant_close: INTEGER_32
			-- CloseClipboard Failed

	clipbrd_e_cant_empty: INTEGER_32
			-- EmptyClipboard Failed

	clipbrd_e_cant_open: INTEGER_32
			-- OpenClipboard Failed

	clipbrd_e_cant_set: INTEGER_32
			-- SetClipboard Failed

	clipbrd_e_first: INTEGER_32
			-- Clipboard related error

	clipbrd_e_last: INTEGER_32
			-- Clipboard related error

	clipbrd_s_first: INTEGER_32
			-- Clipboard related error

	clipbrd_s_last: INTEGER_32
			-- Clipboard related error

	co_e_alreadyinitialized: INTEGER_32
			-- CoInitialize has already been called.

	co_e_appdidntreg: INTEGER_32
			-- Application was launched but it didn't register a class factory

	co_e_appnotfound: INTEGER_32
			-- Application not found

	co_e_appsingleuse: INTEGER_32
			-- Application cannot be run more than once

	co_e_bad_path: INTEGER_32
			-- Bad path to object

	co_e_cantdetermineclass: INTEGER_32
			-- Class of object cannot be determined

	co_e_class_create_failed: INTEGER_32
			--  Attempt to create a class object failed

	co_e_classstring: INTEGER_32
			-- Invalid class string

	co_e_dllnotfound: INTEGER_32
			-- DLL for class not found

	co_e_errorinapp: INTEGER_32
			-- Some error in application program

	co_e_errorindll: INTEGER_32
			-- Error in the DLL

	co_e_first: INTEGER_32
			-- Common object model DLL related error

	co_e_iidstring: INTEGER_32
			-- Invalid interface string

	co_e_init_class_cache: INTEGER_32
			-- Unable to initialize class cache

	co_e_init_memory_allocator: INTEGER_32
			-- Get memory allocator failure

	co_e_init_only_single_threaded: INTEGER_32
			-- There was an attempt to call CoInitialize a second time while single threaded

	co_e_init_rpc_channel: INTEGER_32
			-- Unable to initialize RPC services

	co_e_init_scm_exec_failure: INTEGER_32
			-- Failure attempting to launch OLE service

	co_e_init_scm_file_mapping_exists: INTEGER_32
			-- The OLE service file mapping already exists

	co_e_init_scm_map_view_of_file: INTEGER_32
			-- Unable to map view of file for OLE service

	co_e_init_scm_mutex_exists: INTEGER_32
			-- The OLE service mutex already exists

	co_e_init_shared_allocator: INTEGER_32
			-- Get shared memory allocator failure

	co_e_init_tls: INTEGER_32
			-- Thread local storage failure

	co_e_init_tls_channel_control: INTEGER_32
			-- Could not allocate thread local storage channel control

	co_e_init_tls_set_channel_control: INTEGER_32
			-- Cannot set thread local storage channel control

	co_e_init_unaccepted_user_allocator: INTEGER_32
			-- The user supplied memory allocator is unacceptable

	co_e_last: INTEGER_32
			-- Common object model DLL related error

	co_e_notinitialized: INTEGER_32
			-- CoInitialize has not been called.

	co_e_objisreg: INTEGER_32
			-- Object is already registered

	co_e_objnotconnected: INTEGER_32
			-- Object is not connected to server

	co_e_objnotreg: INTEGER_32
			-- Object is not registered

	co_e_objsrv_rpc_failure: INTEGER_32
			-- OLE service could not communicate with the object server

	co_e_released: INTEGER_32
			-- Object has been released

	co_e_scm_error: INTEGER_32
			-- OLE service could not bind object

	co_e_scm_rpc_failure: INTEGER_32
			-- RPC communication failed with OLE service

	co_e_server_exec_failure: INTEGER_32
			-- Server execution failed

	co_e_server_stopping: INTEGER_32
			--0x80080007
			-- Object server is stopping when OLE service contacts it

	co_e_wrongosforapp: INTEGER_32
			-- Wrong OS or OS version for application

	co_s_first: INTEGER_32
			-- Common object model DLL related error

	co_s_last: INTEGER_32
			-- Common object model DLL related error

	convert10_e_first: INTEGER_32
			-- Conversion related error

	convert10_e_last: INTEGER_32
			-- Conversion related error

	convert10_e_olestream_bitmap_to_dib: INTEGER_32
			-- There was an error in a Windows GDI call while converting the bitmap to a DIB

	convert10_e_olestream_fmt: INTEGER_32
			-- Contents of the OLESTREAM not in correct format

	convert10_e_olestream_get: INTEGER_32
			-- OLESTREAM Get method failed

	convert10_e_olestream_put: INTEGER_32
			-- OLESTREAM Put method failed

	convert10_e_stg_dib_to_bitmap: INTEGER_32
			-- There was an error in a Windows GDI call while converting the DIB to a bitmap.

	convert10_e_stg_fmt: INTEGER_32
			-- Contents of the IStorage not in correct format

	convert10_e_stg_no_std_stream: INTEGER_32
			-- Contents of IStorage is missing one of the standard streams

	convert10_s_first: INTEGER_32
			-- Conversion related error

	convert10_s_last: INTEGER_32
			-- Conversion related error

	convert10_s_no_presentation: INTEGER_32
			-- Unable to convert OLESTREAM to IStorage

	data_e_first: INTEGER_32
			-- Error code boundaries

	data_e_last: INTEGER_32
			-- Error code boundaries

	data_s_first: INTEGER_32
			-- Error code boundaries

	data_s_last: INTEGER_32
			-- Error code boundaries

	data_s_sameformatetc: INTEGER_32
			-- Data has same FORMATETC

	disp_e_arrayislocked: INTEGER_32
			-- Memory is locked.

	disp_e_badcallee: INTEGER_32
			-- Invalid callee.

	disp_e_badindex: INTEGER_32
			-- Invalid index.

	disp_e_badparamcount: INTEGER_32
			-- Invalid number of parameters.

	disp_e_badvartype: INTEGER_32
			-- Bad variable type.

	disp_e_exception: INTEGER_32
			-- Exception occurred.

	disp_e_membernotfound: INTEGER_32
			-- Member not found.

	disp_e_nonamedargs: INTEGER_32
			-- No named arguments.

	disp_e_notacollection: INTEGER_32
			-- Does not support a collection.

	disp_e_overflow: INTEGER_32
			-- Out of present range.

	disp_e_paramnotfound: INTEGER_32
			-- Parameter not found.

	disp_e_paramnotoptional: INTEGER_32
			-- Parameter not optional.

	disp_e_typemismatch: INTEGER_32
			-- Type mismatch.

	disp_e_unknowninterface: INTEGER_32
			-- Unknown interface.

	disp_e_unknownlcid: INTEGER_32
			-- Unknown language.

	disp_e_unknownname: INTEGER_32
			-- Unknown name.

	dragdrop_e_alreadyregistered: INTEGER_32
			-- This window has already been registered as a drop target

	dragdrop_e_first: INTEGER_32
			-- Drag-and-drop interfaces error support

	dragdrop_e_invalidhwnd: INTEGER_32
			-- Invalid window handle

	dragdrop_e_last: INTEGER_32
			-- Drag-and-drop interfaces error support

	dragdrop_e_notregistered: INTEGER_32
			-- Trying to revoke a drop target that has not been registered

	dragdrop_s_cancel: INTEGER_32
			-- Drag-drop operation canceled

	dragdrop_s_drop: INTEGER_32
			-- Successful drop took place

	dragdrop_s_first: INTEGER_32
			-- Drag-and-drop interfaces error support

	dragdrop_s_last: INTEGER_32
			-- Drag-and-drop interfaces error support

	dragdrop_s_usedefaultcursors: INTEGER_32
			-- Use the default cursor

	dv_e_clipformat: INTEGER_32
			-- Invalid clipboard format

	dv_e_dvaspect: INTEGER_32
			-- Invalid aspect(s)

	dv_e_dvtargetdevice: INTEGER_32
			-- Invalid DVTARGETDEVICE structure

	dv_e_dvtargetdevice_size: INTEGER_32
			-- tdSize parameter of the DVTARGETDEVICE structure is invalid

	dv_e_formatetc: INTEGER_32
			-- Invalid FORMATETC structure

	dv_e_lindex: INTEGER_32
			-- Invalid lindex

	dv_e_noiviewobject: INTEGER_32
			-- Object doesn't support IViewObject interface

	dv_e_statdata: INTEGER_32
			-- Invalid STATDATA structure

	dv_e_stgmedium: INTEGER_32
			-- Invalid STDGMEDIUM structure

	dv_e_tymed: INTEGER_32
			-- Invalid tymed

	e_abort: INTEGER_32
			-- Operation aborted

	e_accessdenied: INTEGER_32
			-- General access denied error

	e_advf: INTEGER_32
			-- Invalid advise flags

	e_advisenotsupported: INTEGER_32
			-- This implementation doesn't take advises

	e_blank: INTEGER_32
			-- Uninitialized object

	e_cant_bindtosource: INTEGER_32
			-- Not able to bind to the source

	e_cant_getmoniker: INTEGER_32
			-- Not able to get the moniker of the object

	e_cantconvert: INTEGER_32
			-- Not able to convert object

	e_classdiff: INTEGER_32
			-- Linked object's source class has changed

	e_end_of_stream: INTEGER_32 is 114
			-- End of stream has been reached while reading

	e_enum_nomore: INTEGER_32
			-- Can't enumerate any more, because the associated data is missing

	e_fail: INTEGER_32
			-- Unspecified error

	e_handle: INTEGER_32
			-- Invalid handle

	e_invalidarg: INTEGER_32
			-- One or more arguments are invalid

	e_invalidhwnd: INTEGER_32
			-- Invalid window handle

	e_invalidrect: INTEGER_32
			-- Invalid rectangle

	e_nocache: INTEGER_32
			-- There is no cache to operate on

	e_noconnection: INTEGER_32
			-- There is no connection for this connection ID

	e_nointerface: INTEGER_32
			-- No such interface supported

	e_nostorage: INTEGER_32
			-- Not able to perform the operation because object is not given storage yet

	e_not_inplaceactive: INTEGER_32
			-- Object is not in any of the inplace active states

	e_notimpl: INTEGER_32
			-- Not implemented

	e_notrunning: INTEGER_32
			-- Need to run the object to perform this operation

	e_oleverb: INTEGER_32
			--Invalid OLEVERB structure

	e_outofmemory: INTEGER_32
			-- Ran out of memory

	e_pointer: INTEGER_32
			-- Invalid pointer

	e_promptsavecancelled: INTEGER_32
			--0x8004000B
			-- User cancelled out of save dialog

	e_static: INTEGER_32
			-- Object is static operation not allowed

	e_unexpected: INTEGER_32
			-- Unexpected failure

	e_wrongcompobj: INTEGER_32
			-- compobj.dll is too old for the ole2.dll initialized

	enum_e_first: INTEGER_32
			-- Enumerator related error

	enum_e_last: INTEGER_32
			-- Enumerator related error

	enum_s_first: INTEGER_32
			-- Enumerator related error

	enum_s_last: INTEGER_32
			-- Enumerator related error

	generating_type: STRING_8
			-- Name of current object's generating type
			-- (type of which it is a direct instance)
			-- (from ANY)

	generator: STRING_8
			-- Name of current object's generating class
			-- (base class of the type of which it is a direct instance)
			-- (from ANY)

	inplace_e_first: INTEGER_32
			-- Inplace activation related error

	inplace_e_last: INTEGER_32
			-- Inplace activation related error

	inplace_e_notoolspace: INTEGER_32
			--  Space for tools is not available

	inplace_e_notundoable: INTEGER_32
			--  Undo is not available

	inplace_s_first: INTEGER_32
			-- Inplace activation related error

	inplace_s_last: INTEGER_32
			-- Inplace activation related error

	inplace_s_truncated: INTEGER_32
			-- Message is too long some of it had to be truncated before displaying

	marshal_e_first: INTEGER_32
			-- Error code boundaries

	marshal_e_last: INTEGER_32
			-- Error code boundaries

	marshal_s_first: INTEGER_32
			-- Error code boundaries

	marshal_s_last: INTEGER_32
			-- Error code boundaries

	mem_e_invalid_link: INTEGER_32
			-- An allocation chain contained an invalid link pointer

	mem_e_invalid_root: INTEGER_32
			-- An invalid root block pointer was specified

	mem_e_invalid_size: INTEGER_32
			-- The requested allocation size was too large

	mk_e_cantopenfile: INTEGER_32
			-- Moniker cannot open file

	mk_e_connectmanually: INTEGER_32
			-- Moniker needs to be connected manually

	mk_e_enumeration_failed: INTEGER_32
			-- Moniker could not be enumerated

	mk_e_exceededdeadline: INTEGER_32
			-- Operation exceeded deadline

	mk_e_first: INTEGER_32
			-- Moniker related error

	mk_e_intermediateinterfacenotsupported: INTEGER_32
			-- Intermediate operation failed

	mk_e_invalidextension: INTEGER_32
			-- Bad extension for file

	mk_e_last: INTEGER_32
			-- Moniker related error

	mk_e_mustbotheruser: INTEGER_32
			-- User input required for operation to succeed

	mk_e_needgeneric: INTEGER_32
			-- Moniker needs to be generic

	mk_e_no_normalized: INTEGER_32
			-- Moniker path could not be normalized

	mk_e_noinverse: INTEGER_32
			-- Moniker class has no inverse

	mk_e_noobject: INTEGER_32
			-- No object for moniker

	mk_e_noprefix: INTEGER_32
			-- No common prefix

	mk_e_nostorage: INTEGER_32
			-- Moniker does not refer to storage

	mk_e_notbindable: INTEGER_32
			-- Moniker is not bindable

	mk_e_notbound: INTEGER_32
			-- Moniker is not bound

	mk_e_syntax: INTEGER_32
			-- Invalid syntax

	mk_e_unavailable: INTEGER_32
			-- Operation unavailable

	mk_s_first: INTEGER_32
			-- Moniker related error

	mk_s_him: INTEGER_32
			-- Common prefix is input moniker

	mk_s_last: INTEGER_32
			-- Moniker related error

	mk_s_me: INTEGER_32
			-- Common prefix is this moniker

	mk_s_monikeralreadyregistered: INTEGER_32
			-- Moniker is already registered in running object table

	mk_s_reduced_to_self: INTEGER_32
			-- Moniker reduced to itself

	mk_s_us: INTEGER_32
			-- Common prefix is both monikers

	noerror: INTEGER_32
			-- Success code

	ole_e_first: INTEGER_32
			-- Generic OLE error/success code

	ole_e_last: INTEGER_32
			-- Generic OLE error/success code

	ole_s_first: INTEGER_32
			-- Generic OLE error/success code

	ole_s_last: INTEGER_32
			-- Generic OLE error/success code

	ole_s_mac_clipformat: INTEGER_32
			-- Macintosh clipboard format

	ole_s_static: INTEGER_32
			-- Success, but static

	ole_s_usereg: INTEGER_32
			-- Use the registry database to provide the requested information

	oleobj_e_first: INTEGER_32
			-- Ole object error code

	oleobj_e_invalidverb: INTEGER_32
			--  Invalid verb for OLE object

	oleobj_e_last: INTEGER_32
			-- Ole object error code

	oleobj_e_noverbs: INTEGER_32
			--  No verbs for OLE object

	oleobj_s_cannot_doverb_now: INTEGER_32
			-- Verb number is valid but verb cannot be done now

	oleobj_s_first: INTEGER_32
			-- Ole object error code

	oleobj_s_invalidhwnd: INTEGER_32
			-- Invalid window handle passed

	oleobj_s_invalidverb: INTEGER_32
			-- Invalid verb for OLE object

	oleobj_s_last: INTEGER_32
			-- Ole object error code

	regdb_e_classnotreg: INTEGER_32
			--  Class not registered

	regdb_e_first: INTEGER_32
			-- Registry operations error code

	regdb_e_iidnotreg: INTEGER_32
			--  Interface not registered

	regdb_e_invalidvalue: INTEGER_32
			--  Invalid value for registry

	regdb_e_keymissing: INTEGER_32
			--  Could not find the key in the registry

	regdb_e_last: INTEGER_32
			-- Registry operations error code

	regdb_e_readregdb: INTEGER_32
			-- Could not read key from registry

	regdb_e_writeregdb: INTEGER_32
			-- Could not write key to registry

	regdb_s_first: INTEGER_32
			-- Registry operations error code

	regdb_s_last: INTEGER_32
			-- Registry operations error code

	rpc_e_attempted_multithread: INTEGER_32
			-- Attempted to make calls on more than one thread in single threaded mode.

	rpc_e_call_canceled: INTEGER_32
			-- Call was canceled by the message filter.

	rpc_e_call_rejected: INTEGER_32
			-- Remote procedure call errors
			-- Call was rejected by callee.

	rpc_e_cantcallout_again: INTEGER_32
			-- There is no second outgoing call on same channel in DDE conversation.

	rpc_e_cantcallout_inasynccall: INTEGER_32
			-- The caller is dispatching an asynchronous call and cannot
			-- make an outgoing call on behalf of this call.

	rpc_e_cantcallout_inexternalcall: INTEGER_32
			-- It is illegal to call out while inside message filter.

	rpc_e_cantcallout_ininputsynccall: INTEGER_32
			-- An outgoing call cannot be made since the application is dispatching an input-synchronous call.

	rpc_e_cantpost_insendcall: INTEGER_32
			-- The caller is dispatching an intertask SendMessage call and
			-- cannot call out via PostMessage.

	rpc_e_canttransmit_call: INTEGER_32
			-- The call was not transmitted properly the message queue
			-- was full and was not emptied after yielding.		

	rpc_e_changed_mode: INTEGER_32
			-- Cannot change thread mode after it is set.

	rpc_e_client_cantmarshal_data: INTEGER_32
			-- The client (caller) cannot marshall the parameter data - low memory, etc.

	rpc_e_client_cantunmarshal_data: INTEGER_32
			-- The client (caller) cannot unmarshall the return data - low memory, etc.

	rpc_e_client_died: INTEGER_32
			-- The caller (client) disappeared while the callee (server) was
			-- processing a call.

	rpc_e_connection_terminated: INTEGER_32
			-- The connection terminated or is in a bogus state
			-- and cannot be used any more. Other connections
			-- are still valid.

	rpc_e_disconnected: INTEGER_32
			-- The object invoked has disconnected from its clients.

	rpc_e_fault: INTEGER_32
			-- RPC could not call the server or could not return the results of calling the server.

	rpc_e_invalid_calldata: INTEGER_32
			-- A call control interfaces was called with invalid data.

	rpc_e_invalid_data: INTEGER_32
			-- Received data is invalid could be server or client data.

	rpc_e_invalid_datapacket: INTEGER_32
			-- The data packet with the marshalled parameter data is incorrect.

	rpc_e_invalid_parameter: INTEGER_32
			-- A particular parameter is invalid and cannot be (un)marshalled.

	rpc_e_invalidmethod: INTEGER_32
			-- The method called does not exist on the server.

	rpc_e_not_registered: INTEGER_32
			-- The requested interface is not registered on the server object.

	rpc_e_out_of_resources: INTEGER_32
			-- Could not allocate some required resource (memory, events, ...)

	rpc_e_retry: INTEGER_32
			-- The object invoked chose not to process the call now.  Try again later.

	rpc_e_server_cantmarshal_data: INTEGER_32
			-- The server (callee) cannot marshall the return data - low memory, etc.

	rpc_e_server_cantunmarshal_data: INTEGER_32
			-- The server (callee) cannot unmarshall the parameter data - low memory, etc.

	rpc_e_server_died: INTEGER_32
			-- The callee (server [not server application]) is not available
			-- and disappeared all connections are invalid.  The call may
			-- have executed.

	rpc_e_server_died_dne: INTEGER_32
			-- The callee (server [not server application]) is not available
			-- and disappeared all connections are invalid.  The call did not execute.

	rpc_e_servercall_rejected: INTEGER_32
			-- The message filter rejected the call.

	rpc_e_servercall_retrylater: INTEGER_32
			-- The message filter indicated that the application is busy.

	rpc_e_serverfault: INTEGER_32
			-- The server threw an exception.

	rpc_e_sys_call_failed: INTEGER_32
			-- System call failed.

	rpc_e_thread_not_init: INTEGER_32
			-- CoInitialize has not been called on the current thread.

	rpc_e_unexpected: INTEGER_32
			-- An internal error occurred.

	rpc_e_wrong_thread: INTEGER_32
			-- The application called an interface that was marshalled for a different thread.

	s_false: INTEGER_32
			-- Success code

	s_ok: INTEGER_32
			-- Success code

	stg_e_abnormalapiexit: INTEGER_32
			-- An API call exited abnormally.

	stg_e_accessdenied: INTEGER_32
			-- Access Denied.

	stg_e_cantsave: INTEGER_32
			-- Can't save.

	stg_e_diskiswriteprotected: INTEGER_32
			-- Disk is write-protected.

	stg_e_extantmarshallings: INTEGER_32
			-- Illegal operation called on object with extant marshallings.

	stg_e_filealreadyexists: INTEGER_32
			-- %1 already exists.

	stg_e_filenotfound: INTEGER_32
			--  %1 could not be found.

	stg_e_insufficientmemory: INTEGER_32
			-- There is insufficient memory available to complete operation.

	stg_e_inuse: INTEGER_32
			-- Attempted to use an object that is busy.

	stg_e_invalidflag: INTEGER_32
			-- Invalid flag error.

	stg_e_invalidfunction: INTEGER_32
			-- Storage related errors
			-- Unable to perform requested operation.

	stg_e_invalidhandle: INTEGER_32
			-- Attempted an operation on an invalid object.

	stg_e_invalidheader: INTEGER_32
			-- The file %1 is not a valid compound file.

	stg_e_invalidname: INTEGER_32
			-- The name %1 is not valid.

	stg_e_invalidparameter: INTEGER_32
			-- Invalid parameter error.

	stg_e_invalidpointer: INTEGER_32
			-- Invalid pointer error.

	stg_e_lockviolation: INTEGER_32
			-- A lock violation has occurred.

	stg_e_mediumfull: INTEGER_32
			-- There is insufficient disk space to complete operation.

	stg_e_nomorefiles: INTEGER_32
			-- There are no more entries to return.

	stg_e_notcurrent: INTEGER_32
			-- The storage has been changed since the last commit.

	stg_e_notfilebasedstorage: INTEGER_32
			-- Illegal operation called on non-file based storage.

	stg_e_olddll: INTEGER_32
			-- The compound file %1 was produced with a newer version of storage.

	stg_e_oldformat: INTEGER_32
			-- The compound file %1 was produced with an incompatible version of storage.

	stg_e_pathnotfound: INTEGER_32
			-- The path %1 could not be found.

	stg_e_readfault: INTEGER_32
			-- A disk error occurred during a read operation.

	stg_e_reverted: INTEGER_32
			-- Attempted to use an object that has ceased to exist.

	stg_e_seekerror: INTEGER_32
			-- An error occurred during a seek operation.

	stg_e_sharerequired: INTEGER_32
			-- Share.exe or equivalent is required for operation.

	stg_e_shareviolation: INTEGER_32
			-- A share violation has occurred.

	stg_e_toomanyopenfiles: INTEGER_32
			-- There are insufficient resources to open another file.

	stg_e_unimplementedfunction: INTEGER_32
			-- That function is not implemented.

	stg_e_unknown: INTEGER_32
			-- An unexpected error occurred.

	stg_e_writefault: INTEGER_32
			-- A disk error occurred during a write operation.

	stg_s_converted: INTEGER_32
			-- The underlying file was converted to compound file format.

	type_e_ambiguousname: INTEGER_32
			-- Ambiguous name.

	type_e_badmodulekind: INTEGER_32
			-- Wrong module kind for the operation.

	type_e_buffertoosmall: INTEGER_32
			--  Buffer too small.

	type_e_cantcreatetmpfile: INTEGER_32
			-- Error creating unique tmp file.

	type_e_cantloadlibrary: INTEGER_32
			-- Error loading type library/DLL.

	type_e_circulartype: INTEGER_32
			-- Circular dependency between types/modules.

	type_e_dllfunctionnotfound: INTEGER_32
			-- Function not defined in specified DLL.

	type_e_duplicateid: INTEGER_32
			-- Duplicate ID in inheritance hierarchy.

	type_e_elementnotfound: INTEGER_32
			-- Element not found.

	type_e_inconsistentpropfuncs: INTEGER_32
			-- Inconsistent property functions.

	type_e_invalidid: INTEGER_32
			-- Incorrect inheritance depth in standard OLE hmember.

	type_e_invalidstate: INTEGER_32
			-- Invalid forward reference, or reference to uncompiled type.

	type_e_invdataread: INTEGER_32
			-- Old format or invalid type library.

	type_e_ioerror: INTEGER_32
			-- I/O Error.

	type_e_libnotregistered: INTEGER_32
			-- Library not registered.

	type_e_nameconflict: INTEGER_32
			-- Name already exists in the library.

	type_e_outofbounds: INTEGER_32
			-- Invalid number of arguments.

	type_e_qualifiednamedisallowed: INTEGER_32
			-- Qualified name disallowed.

	type_e_registryaccess: INTEGER_32
			-- Error accessing the OLE registry.

	type_e_sizetoobig: INTEGER_32
			-- Size may not exceed 64K.

	type_e_typemismatch: INTEGER_32
			-- Type mismatch.

	type_e_undefinedtype: INTEGER_32
			-- Bound to unknown type.

	type_e_unknownlcid: INTEGER_32
			-- Unknown LCID.

	type_e_unsupformat: INTEGER_32
			-- Old format or invalid type library.

	type_e_wrongtypekind: INTEGER_32
			-- Type mismatch.

	view_e_draw: INTEGER_32
			-- Error drawing view

	view_e_first: INTEGER_32
			-- Error code boundaries

	view_e_last: INTEGER_32
			-- Error code boundaries

	view_s_already_frozen: INTEGER_32
			-- View is already frozen

	view_s_first: INTEGER_32
			-- Error code boundaries

	view_s_last: INTEGER_32
			-- Error code boundaries
	
feature -- Comparison

	frozen deep_equal (some: ANY; other: like arg #1): BOOLEAN
			-- Are `some' and `other' either both void
			-- or attached to isomorphic object structures?
			-- (from ANY)
		ensure -- from ANY
			shallow_implies_deep: standard_equal (some, other) implies Result
			both_or_none_void: (some = Void) implies (Result = (other = Void))
			same_type: (Result and (some /= Void)) implies some.same_type (other)
			symmetric: Result implies deep_equal (other, some)

	frozen equal (some: ANY; other: like arg #1): BOOLEAN
			-- Are `some' and `other' either both void or attached
			-- to objects considered equal?
			-- (from ANY)
		ensure -- from ANY
			definition: Result = (some = Void and other = Void) or else ((some /= Void and other /= Void) and then some.is_equal (other))

	is_equal (other: like Current): BOOLEAN
			-- Is `other' attached to an object considered
			-- equal to current object?
			-- (from ANY)
		require -- from ANY
			other_not_void: other /= Void
		ensure -- from ANY
			symmetric: Result implies other.is_equal (Current)
			consistent: standard_is_equal (other) implies Result

	frozen standard_equal (some: ANY; other: like arg #1): BOOLEAN
			-- Are `some' and `other' either both void or attached to
			-- field-by-field identical objects of the same type?
			-- Always uses default object comparison criterion.
			-- (from ANY)
		ensure -- from ANY
			definition: Result = (some = Void and other = Void) or else ((some /= Void and other /= Void) and then some.standard_is_equal (other))

	frozen standard_is_equal (other: like Current): BOOLEAN
			-- Is `other' attached to an object of the same type
			-- as current object, and field-by-field identical to it?
			-- (from ANY)
		require -- from ANY
			other_not_void: other /= Void
		ensure -- from ANY
			same_type: Result implies same_type (other)
			symmetric: Result implies other.standard_is_equal (Current)
	
feature -- Status report

	conforms_to (other: ANY): BOOLEAN
			-- Does type of current object conform to type
			-- of `other' (as per Eiffel: The Language, chapter 13)?
			-- (from ANY)
		require -- from ANY
			other_not_void: other /= Void

	same_type (other: ANY): BOOLEAN
			-- Is type of current object identical to type of `other'?
			-- (from ANY)
		require -- from ANY
			other_not_void: other /= Void
		ensure -- from ANY
			definition: Result = (conforms_to (other) and other.conforms_to (Current))
	
feature -- Duplication

	copy (other: like Current)
			-- Update current object using fields of object attached
			-- to `other', so as to yield equal objects.
			-- (from ANY)
		require -- from ANY
			other_not_void: other /= Void
			type_identity: same_type (other)
		ensure -- from ANY
			is_equal: is_equal (other)

	frozen deep_copy (other: like Current)
			-- Effect equivalent to that of:
			--		copy (`other' . deep_twin)
			-- (from ANY)
		require -- from ANY
			other_not_void: other /= Void
		ensure -- from ANY
			deep_equal: deep_equal (Current, other)

	frozen deep_twin: like Current
			-- New object structure recursively duplicated from Current.
			-- (from ANY)
		ensure -- from ANY
			deep_equal: deep_equal (Current, Result)

	frozen standard_copy (other: like Current)
			-- Copy every field of `other' onto corresponding field
			-- of current object.
			-- (from ANY)
		require -- from ANY
			other_not_void: other /= Void
			type_identity: same_type (other)
		ensure -- from ANY
			is_standard_equal: standard_is_equal (other)

	frozen standard_twin: like Current
			-- New object field-by-field identical to `other'.
			-- Always uses default copying semantics.
			-- (from ANY)
		ensure -- from ANY
			standard_twin_not_void: Result /= Void
			equal: standard_equal (Result, Current)

	frozen twin: like Current
			-- New object equal to `Current'
			-- twin calls copy; to change copying/twining semantics, redefine copy.
			-- (from ANY)
		ensure -- from ANY
			twin_not_void: Result /= Void
			is_equal: Result.is_equal (Current)
	
feature -- Basic operations

	frozen default: like Current
			-- Default value of object's type
			-- (from ANY)

	frozen default_pointer: POINTER
			-- Default value of type `POINTER'
			-- (Avoid the need to write `p'.default for
			-- some `p' of type `POINTER'.)
			-- (from ANY)

	default_rescue
			-- Process exception for routines with no Rescue clause.
			-- (Default: do nothing.)
			-- (from ANY)

	frozen do_nothing
			-- Execute a null action.
			-- (from ANY)
	
feature -- Output

	io: STD_FILES
			-- Handle to standard file setup
			-- (from ANY)

	out: STRING_8
			-- New string containing terse printable representation
			-- of current object
			-- Was declared in ANY as synonym of tagged_out.
			-- (from ANY)

	print (some: ANY)
			-- Write terse external representation of `some'
			-- on standard output.
			-- (from ANY)

	frozen tagged_out: STRING_8
			-- New string containing terse printable representation
			-- of current object
			-- Was declared in ANY as synonym of out.
			-- (from ANY)
	
feature -- Platform

	operating_environment: OPERATING_ENVIRONMENT
			-- Objects available from the operating system
			-- (from ANY)
	
invariant
		-- from ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)

indexing
	copyright: "Copyright (c) 1984-2006, Eiffel Software and others"
	license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
	source: "[
		Eiffel Software
		356 Storke Road, Goleta, CA 93117 USA
		Telephone 805-685-1006, Fax 805-685-6869
		Website http://www.eiffel.com
		Customer support http://support.eiffel.com
	]"

end -- class ECOM_EXCEPTION_CODES