Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Operating system impact on WINSOCK.dll smtp email?
Message
 
À
17/09/2003 16:21:33
Information générale
Forum:
Visual FoxPro
Catégorie:
Fonctions Windows API
Divers
Thread ID:
00830095
Message ID:
00830447
Vues:
21
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
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform