Subversion Repositories Kolibri OS

Rev

Rev 589 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 589 Rev 631
1
« £¨­ ¯à¥¤áâ ¢«ï¥â ᮡ®© áâ ­¤ àâ­ãî ¤«ï Š®«¨¡à¨ ¤¨­ ¬¨ç¥áªãî ¡¨¡«¨®â¥ªã (ä®à¬ â  COFF),
1
« £¨­ ¯à¥¤áâ ¢«ï¥â ᮡ®© áâ ­¤ àâ­ãî ¤«ï Š®«¨¡à¨ ¤¨­ ¬¨ç¥áªãî ¡¨¡«¨®â¥ªã (ä®à¬ â  COFF),
2
íªá¯®àâ¨àãîéãî á«¥¤ãî騥 ä㭪樨 ¨ ¯¥à¥¬¥­­ë¥ (­¥ª®â®àë¥ ä㭪樨 ¬®£ãâ ®âáãâá⢮¢ âì).
2
íªá¯®àâ¨àãîéãî á«¥¤ãî騥 ä㭪樨 ¨ ¯¥à¥¬¥­­ë¥ (­¥ª®â®àë¥ ä㭪樨 ¬®£ãâ ®âáãâá⢮¢ âì).
3
”㭪樨 ¬®£ãâ à §àãè âì «î¡ë¥ ॣ¨áâàë. kfar £ à ­â¨àã¥â á¡à®è¥­­ë© ä« £ ­ ¯à ¢«¥­¨ï DF
3
”㭪樨 ¬®£ãâ à §àãè âì «î¡ë¥ ॣ¨áâàë. kfar £ à ­â¨àã¥â á¡à®è¥­­ë© ä« £ ­ ¯à ¢«¥­¨ï DF
4
¯à¨ ¢ë§®¢¥ íªá¯®àâ¨à㥬ëå ä㭪権 ¨ ®¦¨¤ ¥â ⮣® ¦¥ ¤«ï callback-ä㭪権.
4
¯à¨ ¢ë§®¢¥ íªá¯®àâ¨à㥬ëå ä㭪権 ¨ ®¦¨¤ ¥â ⮣® ¦¥ ¤«ï callback-ä㭪権.
5
 
5
 
6
int version;
6
int version;
7
‚¥àá¨ï ¨­â¥àä¥©á  kfar, ­  ª®â®àãî à ááç¨â ­ ¯« £¨­. ‘¥©ç á ¤®«¦­  ¡ëâì 1.
7
‚¥àá¨ï ¨­â¥àä¥©á  kfar, ­  ª®â®àãî à ááç¨â ­ ¯« £¨­. ‘¥©ç á ¤®«¦­  ¡ëâì 2.
8
 
8
 
9
int __stdcall plugin_load(kfar_info* info);
9
int __stdcall plugin_load(kfar_info* info);
10
‚ë§ë¢ ¥âáï ¯à¨ § £à㧪¥ ¯« £¨­ .
10
‚ë§ë¢ ¥âáï ¯à¨ § £à㧪¥ ¯« £¨­ .
11
typedef struct
11
typedef struct
12
{
12
{
13
        int StructSize; // = sizeof(kfar_info)
13
        int StructSize; // = sizeof(kfar_info)
14
        int kfar_ver;   // 10000h*major + minor
14
        int kfar_ver;   // 10000h*major + minor
15
/* ‚ᥠcallback-ä㭪樨 á®åà ­ïî⠢ᥠॣ¨áâàë, §  ¨áª«î祭¨¥¬ eax. */
15
/* ‚ᥠcallback-ä㭪樨 á®åà ­ïî⠢ᥠॣ¨áâàë, §  ¨áª«î祭¨¥¬ eax. */
16
/* ”㭪樨 à ¡®âë á ä ©« ¬¨: */
16
/* ”㭪樨 à ¡®âë á ä ©« ¬¨: */
17
        void* open;     // HANDLE __stdcall open(const char* name, int mode);
17
        void* open;     // HANDLE __stdcall open(const char* name, int mode);
18
                        // mode - ª®¬¡¨­ æ¨ï ¡¨â®¢ëå ä« £®¢
18
                        // mode - ª®¬¡¨­ æ¨ï ¡¨â®¢ëå ä« £®¢
19
                        // O_READ = 1 - ¤®áâ㯠¤«ï ç⥭¨ï
19
                        // O_READ = 1 - ¤®áâ㯠¤«ï ç⥭¨ï
20
                        // O_WRITE = 2 - ¤®áâ㯠¤«ï § ¯¨á¨
20
                        // O_WRITE = 2 - ¤®áâ㯠¤«ï § ¯¨á¨
21
                        // O_CREATE = 4 - ¥á«¨ ä ©« ­¥ áãé¥áâ¢ã¥â, ᮧ¤ âì ¥£®
21
                        // O_CREATE = 4 - ¥á«¨ ä ©« ­¥ áãé¥áâ¢ã¥â, ᮧ¤ âì ¥£®
22
                        // O_TRUNCATE = 8 - ãá¥çì ä ©« ¤® ­ã«¥¢®© ¤«¨­ë
22
                        // O_TRUNCATE = 8 - ãá¥çì ä ©« ¤® ­ã«¥¢®© ¤«¨­ë
-
 
23
        void* open2;    // HANDLE __stdcall open2(int plugin_id, HANDLE plugin_instance,
-
 
24
                        //                      const char* name, int mode);
-
 
25
                        //  ­ «®£¨ç­® open, ­® ®âªà뢠¥â ä ©« á ¯ ­¥«¨ ¯« £¨­ 
-
 
26
                        // open2(0,,name,mode) = open(name,mode)
23
        void* read;     // unsigned __stdcall read(HANDLE hFile, void* buf, unsigned size);
27
        void* read;     // unsigned __stdcall read(HANDLE hFile, void* buf, unsigned size);
24
        void* write;    // ¥éñ ­¥ ॠ«¨§®¢ ­®
28
        void* write;    // ¥éñ ­¥ ॠ«¨§®¢ ­®
25
        void* seek;     // void __stdcall seek(HANDLE hFile, int method, __int64 newpos);
29
        void* seek;     // void __stdcall seek(HANDLE hFile, int method, __int64 newpos);
-
 
30
        void* tell;     // __int64 __stdcall tell(HANDLE hFile);
26
        void* flush;    // ¥éñ ­¥ ॠ«¨§®¢ ­®
31
        void* flush;    // ¥éñ ­¥ ॠ«¨§®¢ ­®
27
        void* filesize; // __int64 __stdcall filesize(HANDLE hFile);
32
        void* filesize; // __int64 __stdcall filesize(HANDLE hFile);
28
        void* close;    // void __stdcall close(HANDLE hFile);
33
        void* close;    // void __stdcall close(HANDLE hFile);
29
/* ”㭪樨 à ¡®âë á ¯ ¬ïâìî (¯®áâà ­¨ç­®): */
34
/* ”㭪樨 à ¡®âë á ¯ ¬ïâìî (¯®áâà ­¨ç­®): */
30
        void* pgalloc;  // in: ecx=size, out: eax=pointer or NULL
35
        void* pgalloc;  // in: ecx=size, out: eax=pointer or NULL
31
                        // ¯à¨ ­¥å¢ âª¥ ¯ ¬ï⨠ᮮ¡é ¥â ¯®«ì§®¢ â¥«î ¨ ¢®§¢à é ¥â NULL
36
                        // ¯à¨ ­¥å¢ âª¥ ¯ ¬ï⨠ᮮ¡é ¥â ¯®«ì§®¢ â¥«î ¨ ¢®§¢à é ¥â NULL
32
        void* pgrealloc; // in: edx=pointer, ecx=new size, out: eax=pointer or NULL
37
        void* pgrealloc; // in: edx=pointer, ecx=new size, out: eax=pointer or NULL
33
                        // ¯à¨ ­¥å¢ âª¥ ¯ ¬ï⨠ᮮ¡é ¥â ¯®«ì§®¢ â¥«î ¨ ¢®§¢à é ¥â NULL
38
                        // ¯à¨ ­¥å¢ âª¥ ¯ ¬ï⨠ᮮ¡é ¥â ¯®«ì§®¢ â¥«î ¨ ¢®§¢à é ¥â NULL
34
        void* pgfree;   // in: ecx=pointer
39
        void* pgfree;   // in: ecx=pointer
35
        void* getfreemem;       // unsigned __stdcall getfreemem(void);
40
        void* getfreemem;       // unsigned __stdcall getfreemem(void);
36
                                // ¢®§¢à é ¥â à §¬¥à ᢮¡®¤­®© ®¯¥à â¨¢­®© ¯ ¬ï⨠¢ Š¡
41
                                // ¢®§¢à é ¥â à §¬¥à ᢮¡®¤­®© ®¯¥à â¨¢­®© ¯ ¬ï⨠¢ Š¡
37
        void* pgalloc2;         // void* __stdcall pgalloc2(unsigned size);
42
        void* pgalloc2;         // void* __stdcall pgalloc2(unsigned size);
38
        void* pgrealloc2;       // void* __stdcall pgrealloc2(void* pointer, unsigned size);
43
        void* pgrealloc2;       // void* __stdcall pgrealloc2(void* pointer, unsigned size);
39
        void* pgfree2;          // void __stdcall pgfree2(void* pointer);
44
        void* pgfree2;          // void __stdcall pgfree2(void* pointer);
40
/* ”㭪樨 à ¡®âë á ¤¨ «®£ ¬¨: */
45
/* ”㭪樨 à ¡®âë á ¤¨ «®£ ¬¨: */
41
        void* menu;     // int __stdcall menu(void* variants, const char* title, unsigned flags);
46
        void* menu;     // int __stdcall menu(void* variants, const char* title, unsigned flags);
42
                        // variants 㪠§ë¢ ¥â ­  ⥪ã騩 í«¥¬¥­â ¢ ¤¢ãá¢ï§­®¬ ᯨ᪥
47
                        // variants 㪠§ë¢ ¥â ­  ⥪ã騩 í«¥¬¥­â ¢ ¤¢ãá¢ï§­®¬ ᯨ᪥
43
        void* menu_centered_in; // int __stdcall menu_centered_in(unsigned left, unsigned top,
48
        void* menu_centered_in; // int __stdcall menu_centered_in(unsigned left, unsigned top,
44
                                // unsigned width, unsigned height,
49
                                // unsigned width, unsigned height,
45
                                // void* variants, const char* title, unsigned flags);
50
                                // void* variants, const char* title, unsigned flags);
46
        void* DialogBox;        // int __stdcall DialogBox(DLGDATA* dlg);
51
        void* DialogBox;        // int __stdcall DialogBox(DLGDATA* dlg);
47
        void* SayErr;           // int __stdcall SayErr(int num_strings, const char** strings,
52
        void* SayErr;           // int __stdcall SayErr(int num_strings, const char** strings,
48
                                //                      int num_buttons, const char** buttons);
53
                                //                      int num_buttons, const char** buttons);
49
        void* Message;          // int __stdcall Message(const char* title,
54
        void* Message;          // int __stdcall Message(const char* title,
50
                                //                      int num_strings, const char** strings,
55
                                //                      int num_strings, const char** strings,
51
                                //                      int num_buttons, const char** buttons);
56
                                //                      int num_buttons, const char** buttons);
52
                                // may be x=-1 and/or y=-1
57
                                // may be x=-1 and/or y=-1
53
        struct {unsigned width;unsigned height;}* cur_console_size;
58
        struct {unsigned width;unsigned height;}* cur_console_size;
54
} kfar_info;
59
} kfar_info;
55
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
60
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
56
0 = ãá¯¥è­ ï ¨­¨æ¨ «¨§ æ¨ï
61
0 = ãá¯¥è­ ï ¨­¨æ¨ «¨§ æ¨ï
57
1 = ®è¨¡ª  ¨­¨æ¨ «¨§ æ¨¨ (kfar ¢ë¤ áâ á®®¡é¥­¨¥ ¯®«ì§®¢ â¥«î)
62
1 = ®è¨¡ª  ¨­¨æ¨ «¨§ æ¨¨ (kfar ¢ë¤ áâ á®®¡é¥­¨¥ ¯®«ì§®¢ â¥«î)
58
2 = ®è¨¡ª  ¨­¨æ¨ «¨§ æ¨¨ (kfar ¯à®¤®«¦¨â ¡¥§ á®®¡é¥­¨©)
63
2 = ®è¨¡ª  ¨­¨æ¨ «¨§ æ¨¨ (kfar ¯à®¤®«¦¨â ¡¥§ á®®¡é¥­¨©)
59
 
64
 
60
void __stdcall plugin_unload(void);
65
void __stdcall plugin_unload(void);
61
‚ë§ë¢ ¥âáï ¯à¨ ¢ë£à㧪¥ ¯« £¨­  (¢ ¯à®æ¥áᥠ§ ¢¥à襭¨ï à ¡®âë kfar).
66
‚ë§ë¢ ¥âáï ¯à¨ ¢ë£à㧪¥ ¯« £¨­  (¢ ¯à®æ¥áᥠ§ ¢¥à襭¨ï à ¡®âë kfar).
62
 
67
 
63
HANDLE __stdcall OpenFilePlugin(HANDLE basefile, const char* name,
68
HANDLE __stdcall OpenFilePlugin(HANDLE basefile,
-
 
69
        const void* attr, const void* data, int datasize,
64
        const void* attr, const void* data, int datasize);
70
        int baseplugin_id, HANDLE baseplugin_instance, const char* name);
-
 
71
Žâªà뢠¥â ¯« £¨­, í¬ã«¨àãî騩 ä ©«®¢ãî á¨á⥬㠭  ¡ §¥ ä ©«  (­ ¯à¨¬¥à,  à娢 ).
65
Žâªà뢠¥â ¯« £¨­, í¬ã«¨àãî騩 ä ©«®¢ãî á¨á⥬㠭  ¡ §¥ ä ©«  (­ ¯à¨¬¥à,  à娢 ).
72
 
