Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Operating system impact on WINSOCK.dll smtp email?
Message
 
To
17/09/2003 16:21:33
General information
Forum:
Visual FoxPro
Category:
Windows API functions
Miscellaneous
Thread ID:
00830095
Message ID:
00830447
Views:
20
the "MSWINSOCK.WINSOCK" COM object is stored in an OCX, even though it is not an ActiveX 'control', it still uses COM, and can be built in an OCX (which, really, is just a DLL that follows certain rules and which has its extension changed to OCX).

This relies on MsWinSck.ocx, which is NOT part of the OS on Win98 or WinNT/2k. If you need it in your application, include it's merge module in your InstallShield build.

As pointed out elsewhere, the dependency (found using RegEdit and Dependency Walker is:
MSWINSOCK.WINSOCK --current version--> MSWINSOCK.WINSOCK.1 --CLSID--> {248DD896-BB45-11CF-9ABC-0080C7E7B78D} --InprocServer32--> C:\Winnt\System32\MsWinSck.ocx --Dependency Walker--> WSOCK32.DLL -> WS2_32.DLL -> WS2HELP.DLL
(among other DLL dependency... all the others are standard windows DLLs on anything but Win95)

The steps to find these dependencies is this:
1) Open RegEdit
2) Search in the CLASSES_ROOT branch for "MSWINSOCK.WINSOCK" only in Keys
... or browse right to HKEY_CLASSES_ROOT\MSWinsock.Winsock
3) Look inside that key at the CurVer property
... Shows the current version is MSWINSOCK.WINSOCK.1 ... eventually this may point to MSWINSOCK.WINSOCK.2 if the control is updated... if you want to be guaranteed of getting the old version, include the .1 in you CREATEOBJECT() call
4) Locate the HKEY_CLASSES_ROOT\MSWinsock.Winsock\CLSID key or the HKEY_CLASSES_ROOT\MSWinsock.Winsock.1\CLSID key. Note its value ( {248DD896-BB45-11CF-9ABC-0080C7E7B78D} )
5) Look through HKEY_CLASSES_ROOT\CLSID for this key you found in #4... it will be at:
... HKEY_CLASSES_ROOT\CLSID\{248DD896-BB45-11CF-9ABC-0080C7E7B78D}
6) Look inside that key at the InProcServer32 value: this tells what DLL/OCX contains the COM object.
... The ProgID verifies you have the right one by showing "MsWinSock.WinSock.1"
... And the VersionIndependentProgID shows "MsWinSock.WinSock"

> The program works fine with Windows 98/2000 but it will not work with Windows NT/XP. The error is:
>
>"Class definition MSWINSOCK.WINSOCK is not found"
>
>oSocket = create( 'mswinsock.winsock' )
>
>
>Does the winsock.dll differ between operating systems that would cause this? Does anyone have a clue what this would be?
>
>Wes
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform