mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 22:46:17 +00:00
Remove Vfat(x)Initialize and Vfat(x)Cleanup which were empty
Remove vfatlib dependancy of fmifs.dll (Providers like ufat.dll are loaded dynamically at startup) svn path=/trunk/; revision=23915
This commit is contained in:
parent
132cf4ece8
commit
90d5c19850
10 changed files with 133 additions and 73 deletions
|
@ -105,8 +105,6 @@ FormatPartition (PUNICODE_STRING DriveRoot)
|
|||
|
||||
ProgressSetStepCount (ProgressBar, 100);
|
||||
|
||||
VfatInitialize ();
|
||||
|
||||
Status = VfatFormat (DriveRoot,
|
||||
0, /* MediaFlag */
|
||||
NULL, /* Label */
|
||||
|
@ -114,8 +112,6 @@ FormatPartition (PUNICODE_STRING DriveRoot)
|
|||
0, /* ClusterSize */
|
||||
(PFMIFSCALLBACK)FormatCallback); /* Callback */
|
||||
|
||||
VfatCleanup ();
|
||||
|
||||
DestroyProgressBar (ProgressBar);
|
||||
ProgressBar = NULL;
|
||||
|
||||
|
|
|
@ -67,6 +67,7 @@
|
|||
<property name="BASEADDRESS_LZ32" value="0x73d80000" />
|
||||
<property name="BASEADDRESS_COREDLL" value="0x73d80000" />
|
||||
<property name="BASEADDRESS_ICMP" value="0x741f0000" />
|
||||
<property name="BASEADDRESS_UFAT" value="0x741f0000" />
|
||||
<property name="BASEADDRESS_USERENV" value="0x74850000" />
|
||||
<property name="BASEADDRESS_WS2_32" value="0x74aa0000" />
|
||||
<property name="BASEADDRESS_SYSSETUP" value="0x74a30000" />
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
<define name="_DISABLE_TIDENTS" />
|
||||
<define name="__USE_W32API" />
|
||||
<define name="_WIN32_WINNT">0x0600</define>
|
||||
<library>vfatlib</library>
|
||||
<library>ntdll</library>
|
||||
<library>kernel32</library>
|
||||
<file>chkdsk.c</file>
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
* PURPOSE: Volume format
|
||||
*
|
||||
* PROGRAMMERS: Emanuele Aliberti
|
||||
* Hervé Poussineau (hpoussin@reactos.org)
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
@ -14,7 +15,7 @@
|
|||
|
||||
/* FMIFS.6 */
|
||||
VOID NTAPI
|
||||
Format(void)
|
||||
Format(VOID)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -29,13 +30,15 @@ FormatEx(
|
|||
IN ULONG ClusterSize,
|
||||
IN PFMIFSCALLBACK Callback)
|
||||
{
|
||||
PIFS_PROVIDER Provider;
|
||||
UNICODE_STRING usDriveRoot;
|
||||
UNICODE_STRING usLabel;
|
||||
BOOLEAN Argument = FALSE;
|
||||
WCHAR VolumeName[MAX_PATH];
|
||||
CURDIR CurDir;
|
||||
|
||||
if (_wcsnicmp(Format, L"FAT", 3) != 0)
|
||||
Provider = GetProvider(Format);
|
||||
if (!Provider)
|
||||
{
|
||||
/* Unknown file system */
|
||||
Callback(
|
||||
|
@ -58,16 +61,14 @@ FormatEx(
|
|||
|
||||
RtlInitUnicodeString(&usLabel, Label);
|
||||
|
||||
DPRINT1("FormatEx - FAT\n");
|
||||
VfatInitialize();
|
||||
VfatFormat(
|
||||
DPRINT1("FormatEx - %S\n", Format);
|
||||
Provider->FormatEx(
|
||||
&usDriveRoot,
|
||||
MediaFlag,
|
||||
&usLabel,
|
||||
QuickFormat,
|
||||
ClusterSize,
|
||||
Callback);
|
||||
VfatCleanup();
|
||||
RtlFreeUnicodeString(&usDriveRoot);
|
||||
}
|
||||
|
||||
|
|
|
@ -5,17 +5,93 @@
|
|||
* PURPOSE: Initialisation
|
||||
*
|
||||
* PROGRAMMERS: Emanuele Aliberti
|
||||
* Hervé Poussineau (hpoussin@reactos.org)
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
static BOOLEAN FmIfsInitialized = FALSE;
|
||||
LIST_ENTRY ProviderListHead;
|
||||
|
||||
static BOOLEAN NTAPI
|
||||
PIFS_PROVIDER
|
||||
GetProvider(
|
||||
IN PWCHAR FileSystem)
|
||||
{
|
||||
PLIST_ENTRY ListEntry;
|
||||
PIFS_PROVIDER Provider;
|
||||
|
||||
ListEntry = ProviderListHead.Flink;
|
||||
while (ListEntry != ProviderListHead.Flink)
|
||||
{
|
||||
Provider = CONTAINING_RECORD(ListEntry, IFS_PROVIDER, ListEntry);
|
||||
if (wcscmp(Provider->Name, FileSystem) == 0)
|
||||
return Provider;
|
||||
ListEntry = ListEntry->Flink;
|
||||
}
|
||||
|
||||
/* Provider not found */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static BOOLEAN
|
||||
AddProvider(
|
||||
IN PWCHAR FileSystem,
|
||||
IN PWCHAR DllFile)
|
||||
{
|
||||
PIFS_PROVIDER Provider = NULL;
|
||||
ULONG RequiredSize;
|
||||
HMODULE hMod = NULL;
|
||||
BOOLEAN ret = FALSE;
|
||||
|
||||
hMod = LoadLibraryW(DllFile);
|
||||
if (!hMod)
|
||||
goto cleanup;
|
||||
|
||||
RequiredSize = FIELD_OFFSET(IFS_PROVIDER, Name)
|
||||
+ wcslen(FileSystem) * sizeof(WCHAR) + sizeof(UNICODE_NULL);
|
||||
Provider = (PIFS_PROVIDER)RtlAllocateHeap(
|
||||
RtlGetProcessHeap(),
|
||||
0,
|
||||
RequiredSize);
|
||||
if (!Provider)
|
||||
goto cleanup;
|
||||
RtlZeroMemory(Provider, RequiredSize);
|
||||
|
||||
/* Get function pointers */
|
||||
//Provider->Chkdsk = (CHKDSK)GetProcAddress(hMod, "Chkdsk");
|
||||
//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);
|
||||
|
||||
InsertTailList(&ProviderListHead, &Provider->ListEntry);
|
||||
ret = TRUE;
|
||||
|
||||
cleanup:
|
||||
if (!ret)
|
||||
{
|
||||
if (hMod)
|
||||
FreeLibrary(hMod);
|
||||
if (Provider)
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, Provider);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
static BOOLEAN
|
||||
InitializeFmIfsOnce(void)
|
||||
{
|
||||
InitializeListHead(&ProviderListHead);
|
||||
|
||||
/* Add default providers */
|
||||
AddProvider(L"FAT", L"ufat");
|
||||
AddProvider(L"FAT32", L"ufat");
|
||||
|
||||
/* TODO: Check how many IFS are installed in the system */
|
||||
/* TOSO: and register a descriptor for each one */
|
||||
/* TODO: and register a descriptor for each one */
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS System Libraries
|
||||
* FILE: lib/fmifs/precomp.h
|
||||
* PURPOSE: Win32 FMIFS API Libary Header
|
||||
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||
* PROJECT: File Management IFS Utility functions
|
||||
* FILE: reactos/dll/win32/fmifs/precomp.h
|
||||
* PURPOSE: Win32 FMIFS API Library Header
|
||||
*
|
||||
* PROGRAMMERS: Alex Ionescu (alex@relsoft.net)
|
||||
* Hervé Poussineau (hpoussin@reactos.org)
|
||||
*/
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
@ -23,4 +25,33 @@
|
|||
/* VFATLIB Public Header */
|
||||
#include <fslib/vfatlib.h>
|
||||
|
||||
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);
|
||||
|
||||
extern LIST_ENTRY ProviderListHead;
|
||||
|
||||
typedef struct _IFS_PROVIDER
|
||||
{
|
||||
LIST_ENTRY ListEntry;
|
||||
|
||||
PVOID Chkdsk;
|
||||
PVOID ChkdskEx;
|
||||
PVOID Extend;
|
||||
PVOID Format;
|
||||
FORMATEX FormatEx;
|
||||
PVOID Recover;
|
||||
|
||||
WCHAR Name[1];
|
||||
} IFS_PROVIDER, *PIFS_PROVIDER;
|
||||
|
||||
/* init.c */
|
||||
PIFS_PROVIDER
|
||||
GetProvider(
|
||||
IN PWCHAR FileSytem);
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -9,15 +9,9 @@
|
|||
|
||||
#include <fmifs/fmifs.h>
|
||||
|
||||
NTSTATUS
|
||||
VfatInitialize (VOID);
|
||||
|
||||
NTSTATUS
|
||||
VfatCleanup (VOID);
|
||||
|
||||
NTSTATUS
|
||||
NTSTATUS NTAPI
|
||||
VfatFormat (PUNICODE_STRING DriveRoot,
|
||||
ULONG MediaFlag,
|
||||
FMIFS_MEDIA_FLAG MediaFlag,
|
||||
PUNICODE_STRING Label,
|
||||
BOOLEAN QuickFormat,
|
||||
ULONG ClusterSize,
|
||||
|
|
|
@ -9,16 +9,12 @@
|
|||
|
||||
#include <fmifs/fmifs.h>
|
||||
|
||||
NTSTATUS
|
||||
VfatxInitialize (VOID);
|
||||
|
||||
NTSTATUS
|
||||
VfatxCleanup (VOID);
|
||||
|
||||
NTSTATUS
|
||||
NTSTATUS NTAPI
|
||||
VfatxFormat (PUNICODE_STRING DriveRoot,
|
||||
ULONG MediaFlag,
|
||||
FMIFS_MEDIA_FLAG MediaFlag,
|
||||
PUNICODE_STRING Label,
|
||||
BOOLEAN QuickFormat,
|
||||
ULONG ClusterSize,
|
||||
PFMIFSCALLBACK Callback);
|
||||
|
||||
#endif /*__VFATLIB_H */
|
||||
|
|
|
@ -12,18 +12,9 @@
|
|||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
NTSTATUS
|
||||
VfatInitialize(VOID)
|
||||
{
|
||||
DPRINT("VfatInitialize()\n");
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
NTSTATUS NTAPI
|
||||
VfatFormat (PUNICODE_STRING DriveRoot,
|
||||
ULONG MediaFlag,
|
||||
FMIFS_MEDIA_FLAG MediaFlag,
|
||||
PUNICODE_STRING Label,
|
||||
BOOLEAN QuickFormat,
|
||||
ULONG ClusterSize,
|
||||
|
@ -194,15 +185,6 @@ VfatFormat (PUNICODE_STRING DriveRoot,
|
|||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
VfatCleanup(VOID)
|
||||
{
|
||||
DPRINT("VfatCleanup()\n");
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
UpdateProgress (PFORMAT_CONTEXT Context,
|
||||
ULONG Increment)
|
||||
|
|
|
@ -12,19 +12,12 @@
|
|||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
NTSTATUS
|
||||
VfatxInitialize(VOID)
|
||||
{
|
||||
DPRINT("VfatxInitialize()\n");
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
NTSTATUS NTAPI
|
||||
VfatxFormat (PUNICODE_STRING DriveRoot,
|
||||
ULONG MediaFlag,
|
||||
FMIFS_MEDIA_FLAG MediaFlag,
|
||||
PUNICODE_STRING Label,
|
||||
BOOLEAN QuickFormat,
|
||||
ULONG ClusterSize,
|
||||
PFMIFSCALLBACK Callback)
|
||||
{
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
|
@ -163,15 +156,6 @@ VfatxFormat (PUNICODE_STRING DriveRoot,
|
|||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
VfatxCleanup(VOID)
|
||||
{
|
||||
DPRINT("VfatxCleanup()\n");
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
VfatxUpdateProgress (PFORMAT_CONTEXT Context,
|
||||
ULONG Increment)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue