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. Joe, now that you've found two problems with the Activation Context (ActCtx) family of functions, we're likely to have trouble with the rest: [Kernel32.dll] ;ActivateActCtx=f2e // buggy! CreateActCtxA=t1e CreateActCtxW=t1e DeactivateActCtx=f2e FindActCtxSectionStringA=f5e ;FindActCtxSectionStringW=f5e // buggy! ... ReleaseActCtx=f1 Perhaps we should disable all of them, and then only reenabled them as needed.... MSDN - Activation Context Reference Function Description ActivateActCtx Activates the specified activation context. AddRefActCtx Increments the reference count of the specified activation context. CreateActCtx Creates an activation context. DeactivateActCtx Deactivates the specified activation context. FindActCtxSectionGuid Returns data contained in the ACTCTX_SECTION_KEYED_DATA structure that corresponds to the specified GUID. FindActCtxSectionString Returns data contained in the ACTCTX_SECTION_KEYED_DATA structure that corresponds to the specified string. GetCurrentActCtx Returns the current activation context. IsolationAwareCleanup Ensures that memory is freed when a manifest is loaded, unloaded, and reloaded. QueryActCtxW Queries the activation context for information about an assembly or file. QueryActCtxSettingsW Specifies the namespace and attribute name of the attribute that is to be queried. ReleaseActCtx Decrements the reference count of the specified activation context. ZombifyActCtx Deactivates the specified activation context, but does not deallocate it.
  2. That's good new. These must be delay-load dependencies that are loaded later, as needed. If the load fails, the operation that triggered it will fail. This appears to include printing. 1. Locate or create sections in stubs.ini for each module: [Winspool.drv] [ole32.dll] 2. Add blank definition keys for each missing export function: [Winspool.drv] GetPrinterDataExW [ole32.dll] CoWaitForMultipleHandles If we stop here, Kexstubs will prompt you at run-time for a return value if the function is ever invoked. 3. Add definition values for each function as per Post #21: [Winspool.drv] GetPrinterDataExW=t7 [ole32.dll] CoWaitForMultipleHandles=t5 4. Restart Windows to apply changes.
  3. I can confirm that flash 11.3.300.262 fails on Kex 4.5.12 in the default compatibilty mode. We can try changing modes, or it should be possible to modify core.ini (via "dll.api=std" lines) to back out the API changes from Kex 4.5.10 and determine where the problem lies. @MiKl What version of Kex and compatibility mode are you using with Flash version 11.3.300.265? .265 is a very minor update from .262, so perhaps .262 had a bug (related to the Kex 4.5.12 updates) that got fixed.
  4. A search for "NetUseEnum function msdn" yields: NetUseEnum function - MSDN - Microsoft Seven parameters. So return something other than zero. For Netapi32 functions, error code 1 works well. No reference to SetLastError. New definition should be: [Netapi32.dll] NetUseEnum=o7
  5. Good testing guys. I've added a warning to post #10. These definitions are intended to help the MSVC2010 CRT's so I'm surprised that they affect the 2008 CRT's. Can someone confirm with a process viewer what version of the CRT's are loaded in OO3.2.1 or other apps when the failure occurs? loblo had mentioned that "HeapQueryInformation -> SetLastError also seems to work but only when the function HeapSetInformation isn't also required". Try using the updates and commenting out just the "HeapQueryInformation" definition. It that isn't the culprit, a binary search will be needed--comment out half the remaining new definitions on each try. Unlike core.ini, stubs.ini supports both line and section comments. A semicolon (';') in front of a section name comments out the whole section. In front of a line, it comments out the whole line. Comments can also be place at the end of any line. For C/C++ programmers, a double-slash ("//") should also work. And for batch file programmers, a double-colon ("::"). (Okay, actually it's any character <= ';') In core.ini, there are no line or end-of-line comments. Whole sections can be commented out by inserting a semicolon (';') before the section name. To comment out a line, I move it to the bottom of the section, then insert a new line with the section header "[;]" above it.
  6. I didn't like the idea of needing to restart, either, but trying to avoid it delayed the release by weeks. I was unable to avoid the fact that KernelEx only loads support DLL's at startup. Even if it were possible to unload and then reload KernelEx like a USB device driver, unloading it would require the termination of all clients and that would pretty much shut down Windows anyway. The next version of Kexstubs, however, will allow for the redefinition of stubs with just the restart of any app that needs the new definition. This will allow for experimentation with various return values and LastError codes without a system restart.
  7. Excellent testing and reporting, schwups. During development, I searched the web for references to "missing export" to find needed API's and then added stub definitions. Naturally, I missed some that were right under my nose. Here is an update based largely upon loblo's work that can be manually added to stubs.ini to complete MSVC2010 (non-.NET) support. Definitions will take effect after next Windows restart: [edit] * Warning: Read posts #15-17 before applying these definitions. Insert definitions one at a time and only as needed. * [/edit] [Kernel32.dll] ActivateActCtx=f2e CreateActCtxA=t1e CreateActCtxW=t1e DeactivateActCtx=f2e FindActCtxSectionStringA=f5e FindActCtxSectionStringW=f5e GetGeoInfoA=z5e GetGeoInfoW=z5e GetUserGeoID=t1 GetVolumeNameForVolumeMountPointA=z3e GetVolumeNameForVolumeMountPointW=z3e HeapQueryInformation=f5e InitializeSListHead=f1 InterlockedFlushSList=f1 InterlockedPopEntrySList=f1 InterlockedPushEntrySList=f2 QueryDepthSList=f1 ReleaseActCtx=f1 By the way, sections don't need to be in alphabetical order but there should be no duplicates. Function definitions should be sorted, but Kexstubs will bubble-sort them (then reorder the strings) if they are not.
  8. @jds >Does this now supersede the previous 'NetApiEx' stuff? Temporarily, yes. At the moment, Kexstubs has stub support for more Netapi32 functions than NetApiEx. And additional stubs can easily be added as needs arise. But stubs are only a first step--they allow a program to load, but not to fully function. The next step is to write code that actually does what the calling program expects of it. That will be the role of NetApiEx in the future: to provide working API's rather than simple stubs. If we keep things open source with the right licensing, we should be able to borrow code from Wine and ReactOS as well as from the excellent work of our own WildBill and blackwingcat.
  9. Kexstubs now contains the follow definition for this API: [Advapi32.dll] ChangeServiceConfig2W=z3e That means: return zero, pop three parameters from the stack, and SetLastError (<invalid function>). You can also try changing the definition to "z3e0" / SetLastError (<success>).
  10. Excellent question, PROBLEMCHYLD. Previously, when users trying out new software were confronted with a "missing export" load failure, they had only two options: 1. Wait for someone else to update KernelEx, 2. Update KernelEx themselves. With Kexstubs installed, now there is is third option: 3. Edit a configuration file and reboot! And once I get the kinks worked out of the Kext examples, there will be a fourth option: 4. Add or upgrade specific API's by developing a custom module, without needing to rebuild the entire KernelEx core. Option 3 is the best for normal users (and great for developers as well), and is here right now. Option 4 will be the best for developers, and I expect will be the avenue for most new KernelEx development. Contributed results from options 3 and 4 can be rolled into the core KernelEx package if and when it is next updated.
  11. Kext: DIY KernelEx extensions A collection of tools for extending KernelEx Core.ini (in Post #144) Ktree9.7z iphlpapi4.7z Kstub822.zip Other recommended updates !Please post recommendations! Msvcrt.dll <- Msvcr70.dll / Msvcr71.dll Msvcr90.dll 9.00.21022.8 Msimg32.dll 5.00.2218.1 (Lab06_N(PRAVINSDEV).000328-1149) Winhttp.dll 5.1.2600.1557 (xpsp2_gdr.040517-1325) MsXML 4.0 SP2+fix / SP3 Ktree - KernelEx API viewer (Tree view control for core.ini and KernelEx\KnownDLLs) Ktree9.7z - (9Jan13): lists extension modules invoked by "contents=" of Core.ini lists DLLs supported via HKLM\Software\KernelEx\KnownDLLs lists all extensions by DLL lists all extensions by API Click below to see older updates: Iphlpapi.dll - Iphlpapi extension wrapper iphlpapi4.7z - (7Jan13): For use with or without KernelEx / Kexstubs see Post #116 for details and usage New in this version: Better GetAdaptersAddresses 10 new stubs Click below to see older updates: Kexstubs - better forwarding, better definitions Kstub822.zip - Kstub822.dll, Kstub822.ini Latest definitions for all stubbed functions! Fixes two bugs introduced in 816 related to comment processing New in 816: Forward definitions can now be abbreviated and commented Many new forward definitions providing full function support Stepload support removed Click below to see older updates: Source code available upon request:
  12. It means you need a Pentium 4, Opteron, Athlon64 or better processor--cvtss2sd (f3 0f 5a) is an SSE2 instruction!
  13. Yes, we are talking about file-based cloning. Beyond that, I fail to see how this is relevant to my question. I'm not asking anyone to do any tests, I'm just wondering if anyone actually knows. When I get some time, I'll put some files with long names (that have conflicting short names) on my ramdisk and clone it to a flash drive (or floppy or another ramdisk) using this drag-and-drop, icon-to-icon method. If all names match (long and short), I'll do some renaming and retesting in an effort to get it to fail. Slow method? Yes. Easy method? Yes (if it works). Third-party app required? No--just what's already there.
  14. The intersection of the content within my two links is "drag one icon onto the other." I read years ago that this is the easiest method to clone a drive. I don't remember if what I read pertained to Win3.x, Win9x, or WinXP. My question is: Does anyone happen to know if the icon drag-and-drop method for cloning a drive will work in Win9x, including preserving short file names?
  15. I realize that cloning a drive is no longer topical, but how about simply dragging the source drive (C:) icon onto the destination drive (D:) icon? 4. Clone a Windows system to the Hyperdrive by dragging and dropping the desired Windows system icon onto the Hyperdrive RAM icon. Just drag the image of your hard drive over to the icon for the external drive, and everything will be copied.
  16. Try a hardware detection/analysis tool - it should be able to talk to PCI bus devices and determine what they are:
  17. Welcome to DLL hell. Adding a function should have bumped the version to 9.1, but no: msvcp90.dll:?_Xfunc@tr1@std@@YAXXZ 9.00.21022.8 VC2008 (no) 9.00.30729.1 VC2008 SP1 (yes) Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)
  18. Have you tried a DVI cable? Amazon review of HD monitor attached to Radeon 9250 Have you tried a VGA cable? Ars Technica: Radeon 9250 DVI won't let my monitor go > 1280*1024??? Have you tried a lower-res 16:9 mode such as 1280x720 or 848x480? ATI Radeon 92x0: *16:9 aspect ratio monitors are [not] supported on [Win98] I recommend uninstalling, rebooting, then reinstalling the Radeon driver with the Eizo driver already installed (and PnP checkbox unchecked). Then (re)install DirectX 9c (December 2006). Re-explore the CCC Advanced menu options.
  19. There seems to be a Plug and Play problem between the newer ATI drivers and your monitor. Uncheck the "Plug and Play" box and try again with the Super Vga 1600x1200 and custom monitor drivers (reboot each time). That should work, otherwise you will also need to switch cable types: VGA / DVI.
  20. What do you see in the "Display Properties > Advanced > Monitors" tab? XGA is only 1024x768, so 1280x1024 should have become virtual. If so, that's a good thing. Did you try Super VGA 1600x1200? If that works up to 1600x1200, then also edit the monitor's MaxResolution in the registry: [HKEY_LOCAL_MACHINE\Enum\MONITOR\...\PCI_VEN...] "MaxResolution"="1920,1080"
  21. One down, three to go.... In case you want/need to try other drivers: MDGx SB drivers
  22. Is your monitor correctly installed and identified? The older drivers may be talking directly to the monitor to find its capabilities, while the new drivers may be using the installed (1280x1024?) values. In "Display Properties > Advanced > Monitors" you should see your monitor correctly identified (what is it by the way?) and "Automatically detect Plug & Play monitors" selected. "Change" the monitor type if needed. If you're *really* sure your monitor can do at least 1600x1200, try the Super VGA 1600x1200 in (standard monitor types). Monitors can be damaged if you overdrive them, so be *very careful.* In "Display Properties > Advanced", there may also be a "Display modes" or similar tab with various setting to try. You may also be able to use the Catalyst Control Center for these adjustments. Explore it thoroughly.
  23. I use an AirLink101 AP431W "Super G Multi-Functional Wireless Access Point" in AP Client (or Repeater) mode. As an external "wifi modem", it connects to my pc via ethernet and can be moved around for best reception on a short or long cable. It doesn't need drivers and has a local webpage for configuration.
  24. Or rather the DX9 runtime doesn't seem to support DX8.1 VXD's. Try testing your DX setup using the older drivers with DXDIAG.EXE or another DX diagnostic tool to locate the cause of the crashes. Also "crash" is extremely vague--please post the text of any error message. Virtual resolutions are sometime used when there is not enough screen buffer memory for the full image. Use the Radeon's utility to disable any dual-monitor support, including mirroring, TV-out, etc.
×
×
  • Create New...