
Code: Select all
;MediaFlag
#FMIFS_HARDDISK = $C
#FMIFS_FLOPPY = $8
;ClusterSize
#FMIFS_SizeDefault = 0
#FMIFS_Size512 = 512
#FMIFS_Size1K = 1024
#FMIFS_Size2K = 2048
#FMIFS_Size4K = 4096
#FMIFS_Size8K = 8192
#FMIFS_Size16K = 16384
#FMIFS_Size32K = 32768
#FMIFS_Size64K = 65536
#FMIFS_Size128K = 131072
#FMIFS_Size256K = 262144
;Command
#FMIFS_Progress = 0
#FMIFS_DoneWithStructure = 1
#FMIFS_InsufficientRights = 6
#FMIFS_WriteProtected = 7
#FMIFS_Done = 11
#FMIFS_OutPut = 14
#FMIFS_StructureProgress = 15
Procedure FormatexCallBack(lngCommand.l,lngSubAction.l,ActionInfo.l)
Select lngCommand
Case #FMIFS_Progress
CopyMemory(ActionInfo,@lngInfo,4)
Debug lngInfo
Case #FMIFS_DoneWithStructure
Debug "done"
Case #FMIFS_InsufficientRights
Case #FMIFS_WriteProtected
Debug "WriteProtected"
Case #FMIFS_Done
CopyMemory(ActionInfo,@Result,1)
Debug result
Case #FMIFS_OutPut
Case #FMIFS_StructureProgress
EndSelect
ProcedureReturn = 1
EndProcedure
Procedure PWCHAR(tmp.s)
tmplen = Len(tmp) * 2
wbuf = AllocateMemory(tmplen)
MultiByteToWideChar_(#CP_ACP, 0, tmp, -1, wbuf, tmplen)
ProcedureReturn wbuf
EndProcedure
OpenLibrary (0, "FMIFS.DLL")
CallFunction (0, "FormatEx",PWCHAR("A:\"),#FMIFS_FLOPPY,PWCHAR("FAT"),PWCHAR("1234"),0,#FMIFS_SizeDefault,@FormatExCallback())
CloseLibrary(0)
ComputeFmMediaType
FormatEx2 ...
in this fmifs.dll ???
