mirror of
https://github.com/reactos/reactos.git
synced 2025-06-03 08:20:27 +00:00
- Uncomment NTDLL exports which we implement, and add stubs for numerous routines
- Add missing prototypes to NDK - Implement RtlInterlockedCompareExchange64 and RtlGetCurrentProcessorNumber - Rename RtlpCurrentPeb to RtlGetCurrentPeb and export it from NTDLL svn path=/trunk/; revision=36166
This commit is contained in:
parent
86cb400689
commit
420195308d
18 changed files with 544 additions and 62 deletions
|
@ -92,13 +92,13 @@ LdrEnumResources@20
|
|||
LdrFindEntryForAddress@8
|
||||
;LdrEnumerateLoadedModules
|
||||
;LdrFindCreateProcessManifest
|
||||
;LdrFindEntryForAddress
|
||||
LdrFindEntryForAddress@8
|
||||
LdrFindResourceDirectory_U@16
|
||||
;LdrFindResourceEx_U
|
||||
LdrFindResource_U@16
|
||||
LdrGetDllHandle@16
|
||||
;LdrFlushAlternateResourceModules
|
||||
;LdrGetDllHandle
|
||||
LdrGetDllHandle@16
|
||||
;LdrGetDllHandleEx
|
||||
LdrGetProcedureAddress@16
|
||||
;LdrHotPatchRoutine
|
||||
|
@ -106,7 +106,7 @@ LdrGetProcedureAddress@16
|
|||
LdrInitializeThunk@16
|
||||
;LdrLoadAlternateResourceModule
|
||||
LdrLoadDll@16
|
||||
;LdrLockLoaderLock
|
||||
LdrLockLoaderLock@12
|
||||
;LdrOpenImageFileOptionsKey
|
||||
LdrProcessRelocationBlock@16
|
||||
LdrQueryImageFileExecutionOptions@24
|
||||
|
@ -117,9 +117,9 @@ LdrQueryProcessModuleInformation@12
|
|||
;LdrSetDllManifestProber
|
||||
LdrShutdownProcess@0
|
||||
LdrShutdownThread@0
|
||||
;LdrUnloadAlternateResourceModule
|
||||
LdrUnloadAlternateResourceModule@4
|
||||
LdrUnloadDll@4
|
||||
;LdrUnlockLoaderLock
|
||||
LdrUnlockLoaderLock@8
|
||||
LdrVerifyImageMatchesChecksum@16
|
||||
NlsAnsiCodePage DATA
|
||||
NlsMbCodePageTag DATA
|
||||
|
@ -430,14 +430,14 @@ NtYieldExecution@0
|
|||
;RtlAbortRXact
|
||||
RtlAbsoluteToSelfRelativeSD@12
|
||||
RtlAcquirePebLock@0
|
||||
;RtlAcquirePrivilege
|
||||
RtlAcquirePrivilege@16
|
||||
RtlAcquireResourceExclusive@8
|
||||
RtlAcquireResourceShared@8
|
||||
RtlAcquireSRWLockExclusive@4
|
||||
RtlAcquireSRWLockShared@4
|
||||
;RtlActivateActivationContext
|
||||
;RtlActivateActivationContextEx
|
||||
;RtlActivateActivationContextUnsafeFast
|
||||
RtlActivateActivationContextUnsafeFast@8
|
||||
RtlAddAccessAllowedAce@16
|
||||
RtlAddAccessAllowedAceEx@20
|
||||
RtlAddAccessAllowedObjectAce@28
|
||||
|
@ -453,13 +453,13 @@ RtlAddAuditAccessAceEx@28
|
|||
RtlAddAuditAccessObjectAce@36
|
||||
;RtlAddCompoundAce
|
||||
RtlAddMandatoryAce@24
|
||||
;RtlAddRefActivationContext
|
||||
RtlAddRefActivationContext@4
|
||||
;RtlAddRefMemoryStream
|
||||
;RtlAddVectoredContinueHandler
|
||||
RtlAddVectoredExceptionHandler@8
|
||||
;RtlAddressInSectionTable
|
||||
RtlAdjustPrivilege@16
|
||||
;RtlAllocateActivationContextStack
|
||||
RtlAllocateActivationContextStack@4
|
||||
RtlAllocateAndInitializeSid@44
|
||||
RtlAllocateHandle@8
|
||||
RtlAllocateHeap@12
|
||||
|
@ -479,7 +479,7 @@ RtlAreBitsClear@12
|
|||
RtlAreBitsSet@12
|
||||
RtlAssert@16
|
||||
;RtlCancelTimer
|
||||
;RtlCaptureContext
|
||||
RtlCaptureContext@4
|
||||
RtlCaptureStackBackTrace@16
|
||||
;RtlCaptureStackContext
|
||||
RtlCharToInteger@12
|
||||
|
@ -530,7 +530,7 @@ RtlCreateProcessParameters@40
|
|||
RtlCreateQueryDebugBuffer@8
|
||||
RtlCreateRegistryKey@8
|
||||
RtlCreateSecurityDescriptor@8
|
||||
;RtlCreateSystemVolumeInformationFolder
|
||||
RtlCreateSystemVolumeInformationFolder@4
|
||||
RtlCreateTagHeap@16
|
||||
RtlCreateTimer@28
|
||||
RtlCreateTimerQueue@4
|
||||
|
@ -542,9 +542,10 @@ RtlCreateUserThread@40
|
|||
RtlCustomCPToUnicodeN@24
|
||||
RtlCutoverTimeToSystemTime@16
|
||||
RtlDeNormalizeProcessParams@4
|
||||
;RtlDeactivateActivationContext
|
||||
RtlDeactivateActivationContext@8
|
||||
RtlDeactivateActivationContextUnsafeFast@4
|
||||
RtlDecodePointer=RtlEncodePointer@4
|
||||
;RtlDecodeSystemPointer
|
||||
RtlDecodeSystemPointer@4=RtlEncodeSystemPointer@4
|
||||
RtlDecompressBuffer@24
|
||||
RtlDecompressFragment@32
|
||||
;RtlDefaultNpAcl
|
||||
|
@ -587,7 +588,7 @@ RtlDuplicateUnicodeString@12
|
|||
RtlEmptyAtomTable@8
|
||||
;RtlEnableEarlyCriticalSectionEventCreation
|
||||
RtlEncodePointer@4
|
||||
;RtlEncodeSystemPointer
|
||||
RtlEncodeSystemPointer@4
|
||||
RtlEnlargedIntegerMultiply@8
|
||||
RtlEnlargedUnsignedDivide@16
|
||||
RtlEnlargedUnsignedMultiply@8
|
||||
|
@ -616,8 +617,8 @@ RtlFillMemory@12
|
|||
RtlFillMemoryUlong@12
|
||||
;RtlFinalReleaseOutOfProcessMemoryStream
|
||||
;RtlFindActivationContextSectionGuid
|
||||
;RtlFindActivationContextSectionString
|
||||
;RtlFindCharInUnicodeString
|
||||
RtlFindActivationContextSectionString@20
|
||||
RtlFindCharInUnicodeString@16
|
||||
RtlFindClearBits@12
|
||||
RtlFindClearBitsAndSet@12
|
||||
RtlFindClearRuns@16
|
||||
|
@ -629,9 +630,9 @@ RtlFindMostSignificantBit@8
|
|||
RtlFindNextForwardRunClear@12
|
||||
RtlFindSetBits@12
|
||||
RtlFindSetBitsAndClear@12
|
||||
;RtlFirstEntrySList
|
||||
RtlFirstEntrySList@4
|
||||
RtlFirstFreeAce@8
|
||||
;RtlFlushSecureMemoryCache
|
||||
RtlFlushSecureMemoryCache@8
|
||||
RtlFormatCurrentUserKeyPath@4
|
||||
RtlFormatMessage@32
|
||||
;RtlFormatMessageEx
|
||||
|
@ -647,14 +648,14 @@ RtlFreeUserThreadStack@8
|
|||
RtlGUIDFromString@8
|
||||
RtlGenerate8dot3Name@16
|
||||
RtlGetAce@12
|
||||
;RtlGetActiveActivationContext
|
||||
;RtlGetCallersAddress
|
||||
RtlGetActiveActivationContext@4
|
||||
RtlGetCallersAddress@8
|
||||
RtlGetCompressionWorkSpaceSize@12
|
||||
RtlGetControlSecurityDescriptor@12
|
||||
;RtlGetCriticalSectionRecursionCount
|
||||
RtlGetCurrentDirectory_U@8
|
||||
;RtlGetCurrentPeb
|
||||
;RtlGetCurrentProcessorNumber
|
||||
RtlGetCurrentPeb@0
|
||||
RtlGetCurrentProcessorNumber@0
|
||||
RtlGetDaclSecurityDescriptor@16
|
||||
RtlGetElementGenericTable@8
|
||||
RtlGetElementGenericTableAvl@8
|
||||
|
@ -689,7 +690,7 @@ RtlImageRvaToSection@12
|
|||
RtlImageRvaToVa@16
|
||||
RtlImpersonateSelf@4
|
||||
RtlInitAnsiString@8
|
||||
;RtlInitAnsiStringEx
|
||||
RtlInitAnsiStringEx@8
|
||||
RtlInitCodePageTable@8
|
||||
;RtlInitMemoryStream
|
||||
RtlInitNlsTables@16
|
||||
|
@ -708,7 +709,7 @@ RtlInitializeGenericTableAvl@20
|
|||
RtlInitializeHandleTable@12
|
||||
;RtlInitializeRXact
|
||||
RtlInitializeResource@4
|
||||
;RtlInitializeSListHead
|
||||
RtlInitializeSListHead@4
|
||||
RtlInitializeSid@12
|
||||
RtlInitializeSRWLock@4
|
||||
RtlInsertElementGenericTable@16
|
||||
|
@ -718,11 +719,11 @@ RtlInsertElementGenericTableFullAvl@24
|
|||
RtlInt64ToUnicodeString@16
|
||||
RtlIntegerToChar@16
|
||||
RtlIntegerToUnicodeString@12
|
||||
;RtlInterlockedCompareExchange64
|
||||
;RtlInterlockedFlushSList
|
||||
;RtlInterlockedPopEntrySList
|
||||
;RtlInterlockedPushEntrySList
|
||||
;RtlInterlockedPushListSList
|
||||
RtlInterlockedCompareExchange64@20
|
||||
RtlInterlockedFlushSList@4
|
||||
RtlInterlockedPopEntrySList@4
|
||||
RtlInterlockedPushEntrySList@8
|
||||
RtlInterlockedPushListSList@16
|
||||
RtlIpv4AddressToStringA@8
|
||||
RtlIpv4AddressToStringExA@16
|
||||
RtlIpv4AddressToStringExW@16
|
||||
|
@ -779,8 +780,8 @@ RtlMoveMemory@12
|
|||
;RtlMultiAppendUnicodeStringBuffer
|
||||
RtlMultiByteToUnicodeN@20
|
||||
RtlMultiByteToUnicodeSize@12
|
||||
;RtlMultipleAllocateHeap
|
||||
;RtlMultipleFreeHeap
|
||||
RtlMultipleAllocateHeap@20
|
||||
RtlMultipleFreeHeap@16
|
||||
;RtlNewInstanceSecurityObject
|
||||
;RtlNewSecurityGrantedAccess
|
||||
RtlNewSecurityObject@24
|
||||
|
@ -789,7 +790,7 @@ RtlNewSecurityObject@24
|
|||
RtlNormalizeProcessParams@4
|
||||
RtlNtPathNameToDosPathName@16
|
||||
RtlNtStatusToDosError@4
|
||||
;RtlNtStatusToDosErrorNoTeb
|
||||
RtlNtStatusToDosErrorNoTeb@4
|
||||
RtlNumberGenericTableElements@4
|
||||
RtlNumberGenericTableElementsAvl@4
|
||||
RtlNumberOfClearBits@4
|
||||
|
@ -803,14 +804,14 @@ RtlPinAtomInAtomTable@8
|
|||
;RtlPopFrame
|
||||
RtlPrefixString@12
|
||||
RtlPrefixUnicodeString@12
|
||||
;RtlProtectHeap
|
||||
RtlProtectHeap@8
|
||||
;RtlPushFrame
|
||||
RtlQueryAtomInAtomTable@24
|
||||
;RtlQueryDepthSList
|
||||
RtlQueryDepthSList@4
|
||||
RtlQueryEnvironmentVariable_U@12
|
||||
;RtlQueryHeapInformation
|
||||
RtlQueryHeapInformation@20
|
||||
RtlQueryInformationAcl@16
|
||||
;RtlQueryInformationActivationContext
|
||||
RtlQueryInformationActivationContext@28
|
||||
;RtlQueryInformationActiveActivationContext
|
||||
;RtlQueryInterfaceMemoryStream
|
||||
;RtlQueryProcessBackTraceInformation
|
||||
|
@ -832,17 +833,17 @@ RtlReAllocateHeap@16
|
|||
;RtlReadOutOfProcessMemoryStream
|
||||
RtlRealPredecessor@4
|
||||
RtlRealSuccessor@4
|
||||
;RtlRegisterSecureMemoryCacheCallback
|
||||
RtlRegisterSecureMemoryCacheCallback@4
|
||||
RtlRegisterWait@24
|
||||
;RtlReleaseActivationContext
|
||||
RtlReleaseActivationContext@4
|
||||
;RtlReleaseMemoryStream
|
||||
RtlReleasePebLock@0
|
||||
;RtlReleasePrivilege
|
||||
RtlReleasePrivilege@4
|
||||
RtlReleaseRelativeName@4
|
||||
RtlReleaseResource@4
|
||||
RtlReleaseSRWLockExclusive@4
|
||||
RtlReleaseSRWLockShared@4
|
||||
;RtlRemoteCall
|
||||
RtlRemoteCall@28
|
||||
;RtlRemoveVectoredContinueHandler
|
||||
RtlRemoveVectoredExceptionHandler@4
|
||||
RtlResetRtlTranslations@4
|
||||
|
@ -866,7 +867,7 @@ RtlSetDaclSecurityDescriptor@16
|
|||
;RtlSetEnvironmentStrings
|
||||
RtlSetEnvironmentVariable@12
|
||||
RtlSetGroupSecurityDescriptor@12
|
||||
;RtlSetHeapInformation
|
||||
RtlSetHeapInformation@16
|
||||
RtlSetInformationAcl@16
|
||||
;RtlSetIoCompletionCallback
|
||||
RtlSetLastWin32Error@4
|
||||
|
@ -883,7 +884,7 @@ RtlSetSecurityObject@20
|
|||
;RtlSetThreadPoolStartFunc
|
||||
RtlSetTimeZoneInformation@4
|
||||
;RtlSetTimer
|
||||
;RtlSetUnhandledExceptionFilter
|
||||
RtlSetUnhandledExceptionFilter@4
|
||||
;RtlSetUnicodeCallouts
|
||||
RtlSetUserFlagsHeap@16
|
||||
RtlSetUserValueHeap@16
|
||||
|
@ -953,18 +954,18 @@ RtlValidateHeap@12
|
|||
RtlValidateProcessHeaps@0
|
||||
RtlValidateUnicodeString@8
|
||||
RtlVerifyVersionInfo@16
|
||||
;RtlWalkFrameChain
|
||||
;RtlWalkHeap
|
||||
RtlWalkFrameChain@12
|
||||
RtlWalkHeap@8
|
||||
;RtlWow64EnableFsRedirection
|
||||
;RtlWow64EnableFsRedirectionEx
|
||||
RtlWakeAllConditionVariable@4
|
||||
RtlWakeConditionVariable@4
|
||||
RtlWriteRegistryValue@24
|
||||
;RtlWriteMemoryStream
|
||||
;RtlWriteRegistryValue
|
||||
;RtlZeroHeap
|
||||
RtlWriteRegistryValue@24
|
||||
RtlZeroHeap@8
|
||||
RtlZeroMemory@8
|
||||
;RtlZombifyActivationContext
|
||||
RtlZombifyActivationContext@4
|
||||
;RtlpApplyLengthFunction
|
||||
RtlpEnsureBufferSize@12
|
||||
;RtlpNotOwnerCriticalSection
|
||||
|
@ -1285,7 +1286,7 @@ __iscsym
|
|||
__iscsymf
|
||||
__toascii
|
||||
_alldiv
|
||||
;_alldvrm
|
||||
_alldvrm
|
||||
_allmul
|
||||
_alloca_probe
|
||||
_allrem
|
||||
|
@ -1293,7 +1294,7 @@ _allshl
|
|||
_allshr
|
||||
_atoi64
|
||||
_aulldiv
|
||||
;_aulldvrm
|
||||
_aulldvrm
|
||||
_aullrem
|
||||
_aullshr
|
||||
_chkstk
|
||||
|
|
|
@ -3239,4 +3239,29 @@ LdrProcessRelocationBlock(IN ULONG_PTR Address,
|
|||
return (PIMAGE_BASE_RELOCATION)TypeOffset;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
LdrLockLoaderLock(IN ULONG Flags,
|
||||
OUT PULONG Disposition OPTIONAL,
|
||||
OUT PULONG Cookie OPTIONAL)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
LdrUnlockLoaderLock(IN ULONG Flags,
|
||||
IN ULONG Cookie OPTIONAL)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
LdrUnloadAlternateResourceModule(IN PVOID BaseAddress)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
@ -63,9 +63,12 @@ RtlpGetMode()
|
|||
return UserMode;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
PPEB
|
||||
NTAPI
|
||||
RtlpCurrentPeb(VOID)
|
||||
RtlGetCurrentPeb(VOID)
|
||||
{
|
||||
return NtCurrentPeb();
|
||||
}
|
||||
|
|
|
@ -59,6 +59,7 @@ LdrFindResourceDirectory_U(
|
|||
);
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
LdrUnloadAlternateResourceModule(
|
||||
IN PVOID BaseAddress
|
||||
);
|
||||
|
@ -86,6 +87,7 @@ LdrRelocateImage(
|
|||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
LdrLockLoaderLock(
|
||||
IN ULONG Flags,
|
||||
OUT PULONG Disposition OPTIONAL,
|
||||
|
|
|
@ -407,6 +407,13 @@ RtlNtStatusToDosError(
|
|||
IN NTSTATUS Status
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
RtlNtStatusToDosErrorNoTeb(
|
||||
IN NTSTATUS Status
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
|
@ -567,6 +574,14 @@ RtlGetUserInfoHeap(
|
|||
OUT PULONG UserFlags
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
RtlProtectHeap(
|
||||
IN PVOID HeapHandle,
|
||||
IN BOOLEAN Protect
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
PWSTR
|
||||
NTAPI
|
||||
|
@ -647,6 +662,14 @@ RtlValidateHeap(
|
|||
PVOID P
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlWalkHeap(
|
||||
IN HANDLE HeapHandle,
|
||||
IN PVOID HeapEntry
|
||||
);
|
||||
|
||||
#define RtlGetProcessHeap() (NtCurrentPeb()->ProcessHeap)
|
||||
|
||||
//
|
||||
|
@ -1883,6 +1906,13 @@ RtlFillMemoryUlong(
|
|||
//
|
||||
// Process Management Functions
|
||||
//
|
||||
NTSYSAPI
|
||||
PPEB
|
||||
NTAPI
|
||||
RtlGetCurrentPeb(
|
||||
VOID
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
|
@ -1972,6 +2002,19 @@ VOID
|
|||
NTAPI
|
||||
RtlReleasePebLock(VOID);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlRemoteCall(
|
||||
IN HANDLE Process,
|
||||
IN HANDLE Thread,
|
||||
IN PVOID CallSite,
|
||||
IN ULONG ArgumentCount,
|
||||
IN PULONG Arguments,
|
||||
IN BOOLEAN PassContext,
|
||||
IN BOOLEAN AlreadySuspended
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
|
@ -1981,6 +2024,13 @@ RtlSetProcessIsCritical(
|
|||
IN BOOLEAN IsWinlogon
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
RtlGetCurrentProcessorNumber(
|
||||
VOID
|
||||
);
|
||||
|
||||
#define NtCurrentPeb() (NtCurrentTeb()->ProcessEnvironmentBlock)
|
||||
|
||||
//
|
||||
|
@ -2771,6 +2821,15 @@ LdrRelocateImageWithBias(
|
|||
// Activation Context Functions
|
||||
//
|
||||
#ifdef NTOS_MODE_USER
|
||||
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
RtlAddRefActivationContext(
|
||||
PVOID Context
|
||||
);
|
||||
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
|
@ -2800,6 +2859,14 @@ RtlReleaseActivationContext(
|
|||
IN PVOID *Context
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlDeactivateActivationContext(
|
||||
DWORD dwFlags,
|
||||
ULONG_PTR ulCookie
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
|
@ -2832,6 +2899,28 @@ RtlFindActivationContextSectionString(
|
|||
IN PUNICODE_STRING SectionName,
|
||||
IN PVOID Unknown2
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlQueryInformationActivationContext(
|
||||
DWORD dwFlags,
|
||||
PVOID Context,
|
||||
PVOID pvSubInstance,
|
||||
ULONG ulInfoClass,
|
||||
PVOID pvBuffer,
|
||||
SIZE_T cbBuffer OPTIONAL,
|
||||
SIZE_T *pcbWrittenOrRequired OPTIONAL
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlZombifyActivationContext(
|
||||
PVOID Context
|
||||
);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
|
|
106
reactos/lib/rtl/actctx.c
Normal file
106
reactos/lib/rtl/actctx.c
Normal file
|
@ -0,0 +1,106 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS Runtime Library
|
||||
* PURPOSE: Activation Context Support
|
||||
* FILE: lib/rtl/actctx.c
|
||||
* PROGRAMERS: Stefan Ginsberg (stefan__100__@hotmail.com)
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <rtl.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* FUNCTIONS ***************************************************************/
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
RtlAddRefActivationContext(PVOID Context)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlActivateActivationContextUnsafeFast(IN PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED Frame,
|
||||
IN PVOID Context)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlAllocateActivationContextStack(IN PVOID *Context)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlGetActiveActivationContext(IN PVOID *Context)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
RtlReleaseActivationContext(IN PVOID *Context)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlFindActivationContextSectionString(IN PVOID Unknown0,
|
||||
IN PVOID Unknown1,
|
||||
IN ULONG SectionType,
|
||||
IN PUNICODE_STRING SectionName,
|
||||
IN PVOID Unknown2)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlQueryInformationActivationContext(DWORD dwFlags,
|
||||
PVOID Context,
|
||||
PVOID pvSubInstance,
|
||||
ULONG ulInfoClass,
|
||||
PVOID pvBuffer,
|
||||
SIZE_T cbBuffer OPTIONAL,
|
||||
SIZE_T *pcbWrittenOrRequired OPTIONAL)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlZombifyActivationContext(PVOID Context)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlDeactivateActivationContext(DWORD dwFlags,
|
||||
ULONG_PTR ulCookie)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlDeactivateActivationContextUnsafeFast(IN PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED Frame)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
|
@ -12,7 +12,6 @@
|
|||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
PPEB NTAPI RtlpCurrentPeb(VOID);
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
/*
|
||||
|
@ -508,7 +507,7 @@ RtlQueryEnvironmentVariable_U(PWSTR Environment,
|
|||
|
||||
if (Environment == NULL)
|
||||
{
|
||||
PPEB Peb = RtlpCurrentPeb();
|
||||
PPEB Peb = RtlGetCurrentPeb();
|
||||
if (Peb) {
|
||||
Environment = Peb->ProcessParameters->Environment;
|
||||
SysEnvUsed = TRUE;
|
||||
|
|
|
@ -870,7 +870,7 @@ RtlMapSecurityErrorToNtStatus(
|
|||
*
|
||||
* @implemented
|
||||
*/
|
||||
DWORD NTAPI
|
||||
ULONG NTAPI
|
||||
RtlNtStatusToDosErrorNoTeb(IN NTSTATUS Status)
|
||||
{
|
||||
PERROR_TABLE Table = (PERROR_TABLE)ErrorTable;
|
||||
|
|
|
@ -169,4 +169,13 @@ RtlUnhandledExceptionFilter(IN struct _EXCEPTION_POINTERS* ExceptionInfo)
|
|||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
PVOID
|
||||
NTAPI
|
||||
RtlSetUnhandledExceptionFilter(IN PVOID TopLevelExceptionFilter)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -1869,4 +1869,66 @@ RtlCreateTagHeap(IN HANDLE HeapHandle,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlWalkHeap(IN HANDLE HeapHandle,
|
||||
IN PVOID HeapEntry)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
PVOID
|
||||
NTAPI
|
||||
RtlProtectHeap(IN PVOID HeapHandle,
|
||||
IN BOOLEAN ReadOnly)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
DWORD
|
||||
NTAPI
|
||||
RtlSetHeapInformation(IN HANDLE HeapHandle OPTIONAL,
|
||||
IN HEAP_INFORMATION_CLASS HeapInformationClass,
|
||||
IN PVOID HeapInformation,
|
||||
IN SIZE_T HeapInformationLength)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
DWORD
|
||||
NTAPI
|
||||
RtlQueryHeapInformation(HANDLE HeapHandle,
|
||||
HEAP_INFORMATION_CLASS HeapInformationClass,
|
||||
PVOID HeapInformation OPTIONAL,
|
||||
SIZE_T HeapInformationLength OPTIONAL,
|
||||
PSIZE_T ReturnLength OPTIONAL)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
DWORD
|
||||
NTAPI
|
||||
RtlMultipleAllocateHeap(IN PVOID HeapHandle,
|
||||
IN DWORD Flags,
|
||||
IN SIZE_T Size,
|
||||
IN DWORD Count,
|
||||
OUT PVOID *Array)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
DWORD
|
||||
NTAPI
|
||||
RtlMultipleFreeHeap(IN PVOID HeapHandle,
|
||||
IN DWORD Flags,
|
||||
IN DWORD Count,
|
||||
OUT PVOID *Array)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
|
62
reactos/lib/rtl/interlck.c
Normal file
62
reactos/lib/rtl/interlck.c
Normal file
|
@ -0,0 +1,62 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS Runtime Library
|
||||
* PURPOSE: RTL Interlocked Routines
|
||||
* FILE: lib/rtl/interlck.c
|
||||
* PROGRAMERS: Stefan Ginsberg (stefan__100__@hotmail.com)
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <rtl.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* FUNCTIONS ***************************************************************/
|
||||
|
||||
PSLIST_ENTRY
|
||||
NTAPI
|
||||
RtlInterlockedPopEntrySList(IN PSLIST_HEADER ListHead)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
PSLIST_ENTRY
|
||||
NTAPI
|
||||
RtlInterlockedPushEntrySList(IN PSLIST_HEADER ListHead,
|
||||
IN PSLIST_ENTRY ListEntry)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
PSLIST_ENTRY
|
||||
NTAPI
|
||||
RtlInterlockedFlushSList(IN PSLIST_HEADER ListHead)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
PSLIST_ENTRY
|
||||
NTAPI
|
||||
RtlInterlockedPushListSList(IN PSLIST_HEADER ListHead,
|
||||
IN PSLIST_ENTRY List,
|
||||
IN PSLIST_ENTRY ListEnd,
|
||||
IN ULONG Count)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
LONGLONG
|
||||
NTAPI
|
||||
RtlInterlockedCompareExchange64(LONGLONG volatile *Destination,
|
||||
LONGLONG Exchange,
|
||||
LONGLONG Comparand)
|
||||
{
|
||||
/* Just call the intrinsic */
|
||||
return _InterlockedCompareExchange64(Destination, Exchange, Comparand);
|
||||
}
|
|
@ -329,6 +329,17 @@ RtlEncodePointer(IN PVOID Pointer)
|
|||
return (PVOID)((ULONG_PTR)Pointer ^ Cookie);
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
PVOID
|
||||
NTAPI
|
||||
RtlEncodeSystemPointer(IN PVOID Pointer)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
|
@ -343,4 +354,10 @@ RtlSetProcessIsCritical(
|
|||
//TODO
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
ULONG
|
||||
NTAPI
|
||||
RtlGetCurrentProcessorNumber(VOID)
|
||||
{
|
||||
/* Forward to kernel */
|
||||
return NtGetCurrentProcessorNumber();
|
||||
}
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
|
||||
<file>access.c</file>
|
||||
<file>acl.c</file>
|
||||
<file>actctx.c</file>
|
||||
<file>atom.c</file>
|
||||
<file>bitmap.c</file>
|
||||
<file>bootdata.c</file>
|
||||
|
@ -61,6 +62,7 @@
|
|||
<file>handle.c</file>
|
||||
<file>heap.c</file>
|
||||
<file>image.c</file>
|
||||
<file>interlck.c</file>
|
||||
<file>message.c</file>
|
||||
<file>largeint.c</file>
|
||||
<file>luid.c</file>
|
||||
|
@ -78,6 +80,7 @@
|
|||
<file>resource.c</file>
|
||||
<file>sd.c</file>
|
||||
<file>security.c</file>
|
||||
<file>slist.c</file>
|
||||
<file>sid.c</file>
|
||||
<file>sprintf.c</file>
|
||||
<file>srw.c</file>
|
||||
|
|
|
@ -81,6 +81,29 @@ RtlImpersonateSelf(IN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel)
|
|||
return(Status);
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlAcquirePrivilege(IN PULONG Privilege,
|
||||
IN ULONG NumPriv,
|
||||
IN ULONG Flags,
|
||||
OUT PVOID *ReturnedState)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
VOID
|
||||
NTAPI
|
||||
RtlReleasePrivilege(IN PVOID ReturnedState)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
|
@ -224,4 +247,26 @@ RtlSetSecurityObject(IN SECURITY_INFORMATION SecurityInformation,
|
|||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
/* EOF */
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlRegisterSecureMemoryCacheCallback(IN PRTL_SECURE_MEMORY_CACHE_CALLBACK Callback)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
RtlFlushSecureMemoryCache(IN PVOID MemoryCache,
|
||||
IN OPTIONAL SIZE_T MemoryLength)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return FALSE;
|
||||
}
|
||||
|
|
39
reactos/lib/rtl/slist.c
Normal file
39
reactos/lib/rtl/slist.c
Normal file
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS Runtime Library
|
||||
* PURPOSE: Slist Routines
|
||||
* FILE: lib/rtl/slist.c
|
||||
* PROGRAMERS: Stefan Ginsberg (stefan__100__@hotmail.com)
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <rtl.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* FUNCTIONS ***************************************************************/
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
RtlInitializeSListHead(IN PSLIST_HEADER ListHead)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
PSLIST_ENTRY
|
||||
NTAPI
|
||||
RtlFirstEntrySList(IN const SLIST_HEADER *ListHead)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
WORD
|
||||
NTAPI
|
||||
RtlQueryDepthSList(IN PSLIST_HEADER ListHead)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
|
@ -277,5 +277,16 @@ _NtCurrentTeb(VOID)
|
|||
return NtCurrentTeb();
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlRemoteCall(IN HANDLE Process,
|
||||
IN HANDLE Thread,
|
||||
IN PVOID CallSite,
|
||||
IN ULONG ArgumentCount,
|
||||
IN PULONG Arguments,
|
||||
IN BOOLEAN PassContext,
|
||||
IN BOOLEAN AlreadySuspended)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
|
|
@ -2233,4 +2233,13 @@ RtlValidateUnicodeString(IN ULONG Flags,
|
|||
}
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlFindCharInUnicodeString(IN ULONG Flags,
|
||||
IN PUNICODE_STRING SearchString,
|
||||
IN PCUNICODE_STRING MatchString,
|
||||
OUT PUSHORT Position)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
|
|
@ -118,7 +118,7 @@ LdrShutdownThread(VOID)
|
|||
|
||||
PPEB
|
||||
STDCALL
|
||||
RtlpCurrentPeb(VOID)
|
||||
RtlGetCurrentPeb(VOID)
|
||||
{
|
||||
return ((PEPROCESS)(KeGetCurrentThread()->ApcState.Process))->Peb;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue