• Home
  • Reviews
  • Articles
  • News
  • Tools
  • GamingHeaven
  • Forums
  • Network
 

Go Back   DriverHeaven.net > Forums > Hardware and Related Topics > kX Project Audio Driver Support Forum > General Discussion

Notices

Reply
 
LinkBack Thread Tools
Old Apr 16, 2003, 01:16 PM   #1
DriverHeaven Newbie
 
Join Date: Apr 2003
Posts: 10
Unsupported is on a distinguished road

98lite Workaround: Information Reqd.

Hi everyone

I'm very interested in using the kX Project drivers on my SBLive!, but unfortunately my OS, 98lite, is unsupported. However, as I see it this is for no reason other than to make programming more convenient. I can therefore work around it and reinstate support, but I will first require some information:

Which libraries (DLL, OCX, etc.) are required by each of the files in the kX driver package?

Using this information I will be able to set up AppPaths in the registry to point to a new directory where all the original 98SE files will be stored. That way, the support files are loaded from there rather than from their normal directories and there will be no missing routines. The primary files that are required, from what I can see, are MFC42D.DLL, MSVCRTD.DLL, and SHELL32.DLL, but I wanted to be sure that I have caught everything by asking here.

Thanks in advance.

Unsupported is offline   Reply With Quote
Old Apr 16, 2003, 01:51 PM   #2
kX Project Lead Programmer and Coordinator
 
Join Date: Dec 2002
Posts: 2,958
Eugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of light

OS 98lite (not 'SE Lite') lacks a very crucial kernel-level part dealing with PCIWaveCyclic miniport audio drivers

also, kX Mixer uses OLE to extract images from the skin files [JPEG, GIF, BMP...]
these OLE components get installed by Internet Explorer 4.0 (5.0?) or later

I doubt you'll manage to make kXMixer work w/o these components

let us know if it works

/Eugene
Eugene Gavrilov is offline   Reply With Quote
Old Apr 16, 2003, 01:56 PM   #3
DriverHeaven Junior Member
 
Join Date: Oct 2002
Posts: 30
kode54 is on a distinguished road

It would appear that shell32 problem is because some kX applications depend on the integrated browser shell extensions, which you have chosen to strip out by using 98lite. I highly doubt you can fix that for kX just by throwing the original shell32 somewhere in your path, but you're welcome to try.
kode54 is offline   Reply With Quote
Old Apr 16, 2003, 08:24 PM   #4
DriverHeaven Newbie
 
Join Date: Apr 2003
Posts: 10
Unsupported is on a distinguished road

Thanks very much for your responses so far!

As a matter of fact, Eugene, my OS is 'SE lite', as you put it. I'm no expert on the Windows kernel but if I get your meaning correctly, that means that it does in fact include the necessary functionality as far as miniport drivers go? I'd appreciate if you could confirm or deny this supposition. Oh, it's 98lite (SE) Micro, by the way - that could well make a difference (running the 95 OSR2 shell on the 98SE kernel). WDM drivers in general work just fine on it.

As for the OLE components: I've got them already. At least, kXMixer doesn't reference any exports from anything I don't already have, other than some components of SHELL32.DLL, but that's easily overcome as I already said. I've nothing against OLE, really (particularly since it's so widely used), but rather just IE.

And to my initial query: I've since managed to get full lists of export dependencies and so on, so from there I shouldn't have too much trouble getting everything working, hopefully. I already got Winamp3 working which has the very same problem with versions of SHELL32.

Thanks again!

Oh. One more thing. Am I right to assume that KX.SYS is loaded as a service and so only used on NT/2000/XP systems (ie not 98SE)? It references NTOSKRNL.EXE, which I can't imagine any 98 system having.

Last edited by Unsupported; Apr 16, 2003 at 08:43 PM.
Unsupported is offline   Reply With Quote
Old Apr 17, 2003, 06:16 PM   #5
kX Project Lead Programmer and Coordinator
 
Join Date: Dec 2002
Posts: 2,958
Eugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of light

