Thanks a lot, we're not only 2 people working on the project - in case someone has a desire to remove it.. I would give him this to read :-)
On Nov 19, 2008, at 7:35 PM, James Tabor wrote:
Hi,
Well the code subroutines have safeguards placed in them. We know this due to research and trial studies. These safeguards are located in target and most called functions.
A good example of an emulation hack that I have seen is this:
if(!bmi){ if(bits) *bits = NULL; return NULL; }
Taken from wine (Do I need to post copyright notice for this too Mr. Edwards?), function CreateDIBSection.
This is a behavioral hack to emulate the correct test case results for this function.
UINT FASTCALL DIB_BitmapMaxBitsSize( PBITMAPINFO Info, UINT ScanLines ) { UINT MaxBits = 0;
if (!Info) return 0;UINT FASTCALL DIB_BitmapBitsSize( PBITMAPINFO Info ) { UINT Ret;
if (!Info) return 0;
These are magnificently correct and create an one byte allocated space with RtlAllocateHeap as it should and pass the one byte pointer to kernel space since this is also correct behavior for most these related kernel space functions. Zero bytes are copied and the kernel functions with defaults settings and it passes or fails in kernel space. Which is why we are correcting kernel space function behavior.
I am very surprised you did not know this,,,, read the code train,,, James
puzzled, B^/