#include <debug.h>
extern ULONG ExpInitializationPhase;
-extern BOOLEAN SysThreadCreated;
PVOID KeUserPopEntrySListEnd;
PVOID KeUserPopEntrySListFault;
PVOID PspSystemDllEntryPoint;
UNICODE_STRING PsNtDllPathName =
- RTL_CONSTANT_STRING(L"\\SystemRoot\\system32\\ntdll.dll");
+ RTL_CONSTANT_STRING(L"\\SystemRoot\\System32\\ntdll.dll");
PHANDLE_TABLE PspCidTable;
PEPROCESS PsInitialSystemProcess = NULL;
PEPROCESS PsIdleProcess = NULL;
-HANDLE PspInitialSystemProcessHandle;
+HANDLE PspInitialSystemProcessHandle = NULL;
ULONG PsMinimumWorkingSet, PsMaximumWorkingSet;
struct
NTSTATUS
NTAPI
-INIT_FUNCTION
PspMapSystemDll(IN PEPROCESS Process,
IN PVOID *DllBase,
IN BOOLEAN UseLargePages)
LARGE_INTEGER Offset = {{0, 0}};
SIZE_T ViewSize = 0;
PVOID ImageBase = 0;
-
+
/* Map the System DLL */
Status = MmMapViewOfSection(PspSystemDllSection,
Process,
/* Normalize status code */
Status = STATUS_CONFLICTING_ADDRESSES;
}
-
+
/* Write the image base and return status */
if (DllBase) *DllBase = ImageBase;
return Status;
BOOLEAN
NTAPI
INIT_FUNCTION
-PspInitPhase1()
+PspInitPhase1(VOID)
{
/* Initialize the System DLL and return status of operation */
if (!NT_SUCCESS(PspInitializeSystemDll())) return FALSE;
(PVOID*)&SysThread,
NULL);
ObCloseHandle(SysThreadHandle, KernelMode);
- SysThreadCreated = TRUE;
/* Return success */
return TRUE;
*/
BOOLEAN
NTAPI
-PsGetVersion(IN PULONG MajorVersion OPTIONAL,
- IN PULONG MinorVersion OPTIONAL,
- IN PULONG BuildNumber OPTIONAL,
- IN PUNICODE_STRING CSDVersion OPTIONAL)
+PsGetVersion(OUT PULONG MajorVersion OPTIONAL,
+ OUT PULONG MinorVersion OPTIONAL,
+ OUT PULONG BuildNumber OPTIONAL,
+ OUT PUNICODE_STRING CSDVersion OPTIONAL)
{
if (MajorVersion) *MajorVersion = NtMajorVersion;
if (MinorVersion) *MinorVersion = NtMinorVersion;
- if (BuildNumber) *BuildNumber = NtBuildNumber;
+ if (BuildNumber ) *BuildNumber = NtBuildNumber & 0x3FFF;
if (CSDVersion)
{
- CSDVersion->Length = 0;
- CSDVersion->MaximumLength = 0;
- CSDVersion->Buffer = NULL;
-#if 0
CSDVersion->Length = CmCSDVersionString.Length;
- CSDVersion->MaximumLength = CmCSDVersionString.Maximum;
+ CSDVersion->MaximumLength = CmCSDVersionString.MaximumLength;
CSDVersion->Buffer = CmCSDVersionString.Buffer;
-#endif
}
- /* Check the High word */
+ /* Return TRUE if this is a Checked Build */
return (NtBuildNumber >> 28) == 0xC;
}
-NTSTATUS
-NTAPI
-NtApphelpCacheControl(IN APPHELPCACHESERVICECLASS Service,
- IN PVOID ServiceData)
-{
- UNIMPLEMENTED;
- return STATUS_NOT_IMPLEMENTED;
-}
-
/* EOF */