Stefan Ginsberg <stefan__100__@hotmail.com>

- Remove ExTryToAcquireResourceExclusiveLite from NDK since it's not exported by NT kernel.
- Add ObSetSecurityObjectByPointer, RtlInitAnsiStringEx (and implement it, rather straightforward) to NDK.
- Uncomment exports in ntoskrnl_i386.def which are already implemented.
- Add KeInvalidateAllCaches to ARM's stubs.

svn path=/trunk/; revision=33825
This commit is contained in:
Aleksey Bragin 2008-06-02 10:21:49 +00:00
parent c91fecf968
commit 204acf76b0
7 changed files with 71 additions and 33 deletions

View file

@ -96,16 +96,6 @@ ExfUnblockPushLock(
PVOID CurrentWaitBlock PVOID CurrentWaitBlock
); );
//
// Resource Functions
//
NTKERNELAPI
BOOLEAN
NTAPI
ExTryToAcquireResourceExclusiveLite(
IN PERESOURCE Resource
);
// //
// Handle Table Functions // Handle Table Functions
// //

View file

@ -108,6 +108,15 @@ ObReferenceObjectByName(
OUT PVOID *Object OUT PVOID *Object
); );
NTKERNELAPI
NTSTATUS
NTAPI
ObSetSecurityObjectByPointer(
IN PVOID Object,
IN SECURITY_INFORMATION SecurityInformation,
IN PSECURITY_DESCRIPTOR SecurityDescriptor
);
NTKERNELAPI NTKERNELAPI
BOOLEAN BOOLEAN
NTAPI NTAPI

View file

@ -1628,8 +1628,6 @@ RtlDowncaseUnicodeString(
IN BOOLEAN AllocateDestinationString IN BOOLEAN AllocateDestinationString
); );
#endif
NTSYSAPI NTSYSAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
@ -1639,6 +1637,8 @@ RtlDuplicateUnicodeString(
OUT PUNICODE_STRING DestinationString OUT PUNICODE_STRING DestinationString
); );
#endif
NTSYSAPI NTSYSAPI
BOOLEAN BOOLEAN
NTAPI NTAPI
@ -1758,6 +1758,14 @@ RtlInitAnsiString(
PCSZ SourceString PCSZ SourceString
); );
NTSYSAPI
NTSTATUS
NTAPI
RtlInitAnsiStringEx(
PANSI_STRING DestinationString,
PCSZ SourceString
);
// //
// OEM String Functions // OEM String Functions
// //

View file