66
basefile - åí­¤« ä ©«  (ª ª®â®à®¬ã ¯à¨¬¥­¨¬ë ä㭪樨 read ¨ seek ¨§ kfar_info)
-
 
67
name - ¨¬ï ä ©«  (¢® ¢à¥¬¥­­®¬ ¡ãä¥à¥)
73
basefile - åí­¤« ä ©«  (ª ª®â®à®¬ã ¯à¨¬¥­¨¬ë ä㭪樨 read ¨ seek ¨§ kfar_info)
68
attr - 㪠§ â¥«ì ­  áâàãªâãàã á  âਡãâ ¬¨ ä ©«  ¢ ä®à¬ â¥ á¨á⥬­®© ä㭪樨 70.1
74
attr - 㪠§ â¥«ì ­  áâàãªâãàã á  âਡãâ ¬¨ ä ©«  ¢ ä®à¬ â¥ á¨á⥬­®© ä㭪樨 70.1
69
data - ¡ãä¥à, ᮤ¥à¦ é¨© ¤ ­­ë¥ ¨§ ­ ç «  ä ©«  (¬®¦¥â ¨á¯®«ì§®¢ âìáï ¤«ï ®¯à¥¤¥«¥­¨ï ⨯  ä ©« )
75
data - ¡ãä¥à, ᮤ¥à¦ é¨© ¤ ­­ë¥ ¨§ ­ ç «  ä ©«  (¬®¦¥â ¨á¯®«ì§®¢ âìáï ¤«ï ®¯à¥¤¥«¥­¨ï ⨯  ä ©« )
70
datasize - à §¬¥à ¤ ­­ëå ¢ data. ‚ ⥪ã饩 ॠ«¨§ æ¨¨ min(1024,à §¬¥à ä ©« )
76
datasize - à §¬¥à ¤ ­­ëå ¢ data. ‚ ⥪ã饩 ॠ«¨§ æ¨¨ min(1024,à §¬¥à ä ©« )
-
 
77
baseplugin_id - ¨¤¥­â¨ä¨ª â®à ¯« £¨­ , ­  ¯ ­¥«¨ ª®â®à®£® à á¯®« £ ¥âáï ®âªà뢠¥¬ë© ä ©«;
-
 
78
                0 ¢ á«ãç ¥ ®¡ëç­ëå ¯ ­¥«¥©
-
 
79
baseplugin_instance - åí­¤«, ¢®§¢à éñ­­ë© ¨§ ä㭪樨 GetOpenPluginInfo ¯« £¨­ ,
-
 
80
                ®¯à¥¤¥«ï¥¬®£® ¯® baseplugin_id
-
 
81
name - ¨¬ï ä ©«  (¢® ¢à¥¬¥­­®¬ ¡ãä¥à¥) (¯®«­®¥ ¨¬ï ®â­®á¨â¥«ì­® baseplugin)
-
 
82
 
