Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenfmifs.h
Go to the documentation of this file.
00001 #ifndef _FMIFS_H 00002 #define _FMIFS_H 00003 /* 00004 * fmifs.h 00005 * 00006 * Copyright (c) 1998 Mark Russinovich 00007 * Systems Internals 00008 * http://www.sysinternals.com 00009 * 00010 * Typedefs and definitions for using chkdsk and formatex 00011 * functions exported by the fmifs.dll library. 00012 * 00013 * --- 00014 * 00015 * 1999-02-18 (Emanuele Aliberti) 00016 * Normalized function names. 00017 * 00018 * --- 00019 * 00020 * 2006-09-04 (Hervé Poussineau) 00021 * Add some prototypes 00022 * 00023 */ 00024 00025 #ifdef __cplusplus 00026 extern "C" { 00027 #endif // __cplusplus 00028 00029 /* Output command */ 00030 typedef struct 00031 { 00032 ULONG Lines; 00033 PCHAR Output; 00034 } TEXTOUTPUT, *PTEXTOUTPUT; 00035 00036 /* media flags */ 00037 typedef enum 00038 { 00039 FMIFS_UNKNOWN0, 00040 FMIFS_UNKNOWN1, 00041 FMIFS_UNKNOWN2, 00042 FMIFS_UNKNOWN3, 00043 FMIFS_UNKNOWN4, 00044 FMIFS_UNKNOWN5, 00045 FMIFS_UNKNOWN6, 00046 FMIFS_UNKNOWN7, 00047 FMIFS_FLOPPY, 00048 FMIFS_UNKNOWN9, 00049 FMIFS_UNKNOWN10, 00050 FMIFS_REMOVABLE, 00051 FMIFS_HARDDISK, 00052 FMIFS_UNKNOWN13, 00053 FMIFS_UNKNOWN14, 00054 FMIFS_UNKNOWN15, 00055 FMIFS_UNKNOWN16, 00056 FMIFS_UNKNOWN17, 00057 FMIFS_UNKNOWN18, 00058 FMIFS_UNKNOWN19, 00059 FMIFS_UNKNOWN20, 00060 FMIFS_UNKNOWN21, 00061 FMIFS_UNKNOWN22, 00062 FMIFS_UNKNOWN23, 00063 } FMIFS_MEDIA_FLAG; 00064 00065 /* Callback command types */ 00066 typedef enum 00067 { 00068 PROGRESS, 00069 DONEWITHSTRUCTURE, 00070 UNKNOWN2, 00071 UNKNOWN3, 00072 UNKNOWN4, 00073 UNKNOWN5, 00074 INSUFFICIENTRIGHTS, 00075 FSNOTSUPPORTED, 00076 VOLUMEINUSE, 00077 UNKNOWN9, 00078 UNKNOWNA, 00079 DONE, 00080 UNKNOWNC, 00081 UNKNOWND, 00082 OUTPUT, 00083 STRUCTUREPROGRESS, 00084 CLUSTERSIZETOOSMALL, 00085 } CALLBACKCOMMAND; 00086 00087 /* FMIFS callback definition */ 00088 typedef BOOLEAN 00089 (NTAPI* PFMIFSCALLBACK)( 00090 IN CALLBACKCOMMAND Command, 00091 IN ULONG SubAction, 00092 IN PVOID ActionInfo); 00093 00094 /* Chkdsk command in FMIFS */ 00095 VOID NTAPI 00096 Chkdsk( 00097 IN PWCHAR DriveRoot, 00098 IN PWCHAR Format, 00099 IN BOOLEAN CorrectErrors, 00100 IN BOOLEAN Verbose, 00101 IN BOOLEAN CheckOnlyIfDirty, 00102 IN BOOLEAN ScanDrive, 00103 IN PVOID Unused2, 00104 IN PVOID Unused3, 00105 IN PFMIFSCALLBACK Callback); 00106 00107 /* ChkdskEx command in FMIFS (not in the original) */ 00108 VOID NTAPI 00109 ChkdskEx( 00110 IN PWCHAR DriveRoot, 00111 IN PWCHAR Format, 00112 IN BOOLEAN CorrectErrors, 00113 IN BOOLEAN Verbose, 00114 IN BOOLEAN CheckOnlyIfDirty, 00115 IN BOOLEAN ScanDrive, 00116 IN PVOID Unused2, 00117 IN PVOID Unused3, 00118 IN PFMIFSCALLBACK Callback); 00119 00120 FMIFS_MEDIA_FLAG NTAPI 00121 ComputeFmMediaType( 00122 IN ULONG MediaType); 00123 00124 /* DiskCopy command in FMIFS */ 00125 VOID NTAPI 00126 DiskCopy(VOID); 00127 00128 /* Enable/Disable volume compression */ 00129 BOOLEAN NTAPI 00130 EnableVolumeCompression( 00131 IN PWCHAR DriveRoot, 00132 IN USHORT Compression); 00133 00134 /* Format command in FMIFS */ 00135 VOID NTAPI 00136 FormatEx( 00137 IN PWCHAR DriveRoot, 00138 IN FMIFS_MEDIA_FLAG MediaFlag, 00139 IN PWCHAR Format, 00140 IN PWCHAR Label, 00141 IN BOOLEAN QuickFormat, 00142 IN ULONG ClusterSize, 00143 IN PFMIFSCALLBACK Callback); 00144 00145 BOOLEAN NTAPI 00146 QueryAvailableFileSystemFormat( 00147 IN DWORD Index, 00148 IN OUT PWCHAR FileSystem, /* FIXME: Probably one minimal size is mandatory, but which one? */ 00149 OUT UCHAR* Major, 00150 OUT UCHAR* Minor, 00151 OUT BOOLEAN* LastestVersion); 00152 00153 BOOL NTAPI 00154 QueryDeviceInformation( 00155 IN PWCHAR DriveRoot, 00156 OUT ULONG* Buffer, /* That is probably some 4-bytes structure */ 00157 IN ULONG BufferSize); /* 4 */ 00158 00159 BOOL NTAPI 00160 QueryFileSystemName( 00161 IN PWCHAR DriveRoot, 00162 OUT PWCHAR FileSystem OPTIONAL, /* FIXME: Probably one minimal size is mandatory, but which one? */ 00163 OUT UCHAR* Unknown2 OPTIONAL, /* Always 0? */ 00164 OUT UCHAR* Unknown3 OPTIONAL, /* Always 0? */ 00165 OUT ULONG* Unknown4 OPTIONAL); /* Always 0? */ 00166 00167 BOOLEAN NTAPI 00168 QueryLatestFileSystemVersion( 00169 IN PWCHAR FileSystem, 00170 OUT UCHAR* Major OPTIONAL, 00171 OUT UCHAR* Minor OPTIONAL); 00172 00173 BOOL NTAPI 00174 QuerySupportedMedia( 00175 IN PWCHAR DriveRoot, 00176 OUT FMIFS_MEDIA_FLAG *CurrentMedia OPTIONAL, 00177 IN ULONG Unknown3, 00178 OUT PULONG Unknown4); /* Always 1? */ 00179 00180 BOOL NTAPI 00181 SetLabel( 00182 IN PWCHAR DriveRoot, 00183 IN PWCHAR Label); 00184 00185 /* Functions provided by u*.dll */ 00186 00187 typedef NTSTATUS 00188 (NTAPI *FORMATEX)( 00189 IN PUNICODE_STRING DriveRoot, 00190 IN FMIFS_MEDIA_FLAG MediaFlag, 00191 IN PUNICODE_STRING Label, 00192 IN BOOLEAN QuickFormat, 00193 IN ULONG ClusterSize, 00194 IN PFMIFSCALLBACK Callback); 00195 00196 typedef NTSTATUS 00197 (NTAPI *CHKDSKEX)( 00198 IN PUNICODE_STRING DriveRoot, 00199 IN BOOLEAN FixErrors, 00200 IN BOOLEAN Verbose, 00201 IN BOOLEAN CheckOnlyIfDirty, 00202 IN BOOLEAN ScanDrive, 00203 IN PFMIFSCALLBACK Callback); 00204 00205 #ifdef __cplusplus 00206 } 00207 #endif // __cplusplus 00208 00209 #endif /* ndef _FMIFS_H */ Generated on Mon May 28 2012 04:32:56 for ReactOS by
1.7.6.1
|