6 * Copyright (c) 1998 Mark Russinovich
8 * http://www.sysinternals.com
10 * Typedefs and definitions for using chkdsk and formatex
11 * functions exported by the fmifs.dll library.
15 * 1999-02-18 (Emanuele Aliberti)
16 * Normalized function names.
20 * 2006-09-04 (Hervé Poussineau)
30 } TEXTOUTPUT
, *PTEXTOUTPUT
;
61 /* Callback command types */
83 /* FMIFS callback definition */
85 (NTAPI
* PFMIFSCALLBACK
)(
86 IN CALLBACKCOMMAND Command
,
90 /* Chkdsk command in FMIFS */
95 IN BOOLEAN CorrectErrors
,
97 IN BOOLEAN CheckOnlyIfDirty
,
101 IN PFMIFSCALLBACK Callback
);
103 /* ChkdskEx command in FMIFS (not in the original) */
108 IN BOOLEAN CorrectErrors
,
110 IN BOOLEAN CheckOnlyIfDirty
,
111 IN BOOLEAN ScanDrive
,
114 IN PFMIFSCALLBACK Callback
);
116 FMIFS_MEDIA_FLAG NTAPI
120 /* DiskCopy command in FMIFS */
124 /* Enable/Disable volume compression */
126 EnableVolumeCompression(
128 IN USHORT Compression
);
130 /* Format command in FMIFS */
134 IN FMIFS_MEDIA_FLAG MediaFlag
,
137 IN BOOLEAN QuickFormat
,
138 IN ULONG ClusterSize
,
139 IN PFMIFSCALLBACK Callback
);
142 QueryAvailableFileSystemFormat(
144 IN OUT PWCHAR FileSystem
, /* FIXME: Probably one minimal size is mandatory, but which one? */
147 OUT BOOLEAN
* LastestVersion
);
150 QueryDeviceInformation(
152 OUT ULONG
* Buffer
, /* That is probably some 4-bytes structure */
153 IN ULONG BufferSize
); /* 4 */
158 OUT PWCHAR FileSystem OPTIONAL
, /* FIXME: Probably one minimal size is mandatory, but which one? */
159 OUT UCHAR
* Unknown2 OPTIONAL
, /* Always 0? */
160 OUT UCHAR
* Unknown3 OPTIONAL
, /* Always 0? */
161 OUT ULONG
* Unknown4 OPTIONAL
); /* Always 0? */
164 QueryLatestFileSystemVersion(
165 IN PWCHAR FileSystem
,
166 OUT UCHAR
* Major OPTIONAL
,
167 OUT UCHAR
* Minor OPTIONAL
);
172 OUT FMIFS_MEDIA_FLAG
*CurrentMedia OPTIONAL
,
174 OUT PULONG Unknown4
); /* Always 1? */
181 /* Functions provided by u*.dll */
185 IN PUNICODE_STRING DriveRoot
,
186 IN FMIFS_MEDIA_FLAG MediaFlag
,
187 IN PUNICODE_STRING Label
,
188 IN BOOLEAN QuickFormat
,
189 IN ULONG ClusterSize
,
190 IN PFMIFSCALLBACK Callback
);
194 IN PUNICODE_STRING DriveRoot
,
195 IN BOOLEAN FixErrors
,
197 IN BOOLEAN CheckOnlyIfDirty
,
198 IN BOOLEAN ScanDrive
,
199 IN PFMIFSCALLBACK Callback
);
201 #endif /* ndef _FMIFS_H */