71
…᫨ ¯« £¨­ ®¡à ¡ â뢠¥â ¯¥à¥¤ ­­ë© ä ©«, â® ®­ ¤®«¦¥­ ¢¥à­ãâì ­®¢ë© ®¯¨á â¥«ì,
83
…᫨ ¯« £¨­ ®¡à ¡ â뢠¥â ¯¥à¥¤ ­­ë© ä ©«, â® ®­ ¤®«¦¥­ ¢¥à­ãâì ­®¢ë© ®¯¨á â¥«ì,
72
ª®â®àë© ¢ ¤ «ì­¥©è¥¬ ¡ã¤¥â ¨á¯®«ì§®¢ âì kfar ¤«ï ®¡à é¥­¨ï ª ¯« £¨­ã. ‚ í⮬ á«ãç ¥
84
ª®â®àë© ¢ ¤ «ì­¥©è¥¬ ¡ã¤¥â ¨á¯®«ì§®¢ âì kfar ¤«ï ®¡à é¥­¨ï ª ¯« £¨­ã. ‚ í⮬ á«ãç ¥
73
¯« £¨­ ¤®«¦¥­ á ¬®áâ®ï⥫쭮 § ªàëâì basefile ä㭪樥© close ¨§ kfar_info (­ ¯à¨¬¥à,
85
¯« £¨­ ¤®«¦¥­ á ¬®áâ®ï⥫쭮 § ªàëâì basefile ä㭪樥© close ¨§ kfar_info (­ ¯à¨¬¥à,
74
¯à¨ § ªàë⨨ ®¯¨á â¥«ï ¯« £¨­  ¢ ClosePlugin ¨«¨ ­¥¯®á।á⢥­­® ¢ OpenFilePlugin,
86
¯à¨ § ªàë⨨ ®¯¨á â¥«ï ¯« £¨­  ¢ ClosePlugin ¨«¨ ­¥¯®á।á⢥­­® ¢ OpenFilePlugin,
75
¥á«¨ basefile ¢®®¡é¥ ¢¯®á«¥¤á⢨¨ ­¥ ­ã¦¥­).
87
¥á«¨ basefile ¢®®¡é¥ ¢¯®á«¥¤á⢨¨ ­¥ ­ã¦¥­).
76
…᫨ ¯« £¨­ ­¥ ®¡à ¡ â뢠¥â ¯¥à¥¤ ­­ë© ä ©«, ¤®«¦¥­ ¢®§¢à é âìáï 0.
88
…᫨ ¯« £¨­ ­¥ ®¡à ¡ â뢠¥â ¯¥à¥¤ ­­ë© ä ©«, ¤®«¦¥­ ¢®§¢à é âìáï 0.
77
…᫨ ®¯¥à æ¨ï ¯à¥à¢ ­  ¯®«ì§®¢ â¥«¥¬, ¤®«¦­® ¢®§¢à é âìáï §­ ç¥­¨¥ -1.
89
…᫨ ®¯¥à æ¨ï ¯à¥à¢ ­  ¯®«ì§®¢ â¥«¥¬, ¤®«¦­® ¢®§¢à é âìáï §­ ç¥­¨¥ -1.
78
 
90
 
79
void __stdcall ClosePlugin(HANDLE hPlugin);
91
void __stdcall ClosePlugin(HANDLE hPlugin);
80
‡ ªà뢠¥â ᮧ¤ ­­ë© ¢ OpenFilePlugin ®¯¨á â¥«ì.
92
‡ ªà뢠¥â ᮧ¤ ­­ë© ¢ OpenFilePlugin ®¯¨á â¥«ì.
81
 
93
 
82
void __stdcall GetOpenPluginInfo(HANDLE hPlugin, OpenPluginInfo* Info);
94
void __stdcall GetOpenPluginInfo(HANDLE hPlugin, OpenPluginInfo* Info);
83
®«ãç¨âì ¨­ä®à¬ æ¨î ®¡ ®âªàë⮬ íª§¥¬¯«ïॠ¯« £¨­ .
95
®«ãç¨âì ¨­ä®à¬ æ¨î ®¡ ®âªàë⮬ íª§¥¬¯«ïॠ¯« £¨­ .
84
typedef struct
96
typedef struct
85
{
97
{
86
        unsigned flags; // ¡¨â 0: ¤®¡ ¢«ïâì í«¥¬¥­â '..', ¥á«¨ ®­ ®âáãâáâ¢ã¥â
98
        unsigned flags; // ¡¨â 0: ¤®¡ ¢«ïâì í«¥¬¥­â '..', ¥á«¨ ®­ ®âáãâáâ¢ã¥â
87
                        // ¡¨â 1: ª®¯¨à®¢ ­¨¥ ®¡à ¡ â뢠¥âáï ä㭪樥© GetFiles
99
                        // ¡¨â 1: ª®¯¨à®¢ ­¨¥ ®¡à ¡ â뢠¥âáï ä㭪樥© GetFiles
88
} OpenPluginInfo;
100
} OpenPluginInfo;
89
 
