mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.7 KiB
90 lines
2.7 KiB
/****************************************************************************/
|
|
/* */
|
|
/* WFCOPY.H - */
|
|
/* */
|
|
/* Include for WINFILE's File Copying Routines */
|
|
/* */
|
|
/****************************************************************************/
|
|
|
|
#define FIND_DIRS 0x0010
|
|
|
|
#define CNF_DIR_EXISTS 0x0001
|
|
#define CNF_ISDIRECTORY 0x0002
|
|
|
|
#define BUILD_TOPLEVEL 0
|
|
#define BUILD_RECURSING 1
|
|
#define BUILD_NORECURSE 2
|
|
|
|
#define FUNC_MOVE 0x0001
|
|
#define FUNC_COPY 0x0002
|
|
#define FUNC_DELETE 0x0003
|
|
#define FUNC_RENAME 0x0004
|
|
|
|
/* These should not be used in the move/copy code;
|
|
* only for IsTheDiskReallyThere */
|
|
#define FUNC_SETDRIVE 0x0005
|
|
#define FUNC_EXPAND 0x0006
|
|
#define FUNC_LABEL 0x0007
|
|
|
|
#define OPER_MASK 0x0F00
|
|
#define OPER_MKDIR 0x0100
|
|
#define OPER_RMDIR 0x0200
|
|
#define OPER_DOFILE 0x0300
|
|
#define OPER_ERROR 0x0400
|
|
|
|
#define CCHPATHMAX 260
|
|
#define MAXDIRDEPTH 20 // arbitrary limit
|
|
|
|
#define COPYMAXBUFFERSIZE 0xFFFF
|
|
#define COPYMINBUFFERSIZE 4096 /* Minimum buffer size for FileCopy */
|
|
#define COPYMAXFILES 10 /* Maximum number of source files to open */
|
|
#define COPYMINFILES 1 /* Minimum number of source files to open */
|
|
#define CARRY_FLAG 1 /* Carry flag mask in status word */
|
|
#define ATTR_ATTRIBS 0x200 /* Flag indicating we have file attributes */
|
|
#define ATTR_COPIED 0x400 /* we have copied this file */
|
|
#define ATTR_DELSRC 0x800 /* delete the source when done */
|
|
|
|
typedef struct TAGCopyQueue {
|
|
CHAR szSource[MAXPATHLEN];
|
|
CHAR szDest[MAXPATHLEN];
|
|
INT hSource;
|
|
INT hDest;
|
|
FILETIME ftLastWriteTime;
|
|
DWORD wAttrib;
|
|
} COPYQUEUEENTRY, *PCOPYQUEUE, *LPCOPYQUEUE;
|
|
|
|
typedef struct _copyroot
|
|
{
|
|
BOOL fRecurse;
|
|
WORD cDepth;
|
|
LPSTR pSource;
|
|
LPSTR pRoot;
|
|
CHAR cIsDiskThereCheck[26];
|
|
CHAR sz[MAXPATHLEN];
|
|
CHAR szDest[MAXPATHLEN];
|
|
LFNDTA rgDTA[MAXDIRDEPTH];
|
|
} COPYROOT, *PCOPYROOT;
|
|
|
|
typedef struct _getnextqueue
|
|
{
|
|
char szSource[MAXPATHLEN];
|
|
char szDest[MAXPATHLEN];
|
|
int nOper;
|
|
LFNDTA SourceDTA;
|
|
} GETNEXTQUEUE, *PGETNEXTQUEUE, *LPGETNEXTQUEUE;
|
|
|
|
/* WFFILE.ASM */
|
|
BOOL IsSerialDevice(INT hFile);
|
|
BOOL IsDirectory(LPSTR szPath);
|
|
WORD APIENTRY FileMove(LPSTR, LPSTR);
|
|
WORD APIENTRY FileRemove(LPSTR);
|
|
WORD APIENTRY MKDir(LPSTR);
|
|
WORD APIENTRY RMDir(LPSTR);
|
|
BOOL APIENTRY WFSetAttr(LPSTR lpFile, DWORD dwAttr);
|
|
|
|
VOID APIENTRY QualifyPath(LPSTR);
|
|
VOID APIENTRY AppendToPath(LPSTR,LPSTR);
|
|
VOID APIENTRY RemoveLast(LPSTR pFile);
|
|
VOID APIENTRY Notify(HWND,WORD,PSTR,PSTR);
|
|
|
|
extern BOOL bCopyReport;
|