[other] Windows 2000 XP API Wrapper Pack

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

Post Reply
forart
Posts: 1050
Joined: Mon Nov 29, 2004 1:36 pm
Location: Italy
Contact:

[other] Windows 2000 XP API Wrapper Pack

Post by forart »

Just found this interesting project by OldCigarette:
Official 3ad@Windows 2000 Gaming forum wrote:This is a collection of my various API fixes for compatibility with XP games. Unlike most other API fixes these are not EXE hacks! These are DLL wrappers which means only the portions of code that are XP specific are changed, your windows 2000 code is left intact! These strive for a high level of compatibility so that they can be used for ANY game. Also my kernel32 wrapper has additional features such as GetVersion faking and other options that may be useful. Below is the latest readme, if your game is missing one of the API calls listed it is likely this pack will fix it!
Latest Readme wrote:Windows 2000 XP API Wrapper Pack
--------------------------------
!!!!!!!DISCLAIMER!!!!!!!
THIS PACK IS NOT CREATED/SUPPORTED BY MICROSOFT IN ANYWAY.
WHEN MESSING WITH SYSTEM DLLS YOU CAN HOSE YOUR SYSTEM, READ WHAT THIS DOC SAYS AND FOLLOW IT'S
ADVICE. YOU SHOULD NOT DELETE ANYTHING FROM SYSTEM32, THESE WRAPPERS ARE NOT INTENDED TO BE PLACED
THERE! FOLLOW THIS AND YOU SHOULD BE SAFE. IF YOU ARE A DEV AND KNOW WHAT YOU ARE DOING YOU CAN
BUT DO NOT COME CRYING TO ME. NO WARRANTY, SEE THE END OF THIS FILE FOR MORE INFORMATION.

The Win2k wrapper pack is a collection of DLLs (dynamic loaded libraries) that
'wrap' the Windows API. These wrapper DLLs 'target' original copies of the system DLLs.
Most of these fixes were chosen to get newer games working on 2K. But they might be useful in
other situations as well.

This is NOT meant as a general XP compatibility kit to drop in your system32, while that does
work in MOST cases it is kind of dangerous and I don't recommend it. Rather these DLLs
should be placed along side the executable or in the start directory of the application.

In order to use these wrapper DLLs you MUST copy the original system DLLs somewhere in the
DLL search path with the TARGET name listed below. In my case I have a folder in my PATH
(WINXP_DLLS) that are unique to XP, ie no 2k equivalent. I place my TARGET DLLs here as well.

In some cases (kernel32.dll & user32.dll) the DLL search path must be modified due to 'KnownDLLs'
These KnownDLLs are only loaded from the system32, but this functionality can be disabled by
Regedt32. (*IMPORTANT regedit.exe won't work*) Simply add the DLLs to exclude from 'KnownDLLs' to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\ExcludeFromKnownDlls
this is a multiline value, so place a dll on each line.
Included in this pack should be a ExcludeFromKnownDlls.reg which will set this to kernel32.dll &
user32.dll. A reboot is needed for this to take effect. To see a list of KnownDLLs see
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs

For more info on DLL search paths see this awesome page
DLL Loading Rules in Win32 [http://home.att.net/~raffles1/older/dll ... _win32.htm]
I really don't know if this could be usefull for ROS, btw this guy seems skilled... :roll:
»Forward Agency NPO
In progress we (always) trust.
oiaohm
Posts: 1322
Joined: Sun Dec 12, 2004 8:40 am

Post by oiaohm »

Take closer look at wine http://winehq.org where some of reactos dlls come from.

Nothing new faking available dlls. Just the first time I have seen it on windows. Reason why wine runs old applications that Vista does not is some of that.

Good chance not much work on reactos part to have it. Just include the extra dlls from wine.
linuxgx
Posts: 170
Joined: Wed Mar 29, 2006 4:18 pm

Post by linuxgx »

He is right, there is no need to add extra API, actually adding the DLL's to vista would cause them to run as well
SdC
Posts: 190
Joined: Thu Jan 24, 2008 3:52 pm
Location: GMT +1

Post by SdC »

oiaohm wrote:.....
Nothing new faking available dlls. Just the first time I have seen it on windows. .....
LOL it's been done on Windows since Windows 2000 (sp4) was introduced: application compatibility mode! Compatibility mode provide "shims" to the applications. Documented here: http://technet.microsoft.com/en-us/libr ... 57032.aspx
forart
Posts: 1050
Joined: Mon Nov 29, 2004 1:36 pm
Location: Italy
Contact:

Post by forart »

Ehm... I don't think we should be interested mutch in functions nor specific tweak/wrapper/whatever, but I would hunt for skilled developers that deeply knows/understand how windows works, IMHO.

:roll:
»Forward Agency NPO
In progress we (always) trust.
SpoonmAn
Posts: 77
Joined: Mon Dec 19, 2005 6:09 pm

Post by SpoonmAn »

this was also my thought when i first read this thread...
justincase
Posts: 441
Joined: Sat Nov 15, 2008 4:13 pm

Re: [other] Windows 2000 XP API Wrapper Pack

Post by justincase »

The Windows 2000 Gaming forum has moved. It is now located at:
http://win2kgaming.site90.com/phpBB2/index.php

many useful tools including OldCigarette's Windows 2000 XP API Wrapper Pack which is now at version 1.7. OldCigarette is also a member of that forum also. Link here:
http://win2kgaming.site90.com/phpBB2/vi ... hp?f=6&t=7
I reserve the right to ignore any portion of any post if I deem it not constructive or likely to cause the discussion to degenerate.
Blackcrack
Posts: 1808
Joined: Tue Dec 20, 2005 12:55 pm
Contact:

Re: [other] Windows 2000 XP API Wrapper Pack

Post by Blackcrack »

Hy justincase ,

i dont now if you have an account on this board or note, tell him to it is give reactos
andf this can , if acceppt the developers direckt integrate it.. he schold take a look
on the ROS sourcecodes and shold write a patch for it to support some things ;)
Call him, OldCigarette to ROS Project justincase....... maby why not..

best regards
Blacky

_call any if they are know Reactos, maby gone to more programmers and patchwriters..._
forart , i hunt too :mrgreen:
Post Reply

Who is online

Users browsing this forum: No registered users and 17 guests