    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