ntoskrnl.exe is required for WDM drivers
Windows 98 and Me have this file in their CABs

concerning the topic: simply try running the kxsetup
I'm sure it will answer the question: "will kX work under 98se lite?"

/Eugene
Eugene Gavrilov is offline   Reply With Quote
Old Apr 17, 2003, 10:34 PM   #6
DriverHeaven Newbie
 
Join Date: Apr 2003
Posts: 10
Unsupported is on a distinguished road

Well, it might not now, but I could easily make it run. That's my point. I guess I'll just have to try it out and see what I can do. Thanks for your help!
Unsupported is offline   Reply With Quote
Old Apr 18, 2003, 12:14 AM   #7
DriverHeaven Junior Member
 
Join Date: Oct 2002
Posts: 30
kode54 is on a distinguished road

Oh my, I could have sworn I posted my less informed reply before I saw Eugene's.... Oh well.
kode54 is offline   Reply With Quote
Old Apr 18, 2003, 06:21 PM   #8
DriverHeaven Newbie
 
Join Date: Apr 2003
Posts: 10
Unsupported is on a distinguished road

In case anyone's interested in the slightest, I got it working without any problems now that I've had the time to actually try it. None of the predictions have come true:

1. 98lite does have full OLE capabilities;
2. 98lite has no issues with WDM drivers;
3. NTOSKRNL.EXE and HAL.DLL are not included and not required for WDM support on 98SE (support is achieved through VXDs that provide the same interfaces);
4. Other than the single missing export SHGetSpecialFolderPathA, there is no issue with SHELL32.DLL versions.

KXSETUP does not run - I don't know why - but it is apparently not required either to install the drivers or for any aspect of their functionality. I suspect it is simply coded not to load on 98lite systems to avoid any support queries, checking version numbers and so on.

So, all you have to do, 98lite users, is to patch KXMIXER.EXE to point to SHELL32.W98. Of course, it never harms to be sure you've got OLE functionality first, since this is the only thing that could have come along after installation time.

I'd really appreciate it if you could find the time, Eugene, in your otherwise excellent product to ensure that KXSETUP runs, and KXMIXER does not need patching. Then there's no need to exclude 98lite users anymore.

Thanks again, everyone!
Unsupported is offline   Reply With Quote
Old Apr 18, 2003, 08:02 PM   #9
kX Project Lead Programmer and Coordinator
 
Join Date: Dec 2002
Posts: 2,958
Eugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of light

unfortunately, we haven't got enough time to get a closer look over this problem, so, the main idea was to assume that the drivers are been installed on non-Lite OS. your report shows that the only missing feature seems to be ShGetSpecialFolderPath function located in shell32.dll

neither kxsetup, nor kxmixer ever had any specific code to detect the 98Lite version.

could you pls download the 'monitor' (kxdev.narod.ru) and check if it produces any useful output when you run kxsetup.exe and kxmixer.exe

/Eugene
Eugene Gavrilov is offline   Reply With Quote
Old Apr 18, 2003, 08:17 PM   #10
kX Project Lead Programmer and Coordinator
 
Join Date: Dec 2002
Posts: 2,958
Eugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of light

almost forgot: please check the availability of the following functions:

SHChangeNotify
SHGetMalloc
SHBrowseForFolderA

SHDeleteKeyA

the first three are to be present in Windows 95 and later
SHDeleteKeyA depends on the availability of the file shlwapi.dll....

/Eugene
Eugene Gavrilov is offline   Reply With Quote
Old Apr 19, 2003, 07:46 AM   #11
DriverHeaven Newbie
 
Join Date: Apr 2003
Posts: 10
Unsupported is on a distinguished road

Well, I checked everything you asked me to.

I checked the KXSETUP program more fully (not how you asked, though - that didn't work, but this did). Well, here you go, get ready for a long ride (but it's worth it):

