[ros-kernel] Differences between ntdll and ntoskrnl Rtl functions
Gunnar Dalsnes
hardon at online.no
Sun May 30 06:24:23 CEST 2004
Hi,
I'm currently creating a Rtl library, merging the common ntdll and ntoskrnl
Rtl routines. So far i have merged unicode.c, nls.c, random.c, compress.c
and largeint.c. I'm trying to sort out some differences in other files and
need help:
Bitmap.c:
ntdll:
Ptr = (PUCHAR)BitMapHeader->Buffer + (StartingIndex / 8); etc. etc.
Ntoskrnl:
Ptr = (PULONG)BitMapHeader->Buffer + (StartingIndex / 32); etc. etc.
Any reason for this difference?
Atom.c:
Ntdll:
static BOOLEAN
RtlpLockAtomTable(PRTL_ATOM_TABLE AtomTable)
{
RtlEnterCriticalSection((PCRITICAL_SECTION)AtomTable->Lock);
return TRUE;
}
static VOID
RtlpUnlockAtomTable(PRTL_ATOM_TABLE AtomTable)
{
RtlLeaveCriticalSection((PCRITICAL_SECTION)AtomTable->Lock);
}
Ntoskrnl:
static BOOLEAN
RtlpLockAtomTable(PRTL_ATOM_TABLE AtomTable)
{
// ExAcquireFastMutex((PFAST_MUTEX)AtomTable->Lock);
return TRUE;
}
static VOID
RtlpUnlockAtomTable(PRTL_ATOM_TABLE AtomTable)
{
// ExReleaseFastMutex((PFAST_MUTEX)AtomTable->Lock);
}
Any reason for why the locking of atom tables in ntoskrnl is commented out?
-Gunnar
More information about the Ros-kernel
mailing list