101
 
90
void __stdcall GetPanelTitle(HANDLE hPlugin, char title[1024],
102
void __stdcall GetPanelTitle(HANDLE hPlugin, char title[1024],
91
        const char* host_file, const char* curdir);
103
        const char* host_file, const char* curdir);
92
®«ãç¨âì § £®«®¢®ª ¯ ­¥«¨ ¯« £¨­ .  à ¬¥âà host_file ᮢ¯ ¤ ¥â á ¨¬¥­¥¬ ä ©« , ¯¥à¥¤ ­­ë¬
104
®«ãç¨âì § £®«®¢®ª ¯ ­¥«¨ ¯« £¨­ .  à ¬¥âà host_file ᮢ¯ ¤ ¥â á ¨¬¥­¥¬ ä ©« , ¯¥à¥¤ ­­ë¬
93
¢ OpenFilePlugin.  à ¬¥âà curdir ᮢ¯ ¤ ¥â á ⥪ã饩 ¯ ¯ª®©, ãáâ ­ ¢«¨¢ ¥¬®© ¢ SetFolder.
105
¢ OpenFilePlugin.  à ¬¥âà curdir ᮢ¯ ¤ ¥â á ⥪ã饩 ¯ ¯ª®©, ãáâ ­ ¢«¨¢ ¥¬®© ¢ SetFolder.
94
 
106
 
95
int __stdcall ReadFolder(HANDLE hPlugin, unsigned dirinfo_start,
107
int __stdcall ReadFolder(HANDLE hPlugin, unsigned dirinfo_start,
96
        unsigned dirinfo_size, void* dirdata);
108
        unsigned dirinfo_size, void* dirdata);
97
—¨â ¥â ⥪ãéãî ¯ ¯ªã. hPlugin - ¢®§¢à éñ­­ë© ¨§ OpenFilePlugin ®¯¨á â¥«ì.
109
—¨â ¥â ⥪ãéãî ¯ ¯ªã. hPlugin - ¢®§¢à éñ­­ë© ¨§ OpenFilePlugin ®¯¨á â¥«ì.
98
dirinfo_start - á ª ª®£® ä ©«  ç¨â âì, dirinfo_size - ᪮«ìª® ä ©«®¢ ç¨â âì.
110
dirinfo_start - á ª ª®£® ä ©«  ç¨â âì, dirinfo_size - ᪮«ìª® ä ©«®¢ ç¨â âì.
99
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥ ¨ ¢®§¢à é ¥¬ë¥ ¢ dirdata ¤ ­­ë¥ ¤®«¦­ë ᮮ⢥âá⢮¢ âì ä㭪樨 70.1.
111
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥ ¨ ¢®§¢à é ¥¬ë¥ ¢ dirdata ¤ ­­ë¥ ¤®«¦­ë ᮮ⢥âá⢮¢ âì ä㭪樨 70.1.
100
 
112
 
101
bool __stdcall SetFolder(HANDLE hPlugin, const char* relative_path, const char* absolute_path);
113
bool __stdcall SetFolder(HANDLE hPlugin, const char* relative_path, const char* absolute_path);
102
“áâ ­®¢¨âì ⥪ãéãî ¯ ¯ªã. relative_path - ®â­®á¨â¥«ì­ë© ¯ãâì (".." ¨«¨ ¨¬ï ¯®¤¯ ¯ª¨),
114
“áâ ­®¢¨âì ⥪ãéãî ¯ ¯ªã. relative_path - ®â­®á¨â¥«ì­ë© ¯ãâì (".." ¨«¨ ¨¬ï ¯®¤¯ ¯ª¨),
103
absolute_path -  ¡á®«îâ­ë© ¯ãâì (¯ ¯ª  í¬ã«¨à㥬®© ¯« £¨­®¬ ä ©«®¢®© á¨á⥬ë).
115
absolute_path -  ¡á®«îâ­ë© ¯ãâì (¯ ¯ª  í¬ã«¨à㥬®© ¯« £¨­®¬ ä ©«®¢®© á¨á⥬ë).
104
 
116
 
105
void __stdcall GetFiles(HANDLE hPlugin, int NumItems, void* items[], void* addfile, void* adddir);
117
void __stdcall GetFiles(HANDLE hPlugin, int NumItems, void* items[], void* addfile, void* adddir);
106
        bool __stdcall addfile(const char* name, void* bdfe_info, HANDLE hFile);
