Jump to content

jumper

Member
  • Posts

    1,845
  • Joined

  • Last visited

  • Days Won

    7
  • Donations

    0.00 USD 
  • Country

    United States

Everything posted by jumper

  1. Mpr.dll:WNetRestoreConnectionA exists in Win98se. It is not in my VC5 documentation, so probably does not exist in Win95 nor WinNt 3.51. A few years ago a number of developers reported it missing in this MSDN thread. The answer seems to be Q&A #2 in this Dependency Walker FAQ:
  2. kernel32.dll: HeapQueryInformation is supported by KernelEx with a little help from Kexstubs. Foobar2000 has changed their api and older optional components don't work with the latest app and vice versa. See the FAQ for details.
  3. If your game needs long file names, then it isn't really an MS-DOS app. Perhaps you moved the installed files to a subdirectory that exceeds the MS-DOS path limit. If it really does need long files names, then it must have its own TSR or use a dos-extender to provide that support when running in real MS-DOS. If so, please elaborate. From what I've read on other sites, DOSBox should be the way to go once you've solved the file names/paths issue.
  4. If you have a 64-bit processor, 16-bit instructions need to be emulated. I don't think WOW can do that. Edit: AMD64 and Intel 64 processors can run 16-bit code when operating in "Legacy mode." According to http://en.wikipedia.org/wiki/X86-64#Legacy_mode: Thanks, Tripredacus!
  5. Kstubs816 now posted with better forwarding, better definitions + Forwards can now be abbreviated and commented + Many new forward definitions providing full function support + Complete definitions for all stubbed functions - Stepload support removed Note: Full-line comments got broken last week when I was trying a trick to avoid needing system restarts in some cases. The workaround is to remove from Kstub816.ini / stubs.ini all definitions that are commented out. I've posted a new download with the updated Kstub816.ini. Edit: 822 is what 816 was supposed to be. It has the same features, but without the full-line and end-of-forwards-line comment bugs.
  6. Reflectors: Deep Dish Cylindrical Parabolic Template google.com/images?q=wifi+antenna+reflector Cantenna:
  7. Your antenna is either a VHF or UHF (or a combo) antenna (there is no such thing as an "HDTV" antenna). It is tuned for a few hundred MHz, not 2.4 GHz. The cable also has the wrong impedance for wifi. If it is powered (has an amplifier), it cannot transmit, only receive. I really should just say , but if you're not afraid of frying the wifi adapter (or the antenna if it does have a built-in amplifier) please try it and report your findings! For a variety of reasons, however, you are more likely to have better success with a long wire. For a directional antenna, a "cantenna" is a better place to start than trying to adapt a tv antenna. After much research and experimentation several years ago, I settled on using a seven inch A/B stick antenna inside an aluminum pie tin reflector crudely bent into a pseudo-parabolic shape. My recommendation is to use the biggest wifi antenna you already have along with a metal reflector of some kind.
  8. Already in 98SESP3.3, so should work in ME as well. What app do you run that needs atl80? The only atl.dll on my SE machine is version 2.00.7274 B)
  9. msxml4.dll needs its subsystem version changed to 4.0, otherwise its dependencies look okay for 98se+. It should load as-is with Kex, or after patching. Let us know how the testing goes!
  10. It looks like PowerCheck is called in several places, so the easiest way to always pass the check might be this: Public Function PowerCheck PowerCheck = True End Function The better solution would be to hook up an AC adapter or recharge the battery. If power fails while you are updating firmware, that component (or the whole system) could be hosed permanently. The power check is there for a very good reason!
  11. Very good. This means that one of the definitions is colliding with a standard function or one in kexbases or kexbasen. I wasn't aware of any with SE other than the intentional PrintDlgEx, but will recheck. Testload.exe can be used to detect collisions (load addresses of functions in stubs.ini above 0x10001nnn), but I'll design a better tool. The reason for increasing the priority of Kstub730 was to override KernelEx on ComDlg32:PrintDlgExA/W. That can also be done with a .names definition in Core.ini: [NT2K.names] ComDlg32.PrintDlgExA=Kstub730.0 ComDlg32.PrintDlgExW=Kstub730.0 I've now rechecked for conflicts using TestLoad and found none on my SE system, but the Msvcr90.dll section would probably be an issue for those with the latest version installed (definitions are meant to augment the original version). Before Kstub730, [Msvcr90.dll] was missing the '0'.
  12. Yes, or leave it if it is still there. I'll correct post #51. Thanks! The prompt occurs because Kstub730 supports the '?' directive (whereas Kstub626 did not): ; =r#s#[e[#]][?] Remove the '?' to use the 't2' without prompting. I added the '?' because the function is undocumented and the 't' was a guess. Users can try 'f2' or 'r<n>s2' to change the return value. An 'e' can also be tried. This is the purpose of the prompt sequence: to be able to experiment with different options without restarting the app. When prompted, Cancel+Yes is equivalent to 't2'--what combinations of responses have or haven't worked for you? SHRegisterValidateTemplate was first introduced in Windows 2000, so you are using a W2K+ file somewhere in your WinMe(?) system. This isn't a bad thing, but it would be good to know what file is making the call. Please search your <WinSys> folder for files containing "SHRegisterValidateTemplate". Also, check what modules are in use by Explorer at the time of this prompt. Does your system that is not having a problem happen to be SE, or not have all the same SP's/upgrades? Thanks for the report and good followup!
  13. Both of these definitions already existed, so the problem is likely a definition that was removed. I'll address that in the next post. Using this Table of Geographical Locations, we can now upgrade GetUserGeoID from GEOID_NOT_AVAILABLE (-1), to: [Kernel32.dll] GetUserGeoID=r0xF4s1 ;US ; or GetUserGeoID=r0x5Es1 ;Germany
  14. Probably one of the new definitions. First we need to look at what was reported in the Kstub730.log file. Each action is now logged. The next thing would be to try the older definitions with Kstub730.dll. You can do this by removing Kstub730.ini--Kstub730 will use Kex stubs.ini if it doesn't find Kstub30.ini. (Kstub626.dll also has this feature.)
  15. BlackWingCat's kdw and KernelEx only offer stubs and limited support for Uxtheme. That may be enough for now, as 9x doesn't seem to contain the infrastructure to really support much more yet. But ideally we'd like to have a complete implementation for when all the other pieces fall into place. For weeks I've been researching projects that might be helpful in extending KernelEx once API forwarding was functional. Until last night I hadn't really focused on Uxtheme, however. Here are some options: Uxtheme.dll support Project Date Size API count ----------------------- --------------- ------- --------- KernelEx 4.52 11/14/2011 5K 48 BWC KB935839-v15y 3/17/2012 16K 48 BlackWingCat kdw096m 2/10/2012 17K 48 OldCigarette W2KXPAPI 2/27/2011 44K 18 win2000-uxthemedll/Wine 10/06/2010 337K 52 ReactOS LiveCD 2/05/2012 232K 53 Quotes from "Windows NT4/2000/2003 > PE Tool for creating patches" posts: Uxtheme without Critical Section (Ctx) support causes problems in .NET apps: Uxtheme causes .NET problems on Win2K:
  16. >I think it should be PrintDlgExW=>ComDlgKs.dll:PrintDlgExW !? Good eye, I hoped it would be noticed. This was an intentional example of how the '.dll' extension is optional: ; =>[[drive:]path]library[.ext]:function SumatraPDF 2.11 was my test case for this forwarding definition.
  17. Good find, Joe. Tapping into the on-going Wine development will be key to playing catch-up to new MS API's. ReactOS has a later Win32 build of uxtheme.dll that is probably also based on the Wine sources, but it has heavy dependencies on newer system API's as well. Other versions of uxtheme.dll that I've found are only stubs or very limited implementations. For DLL's that don't exist in 9x, we should be able to build with Mingw compatible versions from the latest Wine sources using the instructions in your linked article. For DLL's that do, we can build full or partial (just the needed API's) DLL's and modify in core.ini the KernelEx compatibility modes to invoke them as needed. This would require some extra (Kext) code in each DLL, or the use of Kexstubs API forwarding. For non-KernelEx users, RLoew's API hook tool could be used instead.
  18. Why wait for someone else to fix it when you can Do It Yourself with Kexstubs? Kexstubs supports every missing api that has been reported on this board (and most of the web). Sloppy error reporting like this is the reason there is not already a fix.
  19. >Useless? Not at all; I found it very interesting. Thanks for discovering it, jaclaz.
  20. Logging off and logging back on shuts down then restarts Explorer. This is the way to get the ShellIconCache to update. It should also update the desktop.ini files where the individual folder settings are saved. Easy to try....
  21. The Lsa functions need to return a negative value to indicate failure, so our only option for now is 'true'. They don't SetLastError, so no 'e'. InitSecurityInterface[A/W] returns zero on failure, takes no parameters, and doesn't SetLastError. Sorted and merged: [Secur32.dll] GetUserNameExA=z3e GetUserNameExW=z3e InitSecurityInterfaceW=z0 LsaEnumerateLogonSessions=t2 LsaFreeReturnBuffer=t1 LsaGetLogonSessionData=t2 What is your default mode set to? It can be enabled or disabled (registry setting); and any compatibility mode (core.ini setting). I highly recommend Disabled or Enabled/Win98se (for the improved heap management). Only use a higher mode when required, or the app might try to take liberties.... [NTDLL.DLL] vsprintf=z0 'z' because no characters are outputted (hopefully the buffer is already zero-terminated, because we can't do that!) '0' because of the "C" calling convention (__cdecl). No 'e' because this function doesn't SetLastError. Edit: As of 822, we can use any of these definitions to forward vsprintf to be handled by Msvcrt.dll: [NTDLL.DLL] vsprintf=>Msvcrt.dll:vsprintf vsprintf=>Msvcrt:vsprintf vsprintf=>Msvcrt.dll: vsprintf=>Msvcrt: vsprintf=>
  22. Confirmed! According to Wikipedia, the current stable version is 2.2.6000. I run that version and have had no problems. What version has problems with ActivateActCtx?
  23. FileInfo 2.21 for Total Commander: This does look very promising. The server at physio-a.univ-tours.fr is currently not responding, however, so I can't test it yet. Remember to set the KernelEx compatibility mode on FileInfo to the same as the module you are testing--KernelEx API support varies by mode! The ideal KernelEx-aware dependency tester would test against each of the compatibility modes and recommend the best one to use.
  24. >I installed Firefox 14.01 portable. There is a problem with dll files msvcr100.dll and msvcp100.dll .... >I tried to run Firefox 14.01 portable with kernelex 4.5.2 on windows 98 I got a missing import function from kernel32.dll. KernelEx supports some of the msvc*100 dependencies; Kexstubs supports the rest. >When I checked with Dependency walker you could see there are several import and export functions missing. Dependency Walker makes invalid assumptions about how the loader resolves external dependencies. KernelEx users should _not_ use it. Please report (and only report) the Missing Export messages generated by the loader.
  25. >Isn't CoWaitForMultipleHandles already handled by KernelEx, and emulated at that? Good catch, loblo. Indeed, kexbasen contains a robust implementation of CoWaitForMultipleHandles. That is why stubs.ini doesn't already have a definition for it. This bring up two issues: 1. Dependency Walker doesn't know about KernelEx 2. What happens when a definition is added to stubs.ini that is covered elsewhere Until there is a DW-like tool that is Kex-aware, it's probably best to only add stubs for missing exports reported by the loader. ImportPatcher was designed to help non-KernelEx users and doesn't currently know about KernelEx, but that can easily be fixed. The beauty of "contents=Kstub626,std,kexbases,kexbasen" is that if kex already supports a function, the stubs.ini definition will be ignored. Also, if a standard (std) system dll is updated and now includes support for a function (think msvcrt*.dll), it will override any definition in stubs.ini.
×
×
  • Create New...