mirror of
https://github.com/reactos/reactos.git
synced 2025-04-30 19:19:00 +00:00
[NTDLL:LDR]
- Implement LdrSetDllManifestProber CORE-6354 CORE-9298 svn path=/trunk/; revision=66522
This commit is contained in:
parent
bf6e7cd971
commit
bbe66391dc
4 changed files with 23 additions and 5 deletions
|
@ -21,6 +21,7 @@ LONG LdrpLoaderLockAcquisitonCount;
|
|||
BOOLEAN LdrpShowRecursiveLoads, LdrpBreakOnRecursiveDllLoads;
|
||||
UNICODE_STRING LdrApiDefaultExtension = RTL_CONSTANT_STRING(L".DLL");
|
||||
ULONG AlternateResourceModuleCount;
|
||||
extern PLDR_MANIFEST_PROBER_ROUTINE LdrpManifestProberRoutine;
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
|
@ -69,9 +70,10 @@ LdrAccessOutOfProcessResource(IN PVOID Unknown,
|
|||
|
||||
VOID
|
||||
NTAPI
|
||||
LdrSetDllManifestProber(IN PVOID ProberFunction)
|
||||
LdrSetDllManifestProber(
|
||||
_In_ PLDR_MANIFEST_PROBER_ROUTINE Routine)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
LdrpManifestProberRoutine = Routine;
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
/* GLOBALS *******************************************************************/
|
||||
|
||||
PVOID LdrpManifestProberRoutine;
|
||||
PLDR_MANIFEST_PROBER_ROUTINE LdrpManifestProberRoutine;
|
||||
ULONG LdrpNormalSnap;
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
|
|
@ -102,6 +102,11 @@ Author:
|
|||
#define LDR_IS_IMAGEMAPPING(handle) (((ULONG_PTR)(handle)) & (ULONG_PTR)2)
|
||||
#define LDR_IS_RESOURCE(handle) (LDR_IS_IMAGEMAPPING(handle) || LDR_IS_DATAFILE(handle))
|
||||
|
||||
//
|
||||
// Activation Context
|
||||
//
|
||||
typedef PVOID PACTIVATION_CONTEXT;
|
||||
|
||||
//
|
||||
// Loader Data stored in the PEB
|
||||
//
|
||||
|
@ -150,7 +155,7 @@ typedef struct _LDR_DATA_TABLE_ENTRY
|
|||
ULONG TimeDateStamp;
|
||||
PVOID LoadedImports;
|
||||
};
|
||||
PVOID EntryPointActivationContext;
|
||||
PACTIVATION_CONTEXT EntryPointActivationContext;
|
||||
PVOID PatchInformation;
|
||||
} LDR_DATA_TABLE_ENTRY, *PLDR_DATA_TABLE_ENTRY;
|
||||
|
||||
|
@ -228,9 +233,15 @@ typedef struct _ALT_RESOURCE_MODULE
|
|||
//
|
||||
// Callback function for LdrEnumerateLoadedModules
|
||||
//
|
||||
typedef VOID (NTAPI LDR_ENUM_CALLBACK)(IN PLDR_DATA_TABLE_ENTRY ModuleInformation, _In_ PVOID Parameter, _Out_ BOOLEAN *Stop);
|
||||
typedef VOID (NTAPI LDR_ENUM_CALLBACK)(_In_ PLDR_DATA_TABLE_ENTRY ModuleInformation, _In_ PVOID Parameter, _Out_ BOOLEAN *Stop);
|
||||
typedef LDR_ENUM_CALLBACK *PLDR_ENUM_CALLBACK;
|
||||
|
||||
//
|
||||
// Manifest prober routine set via LdrSetDllManifestProber
|
||||
//
|
||||
typedef NTSTATUS (NTAPI LDR_MANIFEST_PROBER_ROUTINE)(_In_ PVOID DllHandle, _In_ PCWSTR FullDllName, _Out_ PVOID *ActCtx);
|
||||
typedef LDR_MANIFEST_PROBER_ROUTINE *PLDR_MANIFEST_PROBER_ROUTINE;
|
||||
|
||||
//
|
||||
// DLL Main Routine
|
||||
//
|
||||
|
|
|
@ -191,6 +191,11 @@ LdrQueryProcessModuleInformation(
|
|||
_Out_ PULONG ReturnedSize
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LdrSetDllManifestProber(
|
||||
_In_ PLDR_MANIFEST_PROBER_ROUTINE Routine);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
LdrShutdownProcess(
|
||||
|
|
Loading…
Reference in a new issue