118
        bool __stdcall addfile(const char* name, void* bdfe_info, HANDLE hFile);
107
        bool __stdcall adddir(const char* name, void* bdfe_info);
119
        bool __stdcall adddir(const char* name, void* bdfe_info);
108
‚ë§ë¢ ¥âáï ¤«ï ª®¯¨à®¢ ­¨ï, ¥á«¨ ¢® ä« £ å, ¢®§¢à é ¥¬ëå GetOpenPluginInfo, ãáâ ­®¢«¥­ ¡¨â 1.
120
‚ë§ë¢ ¥âáï ¤«ï ª®¯¨à®¢ ­¨ï, ¥á«¨ ¢® ä« £ å, ¢®§¢à é ¥¬ëå GetOpenPluginInfo, ãáâ ­®¢«¥­ ¡¨â 1.
109
âã äã­ªæ¨î ४®¬¥­¤ã¥âáï ॠ«¨§®¢ë¢ âì ¢ á«ãç ¥, ¥á«¨ áâ ­¤ àâ­ë© ४ãàᨢ­ë© ®¡å®¤ ¯ ¯®ª
121
âã äã­ªæ¨î ४®¬¥­¤ã¥âáï ॠ«¨§®¢ë¢ âì ¢ á«ãç ¥, ¥á«¨ áâ ­¤ àâ­ë© ४ãàᨢ­ë© ®¡å®¤ ¯ ¯®ª
110
­¥ã¤®¡¥­.
122
­¥ã¤®¡¥­.
111
hPlugin - ®¯¨á â¥«ì, ᮧ¤ ­­ë© ¢ OpenFilePlugin.
123
hPlugin - ®¯¨á â¥«ì, ᮧ¤ ­­ë© ¢ OpenFilePlugin.
112
NumItems - ç¨á«® ª®¯¨à㥬ëå í«¥¬¥­â®¢.
124
NumItems - ç¨á«® ª®¯¨à㥬ëå í«¥¬¥­â®¢.
113
items - ¬ áᨢ ª®¯¨à㥬ëå í«¥¬¥­â®¢, ª ¦¤ë© ¨§ ª®â®àëå § ¤ ñâáï 㪠§ â¥«¥¬ ­  áâàãªâãàã BDFE.
125
items - ¬ áᨢ ª®¯¨à㥬ëå í«¥¬¥­â®¢, ª ¦¤ë© ¨§ ª®â®àëå § ¤ ñâáï 㪠§ â¥«¥¬ ­  áâàãªâãàã BDFE.
114
‘¯¥æ¨ «ì­ë© á«ãç © NumItems=-1, items=NULL ®§­ ç ¥â "¢á¥ ä ©«ë" (¢ ⥪ã饩 ¯ ¯ª¥ ¨ ¯®¤¯ ¯ª å).
126
‘¯¥æ¨ «ì­ë© á«ãç © NumItems=-1, items=NULL ®§­ ç ¥â "¢á¥ ä ©«ë" (¢ ⥪ã饩 ¯ ¯ª¥ ¨ ¯®¤¯ ¯ª å).
115
addfile, adddir - callback-ä㭪樨 kfar' . ‚®§¢à â false ®§­ ç ¥â "¯à¥à¢ âì ª®¯¨à®¢ ­¨¥".
127
addfile, adddir - callback-ä㭪樨 kfar' . ‚®§¢à â false ®§­ ç ¥â "¯à¥à¢ âì ª®¯¨à®¢ ­¨¥".
116
 à ¬¥âà name ¤®«¦¥­ § ¤ ¢ âì ¨¬ï ®â­®á¨â¥«ì­® ⥪ã饩 ¯ ¯ª¨.  à ¬¥âà bdfe_info -
128
 à ¬¥âà name ¤®«¦¥­ § ¤ ¢ âì ¨¬ï ®â­®á¨â¥«ì­® ⥪ã饩 ¯ ¯ª¨.  à ¬¥âà bdfe_info -
