- Added a stub for NtfsLib

- Added a stub for untfs.dll
- Added the support of untfs.dll to autochk.exe (and a bit reviewed code when loading provider)
That way, autochk won't complain anymore... And it creates places to work!

svn path=/trunk/; revision=33199
This commit is contained in:
Pierre Schweitzer 2008-04-30 21:35:23 +00:00
parent fabaf5892a
commit 4dc1dea0a6
12 changed files with 119 additions and 4 deletions

View file

@ -243,16 +243,24 @@ static PVOID
LoadProvider(
IN PWCHAR FileSystem)
{
UNICODE_STRING ProviderDll = RTL_CONSTANT_STRING(L"ufat.dll");
UNICODE_STRING ProviderDll;
PVOID BaseAddress;
NTSTATUS Status;
/* FIXME: add more providers here */
if (wcscmp(FileSystem, L"FAT") != 0
&& wcscmp(FileSystem, L"FAT32") != 0)
if (wcscmp(FileSystem, L"NTFS") == 0)
{
return NULL;
RtlInitUnicodeString(&ProviderDll, L"untfs.dll");
}
else if (wcscmp(FileSystem, L"FAT") == 0
|| wcscmp(FileSystem, L"FAT32") == 0)
{
RtlInitUnicodeString(&ProviderDll, L"ufat.dll");
}
else
{
return NULL;
}
Status = LdrLoadDll(NULL, NULL, &ProviderDll, &BaseAddress);

View file

@ -13,6 +13,7 @@
<property name="BASEADDRESS_JOY" value="0x589b0000" />
<property name="BASEADDRESS_UXTHEME" value="0x5ad70000" />
<property name="BASEADDRESS_VDMDBG" value="0x5b0d0000" />
<property name="BASEADDRESS_UNTFS" value="0x5b340000" />
<property name="BASEADDRESS_OBJSEL" value="0x5b400000" />
<property name="BASEADDRESS_UFAT" value="0x5b570000" />
<property name="BASEADDRESS_TAPIUI" value="0x5b770000" />

View file

@ -293,6 +293,7 @@ dll\win32\tapiui\tapiui.dll 1
dll\win32\twain_32\twain_32.dll 1
dll\win32\ufat\ufat.dll 1
dll\win32\ufatx\ufatx.dll 1 optional
dll\win32\untfs\untfs.dll 1
dll\win32\urlmon\urlmon.dll 1
dll\win32\user32\user32.dll 1
dll\win32\userenv\userenv.dll 1

View file

@ -0,0 +1,27 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: NTFS File System Management
* FILE: dll/win32/untfs/untfs.c
* PURPOSE: untfs DLL initialisation
*
* PROGRAMMERS: Pierre Schweitzer
*/
#define WIN32_NO_STATUS
#include <windows.h>
#define NTOS_MODE_USER
#include <ndk/ntndk.h>
#include <fmifs/fmifs.h>
INT WINAPI
DllMain(
IN HINSTANCE hinstDLL,
IN DWORD dwReason,
IN LPVOID lpvReserved)
{
UNREFERENCED_PARAMETER(hinstDLL);
UNREFERENCED_PARAMETER(dwReason);
UNREFERENCED_PARAMETER(lpvReserved);
return TRUE;
}

View file

@ -0,0 +1,4 @@
LIBRARY UNTFS.DLL
EXPORTS
ChkdskEx=NtfsChkdsk@24
FormatEx=NtfsFormat@24

View file

@ -0,0 +1,10 @@
<module name="untfs" type="win32dll" baseaddress="${BASEADDRESS_UNTFS}" installbase="system32" installname="untfs.dll">
<importlibrary definition="untfs.def" />
<include base="untfs">.</include>
<define name="_DISABLE_TIDENTS" />
<define name="_WIN32_WINNT">0x0600</define>
<library>ntfslib</library>
<library>ntdll</library>
<file>untfs.c</file>
<file>untfs.rc</file>
</module>

View file

@ -0,0 +1,5 @@
#define REACTOS_VERSION_DLL
#define REACTOS_STR_FILE_DESCRIPTION "NTFS File System Management\0"
#define REACTOS_STR_INTERNAL_NAME "untfs\0"
#define REACTOS_STR_ORIGINAL_FILENAME "untfs.dll\0"
#include <reactos/version.rc>

View file

@ -316,6 +316,9 @@
<directory name="ufatx">
<xi:include href="ufatx/ufatx.rbuild" />
</directory>
<directory name="untfs">
<xi:include href="untfs/untfs.rbuild" />
</directory>
<directory name="urlmon">
<xi:include href="urlmon/urlmon.rbuild" />
</directory>

View file

@ -4,6 +4,9 @@
<directory name="ext2lib">
<xi:include href="ext2lib/ext2lib.rbuild" />
</directory>
<directory name="ntfslib">
<xi:include href="ntfslib/ntfslib.rbuild" />
</directory>
<directory name="vfatlib">
<xi:include href="vfatlib/vfatlib.rbuild" />
</directory>

View file

@ -0,0 +1,36 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS NTFS FS library
* FILE: lib/fslib/ntfslib/ntfslib.c
* PURPOSE: NTFS lib
* PROGRAMMERS: Pierre Schweitzer
*/
#include "ntfslib.h"
#define NDEBUG
#include <debug.h>
NTSTATUS NTAPI
NtfsFormat(PUNICODE_STRING DriveRoot,
FMIFS_MEDIA_FLAG MediaFlag,
PUNICODE_STRING Label,
BOOLEAN QuickFormat,
ULONG ClusterSize,
PFMIFSCALLBACK Callback)
{
UNIMPLEMENTED;
return STATUS_SUCCESS;
}
NTSTATUS WINAPI
NtfsChkdsk(IN PUNICODE_STRING DriveRoot,
IN BOOLEAN FixErrors,
IN BOOLEAN Verbose,
IN BOOLEAN CheckOnlyIfDirty,
IN BOOLEAN ScanDrive,
IN PFMIFSCALLBACK Callback)
{
UNIMPLEMENTED;
return STATUS_SUCCESS;
}

View file

@ -0,0 +1,10 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS NTFS FS library
* FILE: lib/fslib/ntfslib/ntfslib.h
*/
#define WIN32_NO_STATUS
#include <windows.h>
#define NTOS_MODE_USER
#include <ndk/ntndk.h>
#include <fmifs/fmifs.h>

View file

@ -0,0 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="ntfslib" type="staticlibrary">
<include base="ntfslib">.</include>
<define name="_DISABLE_TIDENTS" />
<file>ntfslib.c</file>
</module>