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)
34 } TEXTOUTPUT
, *PTEXTOUTPUT
;
65 /* Callback command types */
87 /* FMIFS callback definition */
89 (NTAPI
* PFMIFSCALLBACK
)(
90 IN CALLBACKCOMMAND Command
,
94 /* Chkdsk command in FMIFS */
99 IN BOOLEAN CorrectErrors
,
101 IN BOOLEAN CheckOnlyIfDirty
,
102 IN BOOLEAN ScanDrive
,
105 IN PFMIFSCALLBACK Callback
);
107 /* ChkdskEx command in FMIFS (not in the original) */
112 IN BOOLEAN CorrectErrors
,
114 IN BOOLEAN CheckOnlyIfDirty
,
115 IN BOOLEAN ScanDrive
,
118 IN PFMIFSCALLBACK Callback
);
120 FMIFS_MEDIA_FLAG NTAPI
124 /* DiskCopy command in FMIFS */
128 /* Enable/Disable volume compression */
130 EnableVolumeCompression(
132 IN USHORT Compression
);
134 /* Format command in FMIFS */
138 IN FMIFS_MEDIA_FLAG MediaFlag
,
141 IN BOOLEAN QuickFormat
,
142 IN ULONG ClusterSize
,
143 IN PFMIFSCALLBACK Callback
);
146 QueryAvailableFileSystemFormat(
148 IN OUT PWCHAR FileSystem
, /* FIXME: Probably one minimal size is mandatory, but which one? */
151 OUT BOOLEAN
* LastestVersion
);
154 QueryDeviceInformation(
156 OUT ULONG
* Buffer
, /* That is probably some 4-bytes structure */
157 IN ULONG BufferSize
); /* 4 */
162 OUT PWCHAR FileSystem OPTIONAL
, /* FIXME: Probably one minimal size is mandatory, but which one? */
163 OUT UCHAR
* Unknown2 OPTIONAL
, /* Always 0? */
164 OUT UCHAR
* Unknown3 OPTIONAL
, /* Always 0? */
165 OUT ULONG
* Unknown4 OPTIONAL
); /* Always 0? */
168 QueryLatestFileSystemVersion(
169 IN PWCHAR FileSystem
,
170 OUT UCHAR
* Major OPTIONAL
,
171 OUT UCHAR
* Minor OPTIONAL
);
176 OUT FMIFS_MEDIA_FLAG
*CurrentMedia OPTIONAL
,
178 OUT PULONG Unknown4
); /* Always 1? */
185 /* Functions provided by u*.dll */
189 IN PUNICODE_STRING DriveRoot
,
190 IN FMIFS_MEDIA_FLAG MediaFlag
,
191 IN PUNICODE_STRING Label
,
192 IN BOOLEAN QuickFormat
,
193 IN ULONG ClusterSize
,
194 IN PFMIFSCALLBACK Callback
);
198 IN PUNICODE_STRING DriveRoot
,
199 IN BOOLEAN FixErrors
,
201 IN BOOLEAN CheckOnlyIfDirty
,
202 IN BOOLEAN ScanDrive
,
203 IN PFMIFSCALLBACK Callback
);
207 #endif // __cplusplus
209 #endif /* ndef _FMIFS_H */