117
㪠§ â¥«ì ­  ᮪à éñ­­ãî (40 ¡ ©â) § ¯¨áì ¢ ä®à¬ â¥ ä㭪樨 70.5.
129
㪠§ â¥«ì ­  ᮪à éñ­­ãî (40 ¡ ©â) § ¯¨áì ¢ ä®à¬ â¥ ä㭪樨 70.5.
118
Žâªàë⨥¬ ¨ § ªàë⨥¬ ®¯¨á â¥«ï hFile ¤®«¦¥­ § ­¨¬ âìáï ¯« £¨­. ”ã­ªæ¨ï addfile ¡ã¤¥â
130
Žâªàë⨥¬ ¨ § ªàë⨥¬ ®¯¨á â¥«ï hFile ¤®«¦¥­ § ­¨¬ âìáï ¯« £¨­. ”ã­ªæ¨ï addfile ¡ã¤¥â
119
¢ë§ë¢ âì ⮫쪮 äã­ªæ¨î read.
131
¢ë§ë¢ âì ⮫쪮 äã­ªæ¨î read.
120
 
132
 
121
int __stdcall getattr(HANDLE hPlugin, const char* filename, void* info);
133
int __stdcall getattr(HANDLE hPlugin, const char* filename, void* info);
122
®«ãç¨âì ¨­ä®à¬ æ¨î ® ä ©«¥. ‚®§¢à é ¥¬®¥ §­ ç¥­¨¥ ¨ ¤ ­­ë¥ ¢ info ¤®«¦­ë ᮮ⢥âá⢮¢ âì
134
®«ãç¨âì ¨­ä®à¬ æ¨î ® ä ©«¥. ‚®§¢à é ¥¬®¥ §­ ç¥­¨¥ ¨ ¤ ­­ë¥ ¢ info ¤®«¦­ë ᮮ⢥âá⢮¢ âì
123
ä㭪樨 70.5.
135
ä㭪樨 70.5.
124
 
136
 
125
HANDLE __stdcall open(HANDLE hPlugin, const char* filename, int mode);
137
HANDLE __stdcall open(HANDLE hPlugin, const char* filename, int mode);
126
Žâªàëâì ä ©« filename.  à ¬¥âà mode § à¥§¥à¢¨à®¢ ­ ¨ ¢ ⥪ã饩 ¢¥àᨨ kfar ¢á¥£¤  à ¢¥­ 1.
138
Žâªàëâì ä ©« filename.  à ¬¥âà mode § à¥§¥à¢¨à®¢ ­ ¨ ¢ ⥪ã饩 ¢¥àᨨ kfar ¢á¥£¤  à ¢¥­ 1.
127
 
139
 
128
unsigned __stdcall read(HANDLE hFile, void* buf, unsigned size);
140
unsigned __stdcall read(HANDLE hFile, void* buf, unsigned size);
129
—⥭¨¥ size ¡ ©â ¢ ¡ãä¥à buf ¨§ ä ©«  hFile, à ­¥¥ ®âªàë⮣® ç¥à¥§ open.
141
—⥭¨¥ size ¡ ©â ¢ ¡ãä¥à buf ¨§ ä ©«  hFile, à ­¥¥ ®âªàë⮣® ç¥à¥§ open.
130
kfar £ à ­â¨àã¥â, çâ® size ªà â¥­ 512 ¡ ©â.
142
kfar £ à ­â¨àã¥â, çâ® size ªà â¥­ 512 ¡ ©â.
131
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥: ç¨á«® ¯à®ç¨â ­­ëå ¡ ©â, -1 ¯à¨ ®è¨¡ª¥.
143
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥: ç¨á«® ¯à®ç¨â ­­ëå ¡ ©â, -1 ¯à¨ ®è¨¡ª¥.
132
 
144
 
133
void __stdcall setpos(HANDLE hFile, __int64 pos);
145
void __stdcall setpos(HANDLE hFile, __int64 pos);
134
“áâ ­®¢¨âì ⥪ãéãî ¯®§¨æ¨î ¢ ä ©«¥ hFile, à ­¥¥ ®âªàë⮣® ç¥à¥§ open, ¢ pos.
146
“áâ ­®¢¨âì ⥪ãéãî ¯®§¨æ¨î ¢ ä ©«¥ hFile, à ­¥¥ ®âªàë⮣® ç¥à¥§ open, ¢ pos.
135
ƒ à ­â¨àã¥âáï, çâ® pos ªà â­® 512 ¡ ©â.
147
ƒ à ­â¨àã¥âáï, çâ® pos ªà â­® 512 ¡ ©â.
136
 
148
 
137
void __stdcall close(HANDLE hFile);
149
void __stdcall close(HANDLE hFile);