Re: [kernel] add dummy HeapSetInformation()
dank(a)vroo.pair.com wrote:
/*********************************************************************** + * HeapSetInformation (KERNEL32.@) + * Change options for a given heap. + * + * NOTES + * All options are ignored. + * + * RETURNS + * TRUE: Success + * FALSE: Failure + */ +BOOL WINAPI HeapSetInformation( + HANDLE heap, /* [in] Handle to the heap */ + DWORD class, /* [in] enum describing which option to set */ + LPCVOID poption, /* [in] Pointer to option value */ + DWORD optionlen /* [in] Length of option value */ +) { + /* Only option available is Low Fragmentation Heap, which + * is just a performance thing. Allow but ignore; this should let + * Lionhead Studios' Black & White 2 run. + */ + return TRUE; +} +
You should make this function print a fixme and a minor nitpick that NOTES should probably be BUGS instead. -- Rob Shearman
Hi, There is a patch in the AppDB entry for the game Continuum. (sorry I don't have AppDB playing nice with DNS here yet so no link.) What needs to be done to have this considered? Regards, -jan
On 7/20/06, jan(a)janhurst.com <jan(a)janhurst.com> wrote:
There is a patch in the AppDB entry for the game Continuum. (sorry I don't have AppDB playing nice with DNS here yet so no link.) What needs to be done to have this considered?
Here's the patch: diff --git a/dlls/kernel/process.c b/dlls/kernel/process.c index 33f9ee1..d50cb7d 100644 --- a/dlls/kernel/process.c +++ b/dlls/kernel/process.c @@ -2460,6 +2464,7 @@ HANDLE WINAPI OpenProcess( DWORD access, OBJECT_ATTRIBUTES attr; CLIENT_ID cid; +if (access & PROCESS_VM_WRITE) return NULL; cid.UniqueProcess = (HANDLE)id; cid.UniqueThread = 0; /* FIXME ? */ That patch as written doesn't seem quite right. I think what needs to happen is somebody needs to write a conformance test for OpenProcess. That will help everyone figure out what the right patch is. - Dan
Thursday, July 20, 2006, 11:53:37 PM, Dan Kegel wrote:
On 7/20/06, jan(a)janhurst.com <jan(a)janhurst.com> wrote:
There is a patch in the AppDB entry for the game Continuum. (sorry I don't have AppDB playing nice with DNS here yet so no link.) What needs to be done to have this considered?
Here's the patch:
diff --git a/dlls/kernel/process.c b/dlls/kernel/process.c index 33f9ee1..d50cb7d 100644 --- a/dlls/kernel/process.c +++ b/dlls/kernel/process.c @@ -2460,6 +2464,7 @@ HANDLE WINAPI OpenProcess( DWORD access, OBJECT_ATTRIBUTES attr; CLIENT_ID cid;
+if (access & PROCESS_VM_WRITE) return NULL; cid.UniqueProcess = (HANDLE)id; cid.UniqueThread = 0; /* FIXME ? */
That patch as written doesn't seem quite right. I think what needs to happen is somebody needs to write a conformance test for OpenProcess. That will help everyone figure out what the right patch is. - Dan
The problem this patch is for is covered in this bug: http://bugs.winehq.org/show_bug.cgi?id=4317 That patch is as hackish as it gets. And it won't ever make it into Wine. It's made for one app only to "fix" the anti-cheating check. Vitaliy.
participants (4)
-
Dan Kegel -
jan@janhurst.com -
Robert Shearman -
Vitaliy Margolen