mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 17:34:57 +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
|
||||
* 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;
|
||||
NTSTATUS Status;
|
||||
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);
|
||||
Status = LdrGetProcedureAddress(Module,
|
||||
&ProcNameString,
|
||||
|
|
|
@ -1263,3 +1263,331 @@ VidMemFree(
|
|||
{
|
||||
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…
Reference in a new issue