#include <stdio.h>
#define WIN32_NO_STATUS
#include <windows.h>
-#include <fmifs/fmifs.h>
#define NTOS_MODE_USER
#include <ndk/ntndk.h>
+#include <fmifs/fmifs.h>
/* DEFINES ******************************************************************/
RtlZeroMemory(Provider, RequiredSize);
/* Get function pointers */
- //Provider->Chkdsk = (CHKDSK)GetProcAddress(hMod, "Chkdsk");
- //Provider->ChkdskEx = (CHKDSKEX)GetProcAddress(hMod, "ChkdskEx");
+ Provider->ChkdskEx = (CHKDSKEX)GetProcAddress(hMod, "ChkdskEx");
//Provider->Extend = (EXTEND)GetProcAddress(hMod, "Extend");
- //Provider->Format = (FORMAT)GetProcAddress(hMod, "Format");
Provider->FormatEx = (FORMATEX)GetProcAddress(hMod, "FormatEx");
- //Provider->Recover = (RECOVER)GetProcAddress(hMod, "Recover");
wcscpy(Provider->Name, FileSystem);
/* VFATLIB Public Header */\r
#include <fslib/vfatlib.h>\r
\r
-typedef NTSTATUS (NTAPI *FORMATEX)(\r
- IN PUNICODE_STRING DriveRoot,\r
- IN FMIFS_MEDIA_FLAG MediaFlag,\r
- IN PUNICODE_STRING Label,\r
- IN BOOLEAN QuickFormat,\r
- IN ULONG ClusterSize,\r
- IN PFMIFSCALLBACK Callback);\r
-\r
extern LIST_ENTRY ProviderListHead;\r
\r
typedef struct _IFS_PROVIDER\r
{\r
LIST_ENTRY ListEntry;\r
\r
- PVOID Chkdsk;\r
- PVOID ChkdskEx;\r
+ CHKDSKEX ChkdskEx;\r
PVOID Extend;\r
- PVOID Format;\r
FORMATEX FormatEx;\r
- PVOID Recover;\r
\r
WCHAR Name[1];\r
} IFS_PROVIDER, *PIFS_PROVIDER;\r
ULONG Unknown3,
ULONG Unknown4);*/
+/* Functions provided by u*.dll */
+
+typedef NTSTATUS
+(NTAPI *FORMATEX)(
+ IN PUNICODE_STRING DriveRoot,
+ IN FMIFS_MEDIA_FLAG MediaFlag,
+ IN PUNICODE_STRING Label,
+ IN BOOLEAN QuickFormat,
+ IN ULONG ClusterSize,
+ IN PFMIFSCALLBACK Callback);
+
+typedef NTSTATUS
+(NTAPI *CHKDSKEX)(
+ IN PUNICODE_STRING DriveRoot,
+ IN BOOLEAN FixErrors,
+ IN BOOLEAN Verbose,
+ IN BOOLEAN CheckOnlyIfDirty,
+ IN BOOLEAN ScanDrive,
+ IN PFMIFSCALLBACK Callback);
+
#endif /* ndef _FMIFS_H */
#define WIN32_NO_STATUS
#include <windows.h>
-#include <fmifs/fmifs.h>
#define NTOS_MODE_USER
#include <ndk/ntndk.h>
+#include <fmifs/fmifs.h>
#define SECTORSIZE 512
*/
#define WIN32_NO_STATUS
#include <windows.h>
-#include <fmifs/fmifs.h>
#define NTOS_MODE_USER
#include <ndk/ntndk.h>
+#include <fmifs/fmifs.h>
typedef struct _FATX_BOOT_SECTOR
{