mirror of
https://github.com/reactos/reactos.git
synced 2024-07-22 04:08:08 +00:00
untested implementation of the registry
svn path=/trunk/; revision=553
This commit is contained in:
parent
d913de5c14
commit
e0c5a61982
|
@ -3,13 +3,9 @@
|
|||
:
|
||||
: copy files to HD...
|
||||
:
|
||||
COPY /Y BLUE.SYS C:\reactos\system\drivers\blue.SYS > NUL:
|
||||
COPY /Y KEYBOARD.SYS C:\reactos\system\drivers\KEYBOARD.SYS > NUL:
|
||||
COPY /Y NTDLL.DLL C:\reactos\system\NTDLL.DLL > NUL:
|
||||
COPY /Y KERNEL32.DLL C:\reactos\system\KERNEL32.DLL > NUL:
|
||||
: COPY /Y CRTDLL.DLL C:\reactos\system\CRTDLL.DLL > NUL:
|
||||
COPY /Y SHELL.EXE C:\reactos\system\SHELL.EXE > NUL:
|
||||
|
||||
COPY /Y A:\DRIVERS\*.SYS C:\reactos\system\drivers > NUL:
|
||||
COPY /Y A:\DLLS\*.DLL C:\reactos\system > NUL:
|
||||
COPY /Y A:\APPS\*.EXE C:\reactos\system > NUL:
|
||||
:
|
||||
: present a menu to the booter...
|
||||
:
|
||||
|
|
|
@ -87,12 +87,8 @@ typedef struct _KEY_VALUE_PARTIAL_INFORMATION
|
|||
UCHAR Data[1];
|
||||
} KEY_VALUE_PARTIAL_INFORMATION, *PKEY_VALUE_PARTIAL_INFORMATION;
|
||||
|
||||
#define REG_OPTION_VOLATILE 0x00000000
|
||||
#define REG_OPTION_NON_VOLATILE 0x00000001
|
||||
#define REG_OPTION_CREATE_LINK 0x00000002
|
||||
#define REG_OPTION_BACKUP_RESTORE 0x00000004
|
||||
|
||||
#define REG_CREATED_NEW_KEY 1
|
||||
#define REG_OPENED_EXISTING_KEY 2
|
||||
|
||||
|
||||
|
|
|
@ -111,9 +111,9 @@ typedef USHORT CSHORT;
|
|||
typedef struct _TIME {
|
||||
DWORD LowPart;
|
||||
LONG HighPart;
|
||||
} TIME;
|
||||
} TIME, *PTIME;
|
||||
#endif
|
||||
|
||||
typedef ULARGE_INTEGER TIME;
|
||||
typedef ULARGE_INTEGER TIME, *PTIME;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -155,7 +155,7 @@ DWORD RtlNtStatusToDosError(NTSTATUS Status)
|
|||
|
||||
|
||||
case STATUS_PORT_ALREADY_SET:
|
||||
case STATUS_SECTION_NOT_IMAGE:
|
||||
// case STATUS_SECTION_NOT_IMAGE:
|
||||
case STATUS_BAD_WORKING_SET_LIMIT:
|
||||
case STATUS_INCOMPATIBLE_FILE_MAP:
|
||||
case STATUS_UNABLE_TO_FREE_VM:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: makefile_rex,v 1.3 1999/06/05 19:02:15 ariadne Exp $
|
||||
# $Id: makefile_rex,v 1.4 1999/06/14 07:37:52 rex Exp $
|
||||
#
|
||||
# ReactOS Operating System
|
||||
#
|
||||
|
@ -21,12 +21,12 @@ endif
|
|||
all: $(DLLTARGET)
|
||||
|
||||
|
||||
MISC_OBJECTS = misc/sprintf.o misc/exitwin.o misc/dllmain.o misc/string.o
|
||||
MISC_OBJECTS = misc/sprintf.o misc/exitwin.o misc/dllmain.o #misc/string.o
|
||||
|
||||
#RESOURCE_OBJECT = $(TARGET).coff
|
||||
|
||||
WINDOWS_OBJECTS = windows/message.o windows/wndproc.o windows/win.o windows/hook.o windows/spy.o\
|
||||
windows/queue.o
|
||||
#windows/queue.o
|
||||
|
||||
OBJECTS = $(MISC_OBJECTS) $(WINDOWS_OBJECTS)
|
||||
|
||||
|
|
|
@ -2,26 +2,30 @@
|
|||
echo copying latest files to a:...
|
||||
copy /Y bootflop.bat a:\autoexec.bat > NUL:
|
||||
echo bootflop.bat to a:\autoexec.bat
|
||||
copy /Y loaders\dos\loadros.com a: > NUL:
|
||||
copy /Y loaders\dos\loadros.com a:\ > NUL:
|
||||
echo loadros.com
|
||||
copy /Y ntoskrnl\ntoskrnl.exe a: > NUL:
|
||||
copy /Y ntoskrnl\ntoskrnl.exe a:\ > NUL:
|
||||
echo ntoskrnl.exe
|
||||
copy /Y services\dd\ide\ide.sys a: > NUL:
|
||||
copy /Y services\dd\ide\ide.sys a:\ > NUL:
|
||||
echo ide.sys
|
||||
copy /Y services\fs\vfat\vfatfsd.sys a: > NUL:
|
||||
copy /Y services\fs\vfat\vfatfsd.sys a:\ > NUL:
|
||||
echo vfatfsd.sys
|
||||
copy /Y services\dd\blue\blue.sys a: > NUL:
|
||||
copy /Y services\dd\blue\blue.sys a:\drivers > NUL:
|
||||
echo blue.sys
|
||||
copy /Y services\dd\keyboard\keyboard.sys a: > NUL:
|
||||
copy /Y services\dd\keyboard\keyboard.sys a:\drivers > NUL:
|
||||
echo keyboard.sys
|
||||
copy /Y lib\ntdll\ntdll.dll a: > NUL:
|
||||
echo ntdll.dll
|
||||
copy /Y lib\kernel32\kernel32.dll a: > NUL:
|
||||
echo kernel32.dll
|
||||
copy /Y apps\shell\shell.exe a: > NUL:
|
||||
copy /Y lib\ntdll\ntdll.dll a:\dlls > NUL:
|
||||
echo lib\advapi\ntdll.dll
|
||||
copy /Y lib\kernel32\kernel32.dll a:\dlls > NUL:
|
||||
echo lib\advapi\kernel32.dll
|
||||
copy /Y lib\advapi32\advapi32.dll a:\dlls > NUL:
|
||||
echo lib\advapi32\advapi32.dll a:
|
||||
copy /Y lib\user32\user32.dll a:\dlls > NUL:
|
||||
echo lib\user32\user32.dll a:
|
||||
copy /Y lib\crtdll\crtdll.dll a:\dlls > NUL:
|
||||
echo lib\crtdll\crtdll.dll a:
|
||||
copy /Y apps\shell\shell.exe a:\apps > NUL:
|
||||
echo shell.exe
|
||||
: copy /Y lib\crtdll\crtdll.dll a: > NUL:
|
||||
: echo lib\crtdll\crtdll.dll a:
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -22,7 +22,8 @@ SUBSYS = win32k
|
|||
#
|
||||
# Select the server(s) you want to build
|
||||
#
|
||||
SERVERS = win32 posix linux os2
|
||||
SERVERS = win32
|
||||
# SERVERS = posix linux os2
|
||||
|
||||
#
|
||||
# Select the loader(s) you want to build
|
||||
|
|
|
@ -15,14 +15,15 @@ include rules.mak
|
|||
# Required to run the system
|
||||
#
|
||||
COMPONENTS = iface_native ntoskrnl
|
||||
DLLS = ntdll kernel32 crtdll fmifs
|
||||
#DLLS = advapi32
|
||||
DLLS = ntdll kernel32 crtdll user32 fmifs gdi32
|
||||
#DLLS = advapi32 mingw32
|
||||
SUBSYS = win32k
|
||||
|
||||
#
|
||||
# Select the server(s) you want to build
|
||||
#
|
||||
SERVERS = win32 posix linux os2
|
||||
SERVERS = win32
|
||||
# SERVERS = posix linux os2
|
||||
|
||||
#
|
||||
# Select the loader(s) you want to build
|
||||
|
@ -33,10 +34,10 @@ LOADERS = dos
|
|||
#
|
||||
# Select the device drivers and filesystems you want
|
||||
#
|
||||
DEVICE_DRIVERS = blue ide keyboard mouse null parallel serial
|
||||
DEVICE_DRIVERS = blue ide keyboard mouse null parallel serial vidport
|
||||
# DEVICE_DRIVERS = beep event floppy ide_test sound test test1
|
||||
FS_DRIVERS = vfat ext2
|
||||
# FS_DRIVERS = template
|
||||
FS_DRIVERS = vfat
|
||||
# FS_DRIVERS = minix ext2 template
|
||||
KERNEL_SERVICES = $(DEVICE_DRIVERS) $(FS_DRIVERS)
|
||||
|
||||
APPS = args hello shell test cat bench
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -150,7 +150,7 @@ static struct _ERRLIST
|
|||
{STATUS_OBJECT_PATH_INVALID, "OBJECT_PATH_INVALID", NULL},
|
||||
{STATUS_OBJECT_PATH_NOT_FOUND, "OBJECT_PATH_NOT_FOUND", NULL},
|
||||
{STATUS_DFS_EXIT_PATH_FOUND, "DFS_EXIT_PATH_FOUND", NULL},
|
||||
{STATUS_OBJECT_PATH_SYNTAX_BAD, "OBJECT_PATH_SYNTAX_BAD", NULL},
|
||||
{STATUS_PATH_SYNTAX_BAD, "PATH_SYNTAX_BAD", NULL},
|
||||
{STATUS_DATA_OVERRUN, "DATA_OVERRUN", NULL},
|
||||
{STATUS_DATA_LATE_ERROR, "DATA_LATE_ERROR", NULL},
|
||||
{STATUS_DATA_ERROR, "DATA_ERROR", NULL},
|
||||
|
|
|
@ -165,28 +165,6 @@ VOID LdrInitModuleManagement(VOID)
|
|||
|
||||
}
|
||||
|
||||
static NTSTATUS
|
||||
LdrCreateModule(PVOID ObjectBody,
|
||||
PVOID Parent,
|
||||
PWSTR RemainingPath,
|
||||
POBJECT_ATTRIBUTES ObjectAttributes)
|
||||
{
|
||||
DPRINT("LdrCreateModule(ObjectBody %x, Parent %x, RemainingPath %w)\n",
|
||||
ObjectBody,
|
||||
Parent,
|
||||
RemainingPath);
|
||||
if (RemainingPath != NULL && wcschr(RemainingPath + 1, '\\') != NULL)
|
||||
{
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
if (Parent != NULL && RemainingPath != NULL)
|
||||
{
|
||||
ObAddEntryDirectory(Parent, ObjectBody, RemainingPath + 1);
|
||||
}
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* load the auto config drivers.
|
||||
*/
|
||||
|
@ -217,6 +195,28 @@ VOID LdrLoadAutoConfigDrivers(VOID)
|
|||
|
||||
}
|
||||
|
||||
static NTSTATUS
|
||||
LdrCreateModule(PVOID ObjectBody,
|
||||
PVOID Parent,
|
||||
PWSTR RemainingPath,
|
||||
POBJECT_ATTRIBUTES ObjectAttributes)
|
||||
{
|
||||
DPRINT("LdrCreateModule(ObjectBody %x, Parent %x, RemainingPath %w)\n",
|
||||
ObjectBody,
|
||||
Parent,
|
||||
RemainingPath);
|
||||
if (RemainingPath != NULL && wcschr(RemainingPath + 1, '\\') != NULL)
|
||||
{
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
if (Parent != NULL && RemainingPath != NULL)
|
||||
{
|
||||
ObAddEntryDirectory(Parent, ObjectBody, RemainingPath + 1);
|
||||
}
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* FUNCTION: Loads a kernel driver
|
||||
* ARGUMENTS:
|
||||
|
@ -633,31 +633,21 @@ LdrPEProcessModule(PVOID ModuleLoadBase)
|
|||
/* Check to make sure that import lib is kernel */
|
||||
pName = (PCHAR) DriverBase +
|
||||
ImportModuleDirectory->dwRVAModuleName;
|
||||
#if 0
|
||||
if (!strcmp(pName, "ntoskrnl.exe") || !strcmp(pName, "HAL.dll"))
|
||||
wcscpy(NameBuffer, MODULE_ROOT_NAME);
|
||||
for (Idx = 0; NameBuffer[Idx] != 0; Idx++)
|
||||
;
|
||||
for (Idx2 = 0; pName[Idx2] != '\0'; Idx2++)
|
||||
{
|
||||
LibraryModuleObject = NULL;
|
||||
DPRINT("Kernel imports\n");
|
||||
NameBuffer[Idx + Idx2] = (WCHAR) pName[Idx2];
|
||||
}
|
||||
else
|
||||
#endif
|
||||
NameBuffer[Idx + Idx2] = 0;
|
||||
ModuleName.Length = ModuleName.MaximumLength = wcslen(NameBuffer);
|
||||
ModuleName.Buffer = NameBuffer;
|
||||
DPRINT("Import module: %W\n", &ModuleName);
|
||||
LibraryModuleObject = LdrLoadModule(&ModuleName);
|
||||
if (LibraryModuleObject == 0)
|
||||
{
|
||||
wcscpy(NameBuffer, MODULE_ROOT_NAME);
|
||||
for (Idx = 0; NameBuffer[Idx] != 0; Idx++)
|
||||
;
|
||||
for (Idx2 = 0; pName[Idx2] != '\0'; Idx2++)
|
||||
{
|
||||
NameBuffer[Idx + Idx2] = (WCHAR) pName[Idx2];
|
||||
}
|
||||
NameBuffer[Idx + Idx2] = 0;
|
||||
ModuleName.Length = ModuleName.MaximumLength = wcslen(NameBuffer);
|
||||
ModuleName.Buffer = NameBuffer;
|
||||
DPRINT("Import module: %W\n", &ModuleName);
|
||||
LibraryModuleObject = LdrLoadModule(&ModuleName);
|
||||
if (LibraryModuleObject == 0)
|
||||
{
|
||||
DbgPrint("Unknown import module: %W\n", &ModuleName);
|
||||
}
|
||||
DbgPrint("Unknown import module: %W\n", &ModuleName);
|
||||
}
|
||||
/* Get the import address list */
|
||||
ImportAddressList = (PVOID *) ((DWORD)DriverBase +
|
||||
|
@ -699,18 +689,7 @@ LdrPEProcessModule(PVOID ModuleLoadBase)
|
|||
}
|
||||
else
|
||||
{
|
||||
#if 0
|
||||
/* Get address for symbol */
|
||||
*SymbolNameBuf = '_';
|
||||
strcpy(SymbolNameBuf + 1, pName);
|
||||
*ImportAddressList = (PVOID) LdrGetKernelSymbolAddr(SymbolNameBuf);
|
||||
if (*ImportAddressList == 0L)
|
||||
{
|
||||
DbgPrint("Unresolved kernel symbol: %s\n", pName);
|
||||
}
|
||||
#else
|
||||
DbgPrint("Unresolved kernel symbol: %s\n", pName);
|
||||
#endif
|
||||
}
|
||||
ImportAddressList++;
|
||||
FunctionNameList++;
|
||||
|
@ -878,44 +857,4 @@ LdrPEGetEnclosingSectionHeader(DWORD RVA,
|
|||
return 0;
|
||||
}
|
||||
|
||||
#if 0
|
||||
/*
|
||||
* FUNCTION: Get the address of a kernel symbol
|
||||
* ARGUMENTS:
|
||||
* name = symbol name
|
||||
* RETURNS: The address of the symbol on success
|
||||
* NULL on failure
|
||||
*/
|
||||
|
||||
static unsigned int
|
||||
LdrGetKernelSymbolAddr(char *Name)
|
||||
{
|
||||
int i = 0;
|
||||
char* s;
|
||||
|
||||
if ((s=strchr(Name,'@'))!=NULL)
|
||||
{
|
||||
*s=0;
|
||||
DPRINT("Name %s ",Name);
|
||||
}
|
||||
while (symbol_table[i].name != NULL)
|
||||
{
|
||||
if (strcmp(symbol_table[i].name, Name) == 0)
|
||||
{
|
||||
if (s!=NULL)
|
||||
{
|
||||
*s=0;
|
||||
DPRINT("Matched with %s\n",symbol_table[i].name);
|
||||
}
|
||||
return symbol_table[i].value;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
if (s!=NULL)
|
||||
{
|
||||
*s=0;
|
||||
}
|
||||
return 0L;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -30,6 +30,8 @@ NASM_CMD = nasm
|
|||
RM = del
|
||||
KM_SPECS = specs
|
||||
DOSCLI = yes
|
||||
FLOPPY_DIR=A:
|
||||
DIST_DIR=dist
|
||||
endif
|
||||
|
||||
#
|
||||
|
|
Loading…
Reference in a new issue