    class
    	ECOM_STORAGE

    General
    	cluster: interfaces
    	description: "implementation of IStorage interface"
    	create: make_temporary_doc_file, make_open_file, make_from_pointer, make_new_doc_file, make_from_other

    Ancestors
    	ECOM_QUERIABLE*
    	ECOM_STAT_FLAGS
    	ECOM_STGC
    	ECOM_STGM
    	ECOM_STGMOVE
    	ECOM_STORAGE_ROUTINES

    Queries
    	access_time: WEL_FILE_TIME
    	class_id: POINTER
    	creation_time: WEL_FILE_TIME
    	element_access_time (a_name: STRING_8): WEL_FILE_TIME
    	element_creation_time (a_name: STRING_8): WEL_FILE_TIME
    	element_modification_time (a_name: STRING_8): WEL_FILE_TIME
    	elements: ECOM_ENUM_STATSTG
    	exists: BOOLEAN
    	Guid_routines: ECOM_GUID_ROUTINES
    	is_compound_file (a_name: STRING_8): BOOLEAN
    	is_same_name (a_name: STRING_8): BOOLEAN
    	is_valid_name (a_name: STRING_8): BOOLEAN
    	is_valid_stat_flag (flag: INTEGER_32): BOOLEAN
    	is_valid_stgc (stgc: INTEGER_32): BOOLEAN
    	is_valid_stgm (stgm: INTEGER_32): BOOLEAN
    	is_valid_stgmove (stgmove: INTEGER_32): BOOLEAN
    	item: POINTER
    	mode: INTEGER_32
    	modification_time: WEL_FILE_TIME
    	name: STRING_8
    	new_stream (a_name: STRING_8; a_mode: INTEGER_32): ECOM_STREAM
    	new_substorage (a_name: STRING_8; a_mode: INTEGER_32): ECOM_STORAGE
    	retrieved_stream (a_name: STRING_8; a_mode: INTEGER_32): ECOM_STREAM
    	retrieved_substorage (a_name: STRING_8; a_mode: INTEGER_32): ECOM_STORAGE
    	root_storage: ECOM_ROOT_STORAGE
    	statflag_default: INTEGER_32
    	statflag_noname: INTEGER_32
    	stgc_dangerouslycommitmerelytodiskcache: INTEGER_32
    	stgc_default: INTEGER_32
    	stgc_onlyifcurrent: INTEGER_32
    	stgc_overwrite: INTEGER_32
    	stgm_convert: INTEGER_32
    	stgm_create: INTEGER_32
    	stgm_deleteonrelease: INTEGER_32
    	stgm_direct: INTEGER_32
    	stgm_failifthere: INTEGER_32
    	stgm_priority: INTEGER_32
    	stgm_read: INTEGER_32
    	stgm_readwrite: INTEGER_32
    	stgm_share_deny_none: INTEGER_32
    	stgm_share_deny_read: INTEGER_32
    	stgm_share_deny_write: INTEGER_32
    	stgm_share_exclusive: INTEGER_32
    	stgm_transacted: INTEGER_32
    	stgm_write: INTEGER_32
    	stgmove_copy: INTEGER_32
    	stgmove_move: INTEGER_32

    Commands
    	commit (a_flags: INTEGER_32)
    	copy_all_to (dest_storage: ECOM_STORAGE)
    	destroy_element (a_name: STRING_8)
    	move_element_to (a_element_name: STRING_8; dest_storage: ECOM_STORAGE; new_name: STRING_8; a_mode: INTEGER_32)
    	rename_element (old_name, new_name: STRING_8)
    	revert
    	set_access_time (an_access_time: WEL_FILE_TIME)
    	set_class (a_class_id: POINTER)
    	set_creation_time (a_creation_time: WEL_FILE_TIME)
    	set_element_access_time (a_element_name: STRING_8; an_access_time: WEL_FILE_TIME)
    	set_element_creation_time (a_element_name: STRING_8; a_creation_time: WEL_FILE_TIME)
    	set_element_modification_time (a_element_name: STRING_8; a_modification_time: WEL_FILE_TIME)
    	set_modification_time (a_modification_time: WEL_FILE_TIME)