mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 19:05:52 +00:00
- Implement NULL module case for EngFindImageProcAddress
- Add stubs for EngFindImageProcAddress()able not present yet svn path=/trunk/; revision=9079
This commit is contained in:
parent
eddb2f5168
commit
b17d0f5101
2 changed files with 402 additions and 1 deletions
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
/* $Id: loader.c,v 1.15 2004/04/09 20:03:18 navaraf Exp $
|
/* $Id: loader.c,v 1.16 2004/04/11 09:09:38 gvg Exp $
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -151,6 +151,79 @@ EngFindImageProcAddress(IN HANDLE Module,
|
||||||
PVOID Function;
|
PVOID Function;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
ANSI_STRING ProcNameString;
|
ANSI_STRING ProcNameString;
|
||||||
|
unsigned i;
|
||||||
|
static struct
|
||||||
|
{
|
||||||
|
PCSTR ProcName;
|
||||||
|
PVOID ProcAddress;
|
||||||
|
}
|
||||||
|
Win32kExports[] =
|
||||||
|
{
|
||||||
|
{ "BRUSHOBJ_hGetColorTransform", BRUSHOBJ_hGetColorTransform },
|
||||||
|
{ "EngAlphaBlend", EngAlphaBlend },
|
||||||
|
{ "EngClearEvent", EngClearEvent },
|
||||||
|
{ "EngControlSprites", EngControlSprites },
|
||||||
|
{ "EngCreateEvent", EngCreateEvent },
|
||||||
|
{ "EngDeleteEvent", EngDeleteEvent },
|
||||||
|
{ "EngDeleteFile", EngDeleteFile },
|
||||||
|
{ "EngDeleteSafeSemaphore", EngDeleteSafeSemaphore },
|
||||||
|
{ "EngDeleteWnd", EngDeleteWnd },
|
||||||
|
{ "EngDitherColor", EngDitherColor },
|
||||||
|
{ "EngGetPrinterDriver", EngGetPrinterDriver },
|
||||||
|
{ "EngGradientFill", EngGradientFill },
|
||||||
|
{ "EngHangNotification", EngHangNotification },
|
||||||
|
{ "EngInitializeSafeSemaphore", EngInitializeSafeSemaphore },
|
||||||
|
{ "EngLockDirectDrawSurface", EngLockDirectDrawSurface },
|
||||||
|
{ "EngLpkInstalled", EngLpkInstalled },
|
||||||
|
{ "EngMapEvent", EngMapEvent },
|
||||||
|
{ "EngMapFile", EngMapFile },
|
||||||
|
{ "EngMapFontFileFD", EngMapFontFileFD },
|
||||||
|
{ "EngModifySurface", EngModifySurface },
|
||||||
|
{ "EngMovePointer", EngMovePointer },
|
||||||
|
{ "EngPlgBlt", EngPlgBlt },
|
||||||
|
{ "EngQueryDeviceAttribute", EngQueryDeviceAttribute },
|
||||||
|
{ "EngQueryPalette", EngQueryPalette },
|
||||||
|
{ "EngQuerySystemAttribute", EngQuerySystemAttribute },
|
||||||
|
{ "EngReadStateEvent", EngReadStateEvent },
|
||||||
|
{ "EngRestoreFloatingPointState", EngRestoreFloatingPointState },
|
||||||
|
{ "EngSaveFloatingPointState", EngSaveFloatingPointState },
|
||||||
|
{ "EngSetEvent", EngSetEvent },
|
||||||
|
{ "EngSetPointerShape", EngSetPointerShape },
|
||||||
|
{ "EngSetPointerTag", EngSetPointerTag },
|
||||||
|
{ "EngStretchBltROP", EngStretchBltROP },
|
||||||
|
{ "EngTransparentBlt", EngTransparentBlt },
|
||||||
|
{ "EngUnlockDirectDrawSurface", EngUnlockDirectDrawSurface },
|
||||||
|
{ "EngUnmapEvent", EngUnmapEvent },
|
||||||
|
{ "EngUnmapFile", EngUnmapFile },
|
||||||
|
{ "EngUnmapFontFileFD", EngUnmapFontFileFD },
|
||||||
|
{ "EngWaitForSingleObject", EngWaitForSingleObject },
|
||||||
|
{ "FONTOBJ_pfdg", FONTOBJ_pfdg },
|
||||||
|
{ "FONTOBJ_pjOpenTypeTablePointer", FONTOBJ_pjOpenTypeTablePointer },
|
||||||
|
{ "FONTOBJ_pQueryGlyphAttrs", FONTOBJ_pQueryGlyphAttrs },
|
||||||
|
{ "FONTOBJ_pwszFontFilePaths", FONTOBJ_pwszFontFilePaths },
|
||||||
|
{ "HeapVidMemAllocAligned", HeapVidMemAllocAligned },
|
||||||
|
{ "HT_Get8BPPMaskPalette", HT_Get8BPPMaskPalette },
|
||||||
|
{ "STROBJ_bEnumPositionsOnly", STROBJ_bEnumPositionsOnly },
|
||||||
|
{ "STROBJ_bGetAdvanceWidths", STROBJ_bGetAdvanceWidths },
|
||||||
|
{ "STROBJ_fxBreakExtra", STROBJ_fxBreakExtra },
|
||||||
|
{ "STROBJ_fxCharacterExtra", STROBJ_fxCharacterExtra },
|
||||||
|
{ "VidMemFree", VidMemFree },
|
||||||
|
{ "XLATEOBJ_hGetColorTransform", XLATEOBJ_hGetColorTransform }
|
||||||
|
};
|
||||||
|
|
||||||
|
if (NULL == Module)
|
||||||
|
{
|
||||||
|
DPRINT("Looking for win32k export %s\n", ProcName);
|
||||||
|
for (i = 0; i < sizeof(Win32kExports) / sizeof(Win32kExports[0]); i++)
|
||||||
|
{
|
||||||
|
if (0 == strcmp(ProcName, Win32kExports[i].ProcName))
|
||||||
|
{
|
||||||
|
DPRINT("Found it index %u address %p\n", i, Win32kExports[i].ProcName);
|
||||||
|
return Win32kExports[i].ProcAddress;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
RtlInitAnsiString(&ProcNameString, ProcName);
|
RtlInitAnsiString(&ProcNameString, ProcName);
|
||||||
Status = LdrGetProcedureAddress(Module,
|
Status = LdrGetProcedureAddress(Module,
|
||||||
&ProcNameString,
|
&ProcNameString,
|
||||||
|
|
|
@ -1263,3 +1263,331 @@ VidMemFree(
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
HANDLE STDCALL
|
||||||
|
BRUSHOBJ_hGetColorTransform(
|
||||||
|
IN BRUSHOBJ *Brush)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID STDCALL
|
||||||
|
EngClearEvent(
|
||||||
|
IN PEVENT Event)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL STDCALL
|
||||||
|
EngDeleteFile(
|
||||||
|
IN LPWSTR FileName)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID STDCALL
|
||||||
|
EngDeleteSafeSemaphore(
|
||||||
|
IN OUT ENGSAFESEMAPHORE *Semaphore)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL STDCALL
|
||||||
|
EngGetPrinterDriver(
|
||||||
|
IN HANDLE Printer,
|
||||||
|
IN LPWSTR Environment,
|
||||||
|
IN DWORD Level,
|
||||||
|
OUT BYTE *DrvInfo,
|
||||||
|
IN DWORD Buf,
|
||||||
|
OUT DWORD *Needed)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
ULONG STDCALL
|
||||||
|
EngHangNotification(
|
||||||
|
IN HDEV Dev,
|
||||||
|
IN PVOID Reserved)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return EHN_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL STDCALL
|
||||||
|
EngInitializeSafeSemaphore(
|
||||||
|
OUT ENGSAFESEMAPHORE *Semaphore)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PDD_SURFACE_LOCAL STDCALL
|
||||||
|
EngLockDirectDrawSurface(
|
||||||
|
IN HANDLE Surface)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL STDCALL
|
||||||
|
EngLpkInstalled()
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PVOID STDCALL
|
||||||
|
EngMapFile(
|
||||||
|
IN LPWSTR Filename,
|
||||||
|
IN ULONG Size,
|
||||||
|
OUT ULONG_PTR *File)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL STDCALL
|
||||||
|
EngPlgBlt(
|
||||||
|
IN SURFOBJ *Dest,
|
||||||
|
IN SURFOBJ *Source,
|
||||||
|
IN SURFOBJ *Mask,
|
||||||
|
IN CLIPOBJ *Clip,
|
||||||
|
IN XLATEOBJ *Xlate,
|
||||||
|
IN COLORADJUSTMENT *ColorAdjustment,
|
||||||
|
IN POINTL *BrusOrigin,
|
||||||
|
IN POINTFIX *DestPoints,
|
||||||
|
IN RECTL *SourceRect,
|
||||||
|
IN POINTL *MaskPoint,
|
||||||
|
IN ULONG Mode)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL STDCALL
|
||||||
|
EngQueryDeviceAttribute(
|
||||||
|
IN HDEV Device,
|
||||||
|
IN ENG_DEVICE_ATTRIBUTE Attribute,
|
||||||
|
IN VOID *In,
|
||||||
|
IN ULONG InSize,
|
||||||
|
OUT VOID *Out,
|
||||||
|
OUT ULONG OutSize)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
LONG STDCALL
|
||||||
|
EngReadStateEvent(
|
||||||
|
IN PEVENT Event)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
BOOL STDCALL
|
||||||
|
EngStretchBltROP(
|
||||||
|
IN SURFOBJ *Dest,
|
||||||
|
IN SURFOBJ *Source,
|
||||||
|
IN SURFOBJ *Mask,
|
||||||
|
IN CLIPOBJ *Clip,
|
||||||
|
IN XLATEOBJ *Xlate,
|
||||||
|
IN COLORADJUSTMENT *ColorAdjustment,
|
||||||
|
IN POINTL *BrushOrigin,
|
||||||
|
IN RECTL *DestRect,
|
||||||
|
IN RECTL *SourceRect,
|
||||||
|
IN POINTL *MaskPoint,
|
||||||
|
IN ULONG Mode,
|
||||||
|
IN BRUSHOBJ *BrushObj,
|
||||||
|
IN DWORD ROP4)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL STDCALL
|
||||||
|
EngUnlockDirectDrawSurface(
|
||||||
|
IN PDD_SURFACE_LOCAL Surface)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL STDCALL
|
||||||
|
EngUnmapFile(
|
||||||
|
IN ULONG_PTR File)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
FD_GLYPHSET * STDCALL
|
||||||
|
FONTOBJ_pfdg(
|
||||||
|
IN FONTOBJ *FontObj)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PBYTE STDCALL
|
||||||
|
FONTOBJ_pjOpenTypeTablePointer(
|
||||||
|
IN FONTOBJ *FontObj,
|
||||||
|
IN ULONG Tag,
|
||||||
|
OUT ULONG *Table)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
PFD_GLYPHATTR STDCALL
|
||||||
|
FONTOBJ_pQueryGlyphAttrs(
|
||||||
|
IN FONTOBJ *FontObj,
|
||||||
|
IN ULONG Mode)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
LPWSTR STDCALL
|
||||||
|
FONTOBJ_pwszFontFilePaths(
|
||||||
|
IN FONTOBJ *FontObj,
|
||||||
|
OUT ULONG *PathLength)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
LONG STDCALL
|
||||||
|
HT_Get8BPPMaskPalette(
|
||||||
|
IN OUT LPPALETTEENTRY PaletteEntry,
|
||||||
|
IN BOOL Use8BPPMaskPal,
|
||||||
|
IN BYTE CMYMask,
|
||||||
|
IN USHORT RedGamma,
|
||||||
|
IN USHORT GreenGamma,
|
||||||
|
IN USHORT BlueGamma)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL STDCALL
|
||||||
|
STROBJ_bEnumPositionsOnly(
|
||||||
|
IN STROBJ *StringObj,
|
||||||
|
OUT ULONG *Count,
|
||||||
|
OUT PGLYPHPOS *Pos)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return (BOOL) DDI_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL STDCALL
|
||||||
|
STROBJ_bGetAdvanceWidths(
|
||||||
|
IN STROBJ *StringObj,
|
||||||
|
IN ULONG First,
|
||||||
|
IN ULONG Count,
|
||||||
|
OUT POINTQF *Widths)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
FIX STDCALL
|
||||||
|
STROBJ_fxBreakExtra(
|
||||||
|
IN STROBJ *StringObj)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return (FIX) 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
FIX STDCALL
|
||||||
|
STROBJ_fxCharacterExtra(
|
||||||
|
IN STROBJ *StringObj)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return (FIX) 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
HANDLE STDCALL
|
||||||
|
XLATEOBJ_hGetColorTransform(
|
||||||
|
IN XLATEOBJ *XlateObj)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue