
Title: Eco.FileSystemManagement1 Software Component Specification
USPD: US.ECO.00014-01 90
Component Name: Eco.FileSystemManagement1
Short Description (max 300 char.): implements file operations in an operating system
Component Use Category: MULTIPURPOSE
Component Type: SYSTEM
CID: 00000000000000000000000046534D31
Marketplace URL: https://ecoos.dev/product/e71f846d-89dc-425f-b3f8-e1884a84b77a
Status: Draft
Modified Date: October 19th, 2025
Version: 1.0
Tags: File, Folder, Directory, File system, File Explorer
| Authors | Company |
|---|---|
| Vladimir Bashev | PEERF |
Table of Contents
2. Eco.FileSystemManagement1 Component
3. IEcoFileSystemManagement1 Interface
3.1. IEcoFileSystemManagement1 interface IDL descriptor
3.1.1. get_FileManager function
3.1.2. get_DirectoryManager function
3.1.3. get_DriveManager function
4.1. IEcoFileInfo1 interface IDL descriptor
5.1. IEcoFileManager1 interface IDL descriptor
6. IEcoDirectoryInfo1 Interface
6.1. IEcoDirectoryInfo1 interface IDL descriptor
7. IEcoDirectoryManager1 Interface
7.1. IEcoDirectoryManager1 interface IDL descriptor
8.1. IEcoDriveInfo1 interface IDL descriptor
9. IEcoDriveManager1 Interface
10.1. IEcoFile1 interface IDL descriptor
10.1.9. get_Descriptor function
Appendix A: Sample code and Training programs
1. Overview
This document describes the requirements for the implementation of Eco.FileSystemManagement1 component. (Component)
1.1. Introduction
Description.
1.2. Notes
- Keywords
1.3. Links
This paragraph contains links to information to help you understand this document:
Available in Marketplace at url: https://ecoos.dev/product/e71f846d-89dc-425f-b3f8-e1884a84b77a
2. Eco.FileSystemManagement1 Component
The Eco.FileSystemManagement1 component is designated for OS file system operations
The component has the following features: TBA
3. IEcoFileSystemManagement1 Interface
3.1. IEcoFileSystemManagement1 interface IDL descriptor
import "IEcoBase1.idl"
import "IEcoFileManager1.idl"
import "IEcoDirectoryManager1.idl"
import "IEcoDriveManager1.idl"
[
object,
uguid(00000000-0000-0000-0000-C00000000101),
]
interface IEcoFileSystemManagement1 : IEcoUnknown {
IEcoFileManager1* get_FileManager ([in] void);
IEcoDirectoryManager1* get_DirectoryManager ([in] void);
IEcoDriveManager1* get_DriveManager ([in] void);
}3.1.1. get_FileManager function
The function
3.1.2. get_DirectoryManager function
The function
3.1.3. get_DriveManager function
The function
4. IEcoFileInfo1 Interface
4.1. IEcoFileInfo1 interface IDL descriptor
import "IEcoBase1.idl"
[
object,
uguid(00000000-0000-0000-0000-C00000000103),
]
interface IEcoFileInfo1 : IEcoUnknown {
UGUID* get_Id ([in] void);
}4.1.1. get_Id function
The function
5. IEcoFileManager1 Interface
5.1. IEcoFileManager1 interface IDL descriptor
import "IEcoBase1.idl"
import "IEcoFile1.idl"
[
object,
uguid(00000000-0000-0000-0000-C00000000102),
]
interface IEcoFileManager1 : IEcoUnknown {
IEcoFile1* Create ([in] chart* pszName);
IEcoFile1* Open ([in] chart* pszName);
int32_t Close ([in] IEcoFile1* pIFile);
}5.1.1. Create function
The function
5.1.2. Open function
The function
5.1.3. Close function
The function
6. IEcoDirectoryInfo1 Interface
6.1. IEcoDirectoryInfo1 interface IDL descriptor
import "IEcoBase1.idl"
[
object,
uguid(00000000-0000-0000-0000-C00000000108),
]
interface IEcoDirectoryInfo1 : IEcoUnknown {
UGUID* get_Id ([in] void);
}6.1.1. get_Id function
The function
7. IEcoDirectoryManager1 Interface
7.1. IEcoDirectoryManager1 interface IDL descriptor
import "IEcoBase1.idl"
import "IEcoDirectoryInfo1.idl"
[
object,
uguid(00000000-0000-0000-0000-C00000000107),
]
interface IEcoDirectoryManager1 : IEcoUnknown {
IEcoDirectoryInfo1* Create ([in] chart_t* pszName);
int32_t Delete ([in] chart_t* pszName);
}7.1.1. Create function
The function
7.1.2. Delete function
The function
8. IEcoDriveInfo1 Interface
8.1. IEcoDriveInfo1 interface IDL descriptor
import "IEcoBase1.idl"
[
object,
uguid(00000000-0000-0000-0000-C00000000106),
]
interface IEcoDriveInfo1 : IEcoUnknown {
UGUID* get_Id ([in] void);
}8.1.1. get_Id function
The function
9. IEcoDriveManager1 Interface
9.1. IEcoDriveManager1 IDL
import "IEcoBase1.idl"
import "IEcoDriveInfo1.idl"
[
object,
uguid(00000000-0000-0000-0000-C00000000105),
]
interface IEcoDriveManager1 : IEcoUnknown {
IEcoDriveInfo1* get_Drive ([in] char_t* pszName);
}9.1.1. get_Drive function
The function
10. IEcoFile1 Interface
10.1. IEcoFile1 interface IDL descriptor
import "IEcoBase1.idl"
import "IEcoFileInfo1.idl"
[
object,
uguid(00000000-0000-0000-0000-C00000000104),
]
interface IEcoFile1 : IEcoUnknown {
uint32_t get_Size ([in] void);
char_t* get_Name ([in] void);
IEcoFileInfo1* get_Info ([in] void);
uint32_t get_Pointer ([in] void);
void set_Pointer ([in] uint32_t value);
int16_t Read ([in] voidptr_t pv,
[in | out] uint32_t* pSize);
int16_t Write ([in] voidptr_t pv,
[in | out] uint32_t* pSize);
int16_t Close ([in] void);
descriptor_t get_Descriptor ([in] void);
}10.1.1. get_Size function
The function
10.1.2. get_Name function
The function
10.1.3. get_Info function
The function
10.1.4. get_Pointer function
The function
10.1.5. set_Pointer function
The function
10.1.6. Read function
The function
10.1.7. Write function
The function
10.1.8. Close function
The function
10.1.9. get_Descriptor function
The function
11. Error codes
The following table contains the error codes.
| Error code | Value | Description |
|---|---|---|
| ERR_ECO_SUCCESES | 0x0000 | Operation successful. |
| ERR_ECO_UNEXPECTED | 0xFFFF | Unexpected condition. |
| ERR_ECO_POINTER | 0xFFEE | NULL was passed incorrectly for a pointer value. |
| ERR_ECO_NOINTERFACE | 0xFFED | No such interface supported. |
| ERR_ECO_COMPONENT_NOTFOUND | 0xFFE9 | The component was not found. |

