2025-04-27 07:49:33 -04:00

57 lines
1.4 KiB
C

#ifndef _INC_IMPAPI_H
#define _INC_IMPAPI_H
typedef enum tagIMPORTFOLDERTYPE IMPORTFOLDERTYPE;
#define INVALID_FOLDER_HANDLE ((HANDLE)MAXULONG_PTR)
typedef struct tagIMPFOLDERNODE
{
struct tagIMPFOLDERNODE *pnext;
struct tagIMPFOLDERNODE *pchild;
struct tagIMPFOLDERNODE *pparent;
int depth;
TCHAR *szName;
IMPORTFOLDERTYPE type;
ULONG cMsg;
LPARAM lparam;
BOOL fImport;
DWORD_PTR dwReserved; // for use by the import code, the client code should ignore this
} IMPFOLDERNODE;
typedef struct IMSG IMSG;
void DoImport(HWND hwnd);
void DoMigration(HWND hwnd);
typedef HRESULT (*PFNEXPMSGS)(HWND);
void DoExport(HWND hwnd);
#ifdef WIN16
EXTERN_C {
#endif
HRESULT WINAPI_16 ExpGetFolderList(IMPFOLDERNODE **plist);
typedef HRESULT (*PFNEXPGETFOLDERLIST)(IMPFOLDERNODE **);
void WINAPI_16 ExpFreeFolderList(IMPFOLDERNODE *plist);
typedef void (*PFNEXPFREEFOLDERLIST)(IMPFOLDERNODE *);
HRESULT WINAPI_16 ExpGetFirstImsg(HANDLE hfolder, IMSG *pimsg, HANDLE_16 *phnd);
typedef HRESULT (*PFNEXPGETFIRSTIMSG)(HANDLE, IMSG *, HANDLE_16 *);
HRESULT WINAPI_16 ExpGetNextImsg(IMSG *pimsg, HANDLE_16 hnd);
typedef HRESULT (*PFNEXPGETNEXTIMSG)(IMSG *, HANDLE_16);
void WINAPI_16 ExpGetImsgClose(HANDLE_16 hnd);
typedef void (*PFNEXPGETIMSGCLOSE)(HANDLE_16);
#ifdef WIN16
}
#endif
#endif // _INC_IMPAPI_H