@ -432,6 +432,30 @@ RtlInitAnsiString(IN OUT PANSI_STRING DestinationString,
DestinationString->Buffer = (PCHAR)SourceString; DestinationString->Buffer = (PCHAR)SourceString;
} }
NTSTATUS
NTAPI
RtlInitAnsiStringEx(IN OUT PANSI_STRING DestinationString,
IN PCSZ SourceString)
{
ULONG DestSize;
if(SourceString)
{
DestSize = strlen(SourceString);
if (DestSize >= 0xFFFF) return STATUS_NAME_TOO_LONG;
DestinationString->Length = (USHORT)DestSize;
DestinationString->MaximumLength = (USHORT)DestSize + sizeof(CHAR);
}
else
{
DestinationString->Length = 0;
DestinationString->MaximumLength = 0;
}
DestinationString->Buffer = (PCHAR)SourceString;
return STATUS_SUCCESS;
}
/* /*
* @implemented * @implemented
* *

View file

@ -1001,6 +1001,12 @@ ExReleasePushLock(PEX_PUSH_LOCK PushLock)
/* OTHER FUNCTIONS **********************************************************/ /* OTHER FUNCTIONS **********************************************************/
BOOLEAN
NTAPI
ExTryToAcquireResourceExclusiveLite(
IN PERESOURCE Resource
);
LONGLONG LONGLONG
FASTCALL FASTCALL
ExfpInterlockedExchange64( ExfpInterlockedExchange64(

View file

@ -21,6 +21,7 @@ GENERATE_ARM_STUB KeFlushEntireTb
GENERATE_ARM_STUB KeGetRecommendedSharedDataAlignment GENERATE_ARM_STUB KeGetRecommendedSharedDataAlignment
GENERATE_ARM_STUB KeIcacheFlushCount GENERATE_ARM_STUB KeIcacheFlushCount
GENERATE_ARM_STUB KeInitializeInterrupt GENERATE_ARM_STUB KeInitializeInterrupt
GENERATE_ARM_STUB KeInvalidateAllCaches
GENERATE_ARM_STUB KeNumberProcessors GENERATE_ARM_STUB KeNumberProcessors
GENERATE_ARM_STUB KeQueryActiveProcessors GENERATE_ARM_STUB KeQueryActiveProcessors
GENERATE_ARM_STUB KeRaiseUserException GENERATE_ARM_STUB KeRaiseUserException

View file

@ -82,7 +82,7 @@ ExDeleteResourceLite@4
ExDesktopObjectType ExDesktopObjectType
ExDisableResourceBoostLite@4 ExDisableResourceBoostLite@4
@ExEnterCriticalRegionAndAcquireFastMutexUnsafe@4 @ExEnterCriticalRegionAndAcquireFastMutexUnsafe@4
;ExEnterCriticalRegionAndAcquireResourceExclusive ExEnterCriticalRegionAndAcquireResourceExclusive@4
;ExEnterCriticalRegionAndAcquireResourceShared ;ExEnterCriticalRegionAndAcquireResourceShared
;ExEnterCriticalRegionAndAcquireSharedWaitForExclusive ;ExEnterCriticalRegionAndAcquireSharedWaitForExclusive
ExEnumHandleTable@16 ExEnumHandleTable@16
@ -137,7 +137,7 @@ ExRegisterCallback@12
ExReinitializeResourceLite@4 ExReinitializeResourceLite@4
@ExReleaseFastMutexUnsafe@4 @ExReleaseFastMutexUnsafe@4
@ExReleaseFastMutexUnsafeAndLeaveCriticalRegion@4 @ExReleaseFastMutexUnsafeAndLeaveCriticalRegion@4
;ExReleaseResourceAndLeaveCriticalRegion @ExReleaseResourceAndLeaveCriticalRegion@4
ExReleaseResourceForThreadLite@8 ExReleaseResourceForThreadLite@8
@ExReleaseResourceLite@4 @ExReleaseResourceLite@4
ExReleaseRundownProtection=@ExfReleaseRundownProtection@4 ExReleaseRundownProtection=@ExfReleaseRundownProtection@4
@ -158,8 +158,8 @@ ExVerifySuite@4
ExWaitForRundownProtectionRelease=@ExfWaitForRundownProtectionRelease@4 ExWaitForRundownProtectionRelease=@ExfWaitForRundownProtectionRelease@4
ExWaitForRundownProtectionReleaseCacheAware=@ExfWaitForRundownProtectionReleaseCacheAware@4 ExWaitForRundownProtectionReleaseCacheAware=@ExfWaitForRundownProtectionReleaseCacheAware@4
ExWindowStationObjectType DATA ExWindowStationObjectType DATA
;ExfAcquirePushLockExclusive @ExfAcquirePushLockExclusive@4
;ExfAcquirePushLockShared @ExfAcquirePushLockShared@4
@ExfInterlockedAddUlong@12 @ExfInterlockedAddUlong@12
@ExfInterlockedCompareExchange64@12 @ExfInterlockedCompareExchange64@12
@ExfInterlockedInsertHeadList@12 @ExfInterlockedInsertHeadList@12
@ -167,11 +167,11 @@ ExWindowStationObjectType DATA
@ExfInterlockedPopEntryList@8 @ExfInterlockedPopEntryList@8
@ExfInterlockedPushEntryList@12 @ExfInterlockedPushEntryList@12
@ExfInterlockedRemoveHeadList@8 @ExfInterlockedRemoveHeadList@8
;ExfReleasePushLock @ExfReleasePushLock@4
;ExfReleasePushLockExclusive @ExfReleasePushLockExclusive@4
;ExfReleasePushLockShared @ExfReleasePushLockShared@4
;ExfTryToWakePushLock @ExfTryToWakePushLock@4
;ExfUnblockPushLock @ExfUnblockPushLock@8
@Exfi386InterlockedDecrementLong@4 @Exfi386InterlockedDecrementLong@4
@Exfi386InterlockedExchangeUlong@8 @Exfi386InterlockedExchangeUlong@8
@Exfi386InterlockedIncrementLong@4 @Exfi386InterlockedIncrementLong@4
@ -199,7 +199,7 @@ FsRtlCheckLockForWriteAccess@8
FsRtlCheckOplock FsRtlCheckOplock
FsRtlCopyRead FsRtlCopyRead
FsRtlCopyWrite FsRtlCopyWrite
;FsRtlCreateSectionForDataScan FsRtlCreateSectionForDataScan@40
FsRtlCurrentBatchOplock FsRtlCurrentBatchOplock
FsRtlDeleteKeyFromTunnelCache FsRtlDeleteKeyFromTunnelCache
FsRtlDeleteTunnelCache FsRtlDeleteTunnelCache
@ -549,7 +549,7 @@ KeAcquireInterruptSpinLock@4
KeAcquireSpinLockAtDpcLevel@4 KeAcquireSpinLockAtDpcLevel@4
;KeAcquireSpinLockForDpc ;KeAcquireSpinLockForDpc
KeAddSystemServiceTable@20 KeAddSystemServiceTable@20
;KeAreAllApcsDisabled KeAreAllApcsDisabled@0
KeAreApcsDisabled@0 KeAreApcsDisabled@0
KeAttachProcess@4 KeAttachProcess@4
KeBugCheck@4 KeBugCheck@4
@ -606,8 +606,8 @@ KeInsertHeadQueue@8
KeInsertQueue@8 KeInsertQueue@8
KeInsertQueueApc@16 KeInsertQueueApc@16
KeInsertQueueDpc@12 KeInsertQueueDpc@12
;KeInvalidateAllCaches KeInvalidateAllCaches@0
;KeIpiGenericCall KeIpiGenericCall@8
KeIsAttachedProcess@0 KeIsAttachedProcess@0
KeIsExecutingDpc@0 KeIsExecutingDpc@0
;KeIsWaitListEmpty ;KeIsWaitListEmpty
@ -682,7 +682,7 @@ KeTerminateThread@4
;KeTestSpinLock ;KeTestSpinLock
KeTickCount DATA KeTickCount DATA
@KeTryToAcquireGuardedMutex@4 @KeTryToAcquireGuardedMutex@4
;KeTryToAcquireSpinLockAtDpcLevel @KeTryToAcquireSpinLockAtDpcLevel@4
KeUnstackDetachProcess@4 KeUnstackDetachProcess@4
KeUpdateRunTime@4 KeUpdateRunTime@4
KeUpdateSystemTime@0 KeUpdateSystemTime@0
@ -888,11 +888,11 @@ ObQueryObjectAuditingByHandle@8
ObReferenceObjectByHandle@24 ObReferenceObjectByHandle@24
ObReferenceObjectByName@32 ObReferenceObjectByName@32
ObReferenceObjectByPointer@16 ObReferenceObjectByPointer@16
;ObReferenceSecurityDescriptor@8 ObReferenceSecurityDescriptor@8
ObReleaseObjectSecurity@8 ObReleaseObjectSecurity@8
;ObSetHandleAttributes@12 ;ObSetHandleAttributes@12
;ObSetSecurityDescriptorInfo@24 ObSetSecurityDescriptorInfo@24
;ObSetSecurityObjectByPointer@12 ObSetSecurityObjectByPointer@12
@ObfDereferenceObject@4 @ObfDereferenceObject@4
@ObfReferenceObject@4 @ObfReferenceObject@4
;PfxFindPrefix ;PfxFindPrefix
@ -974,7 +974,7 @@ PsGetVersion@16
PsImpersonateClient@20 PsImpersonateClient@20
PsInitialSystemProcess DATA PsInitialSystemProcess DATA
PsIsProcessBeingDebugged@4 PsIsProcessBeingDebugged@4
;PsIsSystempProcess ;PsIsSystemProcess
PsIsSystemThread@4 PsIsSystemThread@4
PsIsThreadImpersonating@4 PsIsThreadImpersonating@4
PsIsThreadTerminating@4 PsIsThreadTerminating@4
@ -1018,7 +1018,7 @@ READ_REGISTER_USHORT@4
KeRosDumpStackFrames@8 KeRosDumpStackFrames@8
RtlAbsoluteToSelfRelativeSD@12 RtlAbsoluteToSelfRelativeSD@12
RtlAddAccessAllowedAce@16 RtlAddAccessAllowedAce@16
;RtlAddAccessAllowedAceEx RtlAddAccessAllowedAceEx@20
RtlAddAce@20 RtlAddAce@20
RtlAddAtomToAtomTable@12 RtlAddAtomToAtomTable@12
RtlAddRange@36 RtlAddRange@36
@ -1140,11 +1140,11 @@ RtlHashUnicodeString@16
RtlImageDirectoryEntryToData@16 RtlImageDirectoryEntryToData@16
RtlImageNtHeader@4 RtlImageNtHeader@4
RtlInitAnsiString@8 RtlInitAnsiString@8
;RtlInitAnsiStringEx RtlInitAnsiStringEx@8
RtlInitCodePageTable@8 RtlInitCodePageTable@8
RtlInitString@8 RtlInitString@8
RtlInitUnicodeString@8 RtlInitUnicodeString@8
;RtlInitUnicodeStringEx RtlInitUnicodeStringEx@8
RtlInitializeBitMap@12 RtlInitializeBitMap@12
RtlInitializeGenericTable@20 RtlInitializeGenericTable@20
RtlInitializeGenericTableAvl@20 RtlInitializeGenericTableAvl@20