Started "KXSETUP.EXE" (process 0xFFF38F3B) at address 0x01000000 by thread 0xFFF30A2B. Successfully hooked module.
Loaded "RPCRT4.DLL" at address 0x7FB90000 by thread 0xFFF30A2B. Successfully hooked module.
Loaded "MPR.DLL" at address 0x7FBF0000 by thread 0xFFF30A2B. Successfully hooked module.
Loaded "CFGMGR32.DLL" at address 0x7F810000 by thread 0xFFF30A2B. Successfully hooked module.
Loaded "WINSPOOL.DRV" at address 0x00450000 by thread 0xFFF30A2B. Successfully hooked module.
Loaded "VERSION.DLL" at address 0xBFE70000 by thread 0xFFF30A2B. Shared module not hooked.
Loaded "COMDLG32.DLL" at address 0x7FE90000 by thread 0xFFF30A2B. Successfully hooked module.
Loaded "LZ32.DLL" at address 0xBFE60000 by thread 0xFFF30A2B. Shared module not hooked.
Loaded "COMCTL32.DLL" at address 0xBFE90000 by thread 0xFFF30A2B. Shared module not hooked.
Loaded "SHELL32.DLL" at address 0x7FDC0000 by thread 0xFFF30A2B. Successfully hooked module.
Loaded "SETUPAPI.DLL" at address 0x77EA0000 by thread 0xFFF30A2B. Successfully hooked module.
Loaded "OLEAUT32.DLL" at address 0x65340000 by thread 0xFFF30A2B. Successfully hooked module.
Loaded "OLEPRO32.DLL" at address 0x78B50000 by thread 0xFFF30A2B. Successfully hooked module.
Loaded "OLE32.DLL" at address 0x7FF20000 by thread 0xFFF30A2B. Successfully hooked module.
Loaded "NTDLL.DLL" at address 0x82786000 by thread 0xFFF30A2B. Shared module not hooked.
Loaded "MSVCRT.DLL" at address 0x78000000 by thread 0xFFF30A2B. Successfully hooked module.
Loaded "MSIMG32.DLL" at address 0x00D90000 by thread 0xFFF30A2B. Successfully hooked module.
Loaded "USER32.DLL" at address 0xBFF50000 by thread 0xFFF30A2B. Shared module not hooked.
Loaded "MSVCRTD.DLL" at address 0x10200000 by thread 0xFFF30A2B. Successfully hooked module.
Loaded "MFC42D.DLL" at address 0x5F400000 by thread 0xFFF30A2B. Successfully hooked module.
Loaded "GDI32.DLL" at address 0xBFF20000 by thread 0xFFF30A2B. Shared module not hooked.
Loaded "KXGUI.DLL" at address 0x00400000 by thread 0xFFF30A2B. Successfully hooked module.
Loaded "ADVAPI32.DLL" at address 0xBFE80000 by thread 0xFFF30A2B. Shared module not hooked.
Loaded "KERNEL32.DLL" at address 0xBFF70000 by thread 0xFFF30A2B. Shared module not hooked.
Entrypoint reached. All implicit modules have been loaded.
Injected "DEPENDS.DLL" at address 0x08370000 by thread 0xFFF30A2B.
DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "DEPENDS.DLL" called by thread 0xFFF30A2B.
DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "DEPENDS.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x10200000, DLL_PROCESS_ATTACH, 0x00000001) in "MSVCRTD.DLL" called by thread 0xFFF30A2B.
GetProcAddress(0xBFF70000 [KERNEL32.DLL], "IsProcessorFeaturePresent") called from "MSVCRTD.DLL" at address 0x1024C0B9 and returned 0x8497BD58 by thread 0xFFF30A2B.
DllMain(0x10200000, DLL_PROCESS_ATTACH, 0x00000001) in "MSVCRTD.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x5F400000, DLL_PROCESS_ATTACH, 0x00000001) in "MFC42D.DLL" called by thread 0xFFF30A2B.
LoadLibraryA("MSVCRTD.DLL") called from "MFC42D.DLL" at address 0x5F4998E9 by thread 0xFFF30A2B.
LoadLibraryA("MSVCRTD.DLL") returned 0x10200000 by thread 0xFFF30A2B.
LoadLibraryA("C:\WINDOWS\SYSTEM\MFC42LOC.DLL") called from "MFC42D.DLL" at address 0x5F499A72 by thread 0xFFF30A2B.
LoadLibraryA("C:\WINDOWS\SYSTEM\MFC42LOC.DLL") returned NULL by thread 0xFFF30A2B. Error: One of the library files needed to run this application cannot be found (1157).
DllMain(0x5F400000, DLL_PROCESS_ATTACH, 0x00000001) in "MFC42D.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x78000000, DLL_PROCESS_ATTACH, 0x00000001) in "MSVCRT.DLL" called by thread 0xFFF30A2B.
GetProcAddress(0xBFF70000 [KERNEL32.DLL], "IsProcessorFeaturePresent") called from "MSVCRT.DLL" at address 0x78001E3C and returned 0x8497BD68 by thread 0xFFF30A2B.
DllMain(0x78000000, DLL_PROCESS_ATTACH, 0x00000001) in "MSVCRT.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x00D90000, DLL_PROCESS_ATTACH, 0x00000001) in "MSIMG32.DLL" called by thread 0xFFF30A2B.
LoadLibraryA("gdi32.dll") called from "MSIMG32.DLL" at address 0x00D9137F by thread 0xFFF30A2B.
LoadLibraryA("gdi32.dll") returned 0xBFF20000 by thread 0xFFF30A2B.
GetProcAddress(0xBFF20000 [GDI32.DLL], "GdiTransparentBlt") called from "MSIMG32.DLL" at address 0x00D9138F and returned NULL by thread 0xFFF30A2B. Error: The specified module could not be found (126).
GetProcAddress(0xBFF20000 [GDI32.DLL], "GdiGradientFill") called from "MSIMG32.DLL" at address 0x00D913AA and returned NULL by thread 0xFFF30A2B. Error: The specified module could not be found (126).
GetProcAddress(0xBFF20000 [GDI32.DLL], "GdiAlphaBlend") called from "MSIMG32.DLL" at address 0x00D913C5 and returned NULL by thread 0xFFF30A2B. Error: The specified module could not be found (126).
DllMain(0x00D90000, DLL_PROCESS_ATTACH, 0x00000001) in "MSIMG32.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x7FF20000, DLL_PROCESS_ATTACH, 0x00000001) in "OLE32.DLL" called by thread 0xFFF30A2B.
DllMain(0x7FF20000, DLL_PROCESS_ATTACH, 0x00000001) in "OLE32.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x65340000, DLL_PROCESS_ATTACH, 0x00000001) in "OLEAUT32.DLL" called by thread 0xFFF30A2B.
GetProcAddress(0xBFF70000 [KERNEL32.DLL], "IsTNT") called from "OLEAUT32.DLL" at address 0x6534EF4B and returned NULL by thread 0xFFF30A2B. Error: The specified module could not be found (126).
GetProcAddress(0xBFF70000 [KERNEL32.DLL], "IsProcessorFeaturePresent") called from "OLEAUT32.DLL" at address 0x6534FD3C and returned 0x8497BD78 by thread 0xFFF30A2B.
DllMain(0x65340000, DLL_PROCESS_ATTACH, 0x00000001) in "OLEAUT32.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x78B50000, DLL_PROCESS_ATTACH, 0x00000001) in "OLEPRO32.DLL" called by thread 0xFFF30A2B.
GetProcAddress(0xBFF70000 [KERNEL32.DLL], "IsTNT") called from "OLEPRO32.DLL" at address 0x78B62892 and returned NULL by thread 0xFFF30A2B. Error: The specified module could not be found (126).
GetProcAddress(0xBFF70000 [KERNEL32.DLL], "IsProcessorFeaturePresent") called from "OLEPRO32.DLL" at address 0x78B6468B and returned 0x8497BD88 by thread 0xFFF30A2B.
GetProcAddress(0x65340000 [OLEAUT32.DLL], "OleIconToCursor") called from "OLEPRO32.DLL" at address 0x78B62537 and returned 0x653A187F by thread 0xFFF30A2B.
GetProcAddress(0x65340000 [OLEAUT32.DLL], "OleCreateFontIndirect") called from "OLEPRO32.DLL" at address 0x78B62537 and returned 0x653984F2 by thread 0xFFF30A2B.
GetProcAddress(0x65340000 [OLEAUT32.DLL], "OleCreatePictureIndirect") called from "OLEPRO32.DLL" at address 0x78B62537 and returned 0x653A0778 by thread 0xFFF30A2B.
GetProcAddress(0x65340000 [OLEAUT32.DLL], "OleLoadPicture") called from "OLEPRO32.DLL" at address 0x78B62537 and returned 0x653A0931 by thread 0xFFF30A2B.
GetProcAddress(0x65340000 [OLEAUT32.DLL], "OleTranslateColor") called from "OLEPRO32.DLL" at address 0x78B62537 and returned 0x6539B38A by thread 0xFFF30A2B.
GetProcAddress(0x65340000 [OLEAUT32.DLL], "OleCreatePropertyFrame") called from "OLEPRO32.DLL" at address 0x78B62537 and returned 0x6539CAEC by thread 0xFFF30A2B.
GetProcAddress(0x65340000 [OLEAUT32.DLL], "OleCreatePropertyFrameIndirect") called from "OLEPRO32.DLL" at address 0x78B62537 and returned 0x6539CAA0 by thread 0xFFF30A2B.
DllMain(0x78B50000, DLL_PROCESS_ATTACH, 0x00000001) in "OLEPRO32.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x00400000, DLL_PROCESS_ATTACH, 0x00000001) in "KXGUI.DLL" called by thread 0xFFF30A2B.
DllMain(0x00400000, DLL_PROCESS_ATTACH, 0x00000001) in "KXGUI.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x7FDC0000, DLL_PROCESS_ATTACH, 0x00000001) in "SHELL32.DLL" called by thread 0xFFF30A2B.
DllMain(0x7FDC0000, DLL_PROCESS_ATTACH, 0x00000001) in "SHELL32.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x7FE90000, DLL_PROCESS_ATTACH, 0x00000001) in "COMDLG32.DLL" called by thread 0xFFF30A2B.
DllMain(0x7FE90000, DLL_PROCESS_ATTACH, 0x00000001) in "COMDLG32.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x00450000, DLL_PROCESS_ATTACH, 0x00000001) in "WINSPOOL.DRV" called by thread 0xFFF30A2B.
DllMain(0x00450000, DLL_PROCESS_ATTACH, 0x00000001) in "WINSPOOL.DRV" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x7F810000, DLL_PROCESS_ATTACH, 0x00000001) in "CFGMGR32.DLL" called by thread 0xFFF30A2B.
DllMain(0x7F810000, DLL_PROCESS_ATTACH, 0x00000001) in "CFGMGR32.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x7FBF0000, DLL_PROCESS_ATTACH, 0x00000001) in "MPR.DLL" called by thread 0xFFF30A2B.
DllMain(0x7FBF0000, DLL_PROCESS_ATTACH, 0x00000001) in "MPR.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x7FB90000, DLL_PROCESS_ATTACH, 0x00000001) in "RPCRT4.DLL" called by thread 0xFFF30A2B.
DllMain(0x7FB90000, DLL_PROCESS_ATTACH, 0x00000001) in "RPCRT4.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x77EA0000, DLL_PROCESS_ATTACH, 0x00000001) in "SETUPAPI.DLL" called by thread 0xFFF30A2B.
LoadLibraryA("kernel32.dll") called from "SETUPAPI.DLL" at address 0x77ED34AF by thread 0xFFF30A2B.
LoadLibraryA("kernel32.dll") returned 0xBFF70000 by thread 0xFFF30A2B.
GetProcAddress(0xBFF70000 [KERNEL32.DLL], "GetFileAttributesExA") called from "SETUPAPI.DLL" at address 0x77ED34F8 and returned 0x8497C4F8 by thread 0xFFF30A2B.
GetProcAddress(0xBFF70000 [KERNEL32.DLL], "GetFileAttributesExW") called from "SETUPAPI.DLL" at address 0x77ED34F8 and returned 0x8497C508 by thread 0xFFF30A2B.
DllMain(0x77EA0000, DLL_PROCESS_ATTACH, 0x00000001) in "SETUPAPI.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x77EA0000, DLL_PROCESS_DETACH, 0x00000001) in "SETUPAPI.DLL" called by thread 0xFFF30A2B.
DllMain(0x77EA0000, DLL_PROCESS_DETACH, 0x00000001) in "SETUPAPI.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x7FB90000, DLL_PROCESS_DETACH, 0x00000001) in "RPCRT4.DLL" called by thread 0xFFF30A2B.
DllMain(0x7FB90000, DLL_PROCESS_DETACH, 0x00000001) in "RPCRT4.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x7FBF0000, DLL_PROCESS_DETACH, 0x00000001) in "MPR.DLL" called by thread 0xFFF30A2B.
DllMain(0x7FBF0000, DLL_PROCESS_DETACH, 0x00000001) in "MPR.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x7F810000, DLL_PROCESS_DETACH, 0x00000001) in "CFGMGR32.DLL" called by thread 0xFFF30A2B.
DllMain(0x7F810000, DLL_PROCESS_DETACH, 0x00000001) in "CFGMGR32.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x00450000, DLL_PROCESS_DETACH, 0x00000001) in "WINSPOOL.DRV" called by thread 0xFFF30A2B.
DllMain(0x00450000, DLL_PROCESS_DETACH, 0x00000001) in "WINSPOOL.DRV" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x7FE90000, DLL_PROCESS_DETACH, 0x00000001) in "COMDLG32.DLL" called by thread 0xFFF30A2B.
DllMain(0x7FE90000, DLL_PROCESS_DETACH, 0x00000001) in "COMDLG32.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x7FDC0000, DLL_PROCESS_DETACH, 0x00000001) in "SHELL32.DLL" called by thread 0xFFF30A2B.
DllMain(0x7FDC0000, DLL_PROCESS_DETACH, 0x00000001) in "SHELL32.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x00400000, DLL_PROCESS_DETACH, 0x00000001) in "KXGUI.DLL" called by thread 0xFFF30A2B.
DllMain(0x00400000, DLL_PROCESS_DETACH, 0x00000001) in "KXGUI.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x78B50000, DLL_PROCESS_DETACH, 0x00000001) in "OLEPRO32.DLL" called by thread 0xFFF30A2B.
DllMain(0x78B50000, DLL_PROCESS_DETACH, 0x00000001) in "OLEPRO32.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x65340000, DLL_PROCESS_DETACH, 0x00000001) in "OLEAUT32.DLL" called by thread 0xFFF30A2B.
DllMain(0x65340000, DLL_PROCESS_DETACH, 0x00000001) in "OLEAUT32.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x7FF20000, DLL_PROCESS_DETACH, 0x00000001) in "OLE32.DLL" called by thread 0xFFF30A2B.
DllMain(0x7FF20000, DLL_PROCESS_DETACH, 0x00000001) in "OLE32.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x00D90000, DLL_PROCESS_DETACH, 0x00000001) in "MSIMG32.DLL" called by thread 0xFFF30A2B.
DllMain(0x00D90000, DLL_PROCESS_DETACH, 0x00000001) in "MSIMG32.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x78000000, DLL_PROCESS_DETACH, 0x00000001) in "MSVCRT.DLL" called by thread 0xFFF30A2B.
DllMain(0x78000000, DLL_PROCESS_DETACH, 0x00000001) in "MSVCRT.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x5F400000, DLL_PROCESS_DETACH, 0x00000001) in "MFC42D.DLL" called by thread 0xFFF30A2B.
DllMain(0x5F400000, DLL_PROCESS_DETACH, 0x00000001) in "MFC42D.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x10200000, DLL_PROCESS_DETACH, 0x00000001) in "MSVCRTD.DLL" called by thread 0xFFF30A2B.
DllMain(0x10200000, DLL_PROCESS_DETACH, 0x00000001) in "MSVCRTD.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
DllMain(0x08370000, DLL_PROCESS_DETACH, 0x00000001) in "DEPENDS.DLL" called by thread 0xFFF30A2B.
DllMain(0x08370000, DLL_PROCESS_DETACH, 0x00000001) in "DEPENDS.DLL" returned 1 (0x1) by thread 0xFFF30A2B.
Exited "KXSETUP.EXE" (process 0xFFF38F3B) with code 0 (0x0) by thread 0xFFF30A2B.

Well, there we have it - I think all the needed information is there. And KXMIXER runs fine, so there are no problems with that. All the functions you mention are present and correct.

Last edited by Unsupported; Apr 19, 2003 at 08:50 AM.
Unsupported is offline   Reply With Quote
Old Apr 19, 2003, 11:16 PM   #12
kX Project Lead Programmer and Coordinator
 
Join Date: Dec 2002
Posts: 2,958
Eugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of light

well, I suggest you still try any tool that displays debugging information
because the infromation you provided is DLL-related only
I'm unsure if kX Setup fails due to this particular problem...

3532-b will check for SHGetSpecialFolderPath function manually

/Eugene
Eugene Gavrilov is offline   Reply With Quote
Old Apr 20, 2003, 09:27 AM   #13
DriverHeaven Newbie
 
Join Date: Apr 2003
Posts: 10
Unsupported is on a distinguished road

I did try the debug viewer (I tried the monitor as well like you suggested, but that isn't the right tool for the job - it's only used for debugging VxDs). It didn't report any problems, which is what leads me to think that the missing functions are at fault. If there were any information provided by these debug tools, I assure you I wouldn't have neglected to post it. Rather, I thought that I would at least post something potentially helpful rather than simply reporting no errors.

It's interesting to note that other applications get by OK without certain functions, even if they call them: for example, it seems that neither MFC42LOC.DLL nor IsTNT (from KERNEL32.DLL) are actually required. This, I suppose, is because MFC42LOC.DLL is used only for localisation information, and is not relevant to me since I am using a standard British English installation (though selecting the different languages in kX Mixer still worked perfectly). IsTNT is part of the TNT toolkit which allows running NT console applications under DOS with certain versions of KERNEL32.DLL (that function identifies these versions) - clearly not relevant for our purposes.

Therefore I can only assume that the functions that cause the problem are GdiTransparentBlt, GdiGradientFill, and GdiAlphaBlend. These are not available on Windows 98 or 98SE (being introduced with Windows 2000), so I can only assume that the KXSETUP.EXE program has trouble running on non-lite versions of Windows 98 as well. If anyone could confirm this, it would be very helpful.

Thanks for your continued attention to this problem, Eugene. It's also good to know that you will implement version checking in the next beta. This function will always be found in SHELL32.W98 and not SHELL32.DLL in 98lite versions, so you can still use it.
Unsupported is offline   Reply With Quote
Old Apr 21, 2003, 03:05 PM   #14
kX Project Lead Programmer and Coordinator
 
Join Date: Dec 2002
Posts: 2,958
Eugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of light

>>try the debug viewer (I tried the monitor as well like you suggested, but that isn't the right tool for the
>>job - it's only used for debugging VxDs).

it should work correctly under Win98 and Win2k/WinXP OSes
you haven't installed it correctly perhaps (it contains both 'sys' and 'vxd' components)

simply run 'monitor.exe' -- don't try to upload any driver in it

[you might need to copy the .vxd & .sys to windows\system and windows\system32\drivers and reboot..]

the 'monitor' should print a message from the 'default' and 'system' channels automatically

in order to test simply start any audio playback or start / close kxmixer

there should be a message 'waveout open' and '[CMiniportCtrlStream]'

the GDI stuff is autodetected by gdi32.dll/msimg32.dll, so, there should be no problem with them
moreover, kxsetup works correctly under Win98SE

most of the failures mentioned in your report are normal and should not cause any problems

3532-b should autocheck for the presence of 'SHGet...FolderPath'

/Eugene
Eugene Gavrilov is offline   Reply With Quote
Old Apr 22, 2003, 09:28 AM   #15
DriverHeaven Newbie
 
Join Date: Apr 2003
Posts: 10
Unsupported is on a distinguished road

Well, I checked again to make absolutely sure that I was correct the first time. It turns out that the monitor was correctly installed before, but I installed it again and checked again anyway. kX Mixer isn't the problem here. It functions perfectly - there are no problems with playback, starting or stopping the application, loading the drivers or anything of that nature. In short, there are no problems at all in working the driver once it is installed.

The only problem I am having with any of the applications is that KXSETUP.EXE does not work - no error messages, no messages in the Monitor, nothing. This makes it rather awkward to uninstall kX, as you will be able to imagine. It's also a mystery to me why it doesn't work for me, if it does work on normal Windows 98SE, since I think I've shown that there are no libraries or functions needed which are not available in 98lite, nor are there any problems as far as the Monitor is concerned. If you have any more ideas, let me know.
Unsupported is offline   Reply With Quote
Old Apr 22, 2003, 06:24 PM   #16
kX Project Lead Programmer and Coordinator
 
Join Date: Dec 2002
Posts: 2,958
Eugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of light

so, the monitor works correctly and shows the messages from the mixer, doesn't it?

btw, have you tried 3532-b release?..

/Eugene
Eugene Gavrilov is offline   Reply With Quote
Old Apr 26, 2003, 04:50 PM   #17
DriverHeaven Newbie
 
Join Date: Apr 2003
Posts: 10
Unsupported is on a distinguished road

No, as a matter of fact I haven't tried 3532-b yet, because it's not available from any of the download mirrors, as far as I can see. But yes, you are right, the monitor does work correctly - sorry if I was being confusing there. Thanks for your continued attention to this.
Unsupported is offline   Reply With Quote
Old Apr 26, 2003, 05:34 PM   #18
kX Project Lead Programmer and Coordinator
 
Join Date: Dec 2002
Posts: 2,958
Eugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of lightEugene Gavrilov is a glorious beacon of light

review 3532 release candidate 1 :)

/Eugene
Eugene Gavrilov is offline   Reply With Quote
Old Jun 21, 2003, 03:13 PM   #19
DriverHeaven Newbie
 
Join Date: Apr 2003
Posts: 10
Unsupported is on a distinguished road

Thanks Eugene, it works just fine now. I guess I should change my nickname! Sorry I was so long in responding - I chose to hold off on adopting the kX drivers until the feature-set was a bit fuller. With it growing all the time, one has got to choose some point at which to dive in!

It's great work you're doing here, and I think there's no doubt that the kX drivers, and your own efforts in developing them, are indeed expanding the potential exponentially. I'm sure everyone will join me in saying a big thankyou!
Unsupported is offline   Reply With Quote
Old Jun 21, 2003, 10:22 PM   #20
DriverHeaven Junior Member
 
Join Date: Jan 2003
Posts: 46
PooshhMao is on a distinguished road

I used to have the same problem but found a fix for it.
All is explained in this thread - removing IE kills kX

Hope it is of any help to you.
PooshhMao is offline   Reply With Quote
Old Jun 26, 2003, 05:04 PM   #21
DriverHeaven Newbie
 
Join Date: Apr 2003
Posts: 10
Unsupported is on a distinguished road

Thanks, however as you can see from above the issue for me was the use of certain unusual routines which are present in the Windows 98 shell but not the Windows 95 one. You'll note we resolved the OLE issue in this thread quite some time before you started yours - but it never harms of course to mention this little potential "gotcha," of course.

At any rate, Eugene's very kindly resolved the issue now - provided one's got OLE available, of course. It's a little different, I think, to require OLE than simply not being aware of a supporting DLL present on 98lite systems for compatibility purposes: to remove potential issues with the former would be inefficient and time-consuming, while the latter can be implemented with at most ten lines of code. And now it is.
Unsupported is offline   Reply With Quote