mirror of
https://github.com/reactos/reactos.git
synced 2025-04-20 20:36:35 +00:00
[NTDLL]: Export RtlImageNtHeaderEx and LodrLoadAlternateResourceModule.
[NDK]: Add LdrLoadAlternateResourceModule. Fix RtlDosApplyFileIsolationRedirection_UStr and add flags. [NTDLL]: Halfplement LdrLoad/UnloadAlternateResourceModule. svn path=/trunk/; revision=54307
This commit is contained in:
parent
485d80b662
commit
ec9698366a
6 changed files with 78 additions and 26 deletions
|
@ -88,7 +88,7 @@
|
|||
;@ stdcall LdrHotPatchRoutine
|
||||
;@ stdcall LdrInitShimEngineDynamic
|
||||
@ stdcall LdrInitializeThunk(long long long long)
|
||||
;@ stdcall LdrLoadAlternateResourceModule
|
||||
@ stdcall LdrLoadAlternateResourceModule(ptr ptr)
|
||||
@ stdcall LdrLoadDll(wstr long ptr ptr)
|
||||
@ stdcall LdrLockLoaderLock(long ptr ptr)
|
||||
;@ stdcall LdrOpenImageFileOptionsKey ; 5.2 SP1 and higher
|
||||
|
@ -566,7 +566,7 @@
|
|||
@ stdcall RtlDllShutdownInProgress()
|
||||
@ stdcall RtlDnsHostNameToComputerName(ptr ptr long)
|
||||
@ stdcall RtlDoesFileExists_U(wstr)
|
||||
;@ stdcall RtlDosApplyFileIsolationRedirection_Ustr
|
||||
@ stdcall RtlDosApplyFileIsolationRedirection_Ustr(long ptr ptr ptr ptr ptr ptr ptr ptr)
|
||||
@ stdcall RtlDosPathNameToNtPathName_U(wstr ptr ptr ptr)
|
||||
;@ stdcall RtlDosPathNameToNtPathName_U_WithStatus ; 5.2 SP1, and higher
|
||||
@ stdcall RtlDosPathNameToRelativeNtPathName_U(ptr ptr ptr ptr) ; CHECKME
|
||||
|
@ -690,7 +690,7 @@
|
|||
@ stdcall RtlIdentifierAuthoritySid(ptr)
|
||||
@ stdcall RtlImageDirectoryEntryToData(long long long ptr)
|
||||
@ stdcall RtlImageNtHeader(long)
|
||||
;@ stdcall RtlImageNtHeaderEx
|
||||
@ stdcall RtlImageNtHeaderEx(long ptr double ptr)
|
||||
@ stdcall RtlImageRvaToSection(ptr long long)
|
||||
@ stdcall RtlImageRvaToVa(ptr long long ptr)
|
||||
@ stdcall RtlImpersonateSelf(long)
|
||||
|
|
|
@ -19,9 +19,18 @@ LIST_ENTRY LdrpUnloadHead;
|
|||
LONG LdrpLoaderLockAcquisitonCount;
|
||||
BOOLEAN LdrpShowRecursiveLoads, LdrpBreakOnRecursiveDllLoads;
|
||||
UNICODE_STRING LdrApiDefaultExtension = RTL_CONSTANT_STRING(L".DLL");
|
||||
ULONG AlternateResourceModuleCount;
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
LdrAlternateResourcesEnabled(VOID)
|
||||
{
|
||||
/* ReactOS does not support this */
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ULONG_PTR
|
||||
FORCEINLINE
|
||||
LdrpMakeCookie(VOID)
|
||||
|
@ -1524,15 +1533,46 @@ LdrProcessRelocationBlock(IN ULONG_PTR Address,
|
|||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
* @implemented
|
||||
*/
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
LdrUnloadAlternateResourceModule(IN PVOID BaseAddress)
|
||||
{
|
||||
//static BOOLEAN WarnedOnce = FALSE;
|
||||
//if (WarnedOnce == FALSE) { UNIMPLEMENTED; WarnedOnce = TRUE; }
|
||||
return FALSE;
|
||||
ULONG_PTR Cookie;
|
||||
|
||||
/* Acquire the loader lock */
|
||||
LdrLockLoaderLock(TRUE, NULL, &Cookie);
|
||||
|
||||
/* Check if there's any alternate resources loaded */
|
||||
if (AlternateResourceModuleCount)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
/* Release the loader lock */
|
||||
LdrUnlockLoaderLock(1, Cookie);
|
||||
|
||||
/* All done */
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* FIXME: Add to ntstatus.mc */
|
||||
#define STATUS_MUI_FILE_NOT_FOUND ((NTSTATUS)0xC00B0001L)
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
LdrLoadAlternateResourceModule(IN PVOID Module,
|
||||
IN PWSTR Buffer)
|
||||
{
|
||||
/* Is MUI Support enabled? */
|
||||
if (!LdrAlternateResourcesEnabled()) return STATUS_SUCCESS;
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_MUI_FILE_NOT_FOUND;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -518,21 +518,21 @@ RtlPcToFileHeader(IN PVOID PcValue,
|
|||
return ImageBase;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlDosApplyFileIsolationRedirection_Ustr(
|
||||
IN BOOLEAN Unknown,
|
||||
RtlDosApplyFileIsolationRedirection_Ustr(IN ULONG Flags,
|
||||
IN PUNICODE_STRING OriginalName,
|
||||
IN PUNICODE_STRING Extension,
|
||||
IN OUT PUNICODE_STRING RedirectedName,
|
||||
IN OUT PUNICODE_STRING RedirectedName2,
|
||||
IN OUT PUNICODE_STRING *OriginalName2,
|
||||
IN PVOID Unknown1,
|
||||
IN PVOID Unknown2,
|
||||
IN PVOID Unknown3
|
||||
)
|
||||
IN OUT PUNICODE_STRING StaticString,
|
||||
IN OUT PUNICODE_STRING DynamicString,
|
||||
IN OUT PUNICODE_STRING *NewName,
|
||||
IN PULONG NewFlags,
|
||||
IN PSIZE_T FileNameSize,
|
||||
IN PSIZE_T RequiredLength)
|
||||
{
|
||||
return STATUS_SXS_KEY_NOT_FOUND;
|
||||
}
|
||||
|
||||
|
|
|
@ -58,6 +58,13 @@ LdrFindResourceDirectory_U(
|
|||
OUT PIMAGE_RESOURCE_DIRECTORY *ResourceDirectory
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
LdrLoadAlternateResourceModule(
|
||||
IN PVOID Module,
|
||||
IN PWSTR Buffer
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
LdrUnloadAlternateResourceModule(
|
||||
|
|
|
@ -3275,15 +3275,15 @@ NTSYSAPI
|
|||
NTSTATUS
|
||||
NTAPI
|
||||
RtlDosApplyFileIsolationRedirection_Ustr(
|
||||
IN BOOLEAN Unknown,
|
||||
IN ULONG Flags,
|
||||
IN PUNICODE_STRING OriginalName,
|
||||
IN PUNICODE_STRING Extension,
|
||||
IN OUT PUNICODE_STRING RedirectedName,
|
||||
IN OUT PUNICODE_STRING RedirectedName2,
|
||||
IN OUT PUNICODE_STRING *OriginalName2,
|
||||
IN PVOID Unknown1,
|
||||
IN PVOID Unknown2,
|
||||
IN PVOID Unknown3
|
||||
IN OUT PUNICODE_STRING StaticString,
|
||||
IN OUT PUNICODE_STRING DynamicString,
|
||||
IN OUT PUNICODE_STRING *NewName,
|
||||
IN PULONG NewFlags,
|
||||
IN PSIZE_T FileNameSize,
|
||||
IN PSIZE_T RequiredLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
|
|
@ -251,6 +251,11 @@ C_ASSERT(HEAP_CREATE_VALID_MASK == 0x0007F0FF);
|
|||
//
|
||||
#define RTL_IMAGE_NT_HEADER_EX_FLAG_NO_RANGE_CHECK 0x00000001
|
||||
|
||||
//
|
||||
// RtlDosApplyFileIsolationRedirection_Ustr Flags
|
||||
//
|
||||
#define RTL_DOS_APPLY_FILE_REDIRECTION_USTR_FLAG_RESPECT_DOT_LOCAL 0x01
|
||||
|
||||
//
|
||||
// Codepages
|
||||
//
|
||||
|
|
Loading…
Reference in a new issue