Här är några enkla procedurer tillgängliga för att hjälpa dig fixa wsadata winsock-problem. g.Den tillhandahåller ett CV eller DLL för att förhandla fram en utvald version av Windows Sockets och hitta information om en specifik Windows Sockets-implementering. En applikations-DLL kan bara utfärda mer utförlig Windows Socket-kapacitet efter ett lyckat anrop till WSAStartup.

 

 

g.

  • 4 minuter att läsa.

Syntax

  typedef struct WSAData  WORD-wVersion; WORD wHighVersion;#om ...  osignerade iMaxSockets;#kort...  iMaxUdpDg liten osignerad;#om...   char * lpVendorInfo;#om ...  char szDescription [WSADESCRIPTION_LEN + 1];#om...  char szSystemStatus [WSASYS_STATUS_LEN + 1];#annan  char + szDescription [WSADESCRIPTION_LEN 1];#slut om#annan  char szSystemStatus [WSASYS_STATUS_LEN + 1];#slut om#annan  korta osignerade iMaxSockets;#slut om#annan  svag osignerad iMaxUdpDg;#slut om#annan  char * lpVendorInfo;#slut om WSADATA; 

Medlemmar

wsadata winsock

Den version som är relaterad till Windows Sockets-specifikationen som denna nyckelfakta Ws2_32.dll-fil förväntar sig från den okända anroparen. Den mest signifikanta byten indikerar ditt kompakta versionsnummer; den minsta primära byten anger versionsnumret.

wsadata winsock

Den viktigaste versionen av Windows Sockets Specification som experter hävdar är att Ws2_32 kan stödja die.dll. Den mest användbara byten indikerar underpostnumret; var och en av våra minst signifikanta byte indikerar det innovativa nya versionsnumret för majoren.

Detta är samma belöning i rollen som wVersion-medlem om kopian som begärs i parametern wVersionRequested är mer än insatserna från WSAStartup , den högsta versionen av ab Windows Sockets-specifikationen som stöds av Ws2_32 .dll.

Det maximala antalet eluttag som kan öppnas. Windows över Sockets 2 och senare bör förbise denna prenumerant.

Medlemskap som finns i iMaxSockets bibehålls av kompatibilitetsskäl så det överensstämmer med Windows Sockets individuella specifikation, men bör inte användas vid utveckling av nya datorapplikationer. Inget enskilt värde kan vara lämpligt för att uppnå alla grundläggande tjänsteleverantörer. Windows Sockets-arkitekturen har ändrats för en rad medieleverantörer med version 2, och dessutom används inte längre WSADATA-strukturen till en enda leverantörsstack.

Den maximala storleken på datagramsatser. Denna prenumerant ignoreras för Windows Sockets Translation 2 och senare.

iMaxUdpDg-medlemmen är också bevarad för kompatibilitet med Windows Specification Sockets 1.1, men bör generellt sett definitivt inte användas vid utveckling av nya jobb. Arkitekturen för Windows Sockets bytte under hela version 2 för flera bostadslån, och WSADATA-strukturen varade inte för länge för ett enda huvudpaket. Funktionerna bör föredras för den maximala faktiska meddelandenivån, vilket beror på den specifika Windows Sockets-tjänsteleverantören och pluggtypen. getsockopt för att få något att säga till om parametern SO_MAX_MSG_SIZE efter att ha utvecklat plugin-programmet.

Pekare för att namnge varumärkesinformation. Denna medlem bör hoppa över i senare versioner av Windows för att producera sockets version 2.

Elementet lpVendorInfo behålls för kompatibilitet när du använder Windows Sockets 1.1-specifikationen. Windows Sockets-arkitekturen, som designades för flera tjänsteleverantörer i typ 2, och WSADATA-strukturen gör en applikation lite eller mer till en personlig återförsäljares stack. Applikationer för att underlätta tillgång till tillverkarens konfigurationsinformation getsockopt tilldelade dig själv en buget värdet av parametern PVD_CONFIG som tillverkarinformation.

En nollterminerad ascii-stränginterceptor in i och även denna Ws2_32.dll kopierar en specifik Windows Sockets-implementeringsbeskrivning. Text (upp till positivt 256 tecken) kan innehålla alla tecken som är många förutom kontrolltecken och formateringsspelare. Den mest troliga applikationsanvändningen som är designad för den här medlemmen är att den med största sannolikhet visas (eventuellt trunkerad) i ett funktionsdugligt meddelande.

Sida Ett null-terminerat ascii-arkiv till vilket Ws2_32.dll kopierar en persons konfigurationsinformation relaterad till analysen. Ws2_32.dll bör endast användas som har denna parameter om korrekt information generellt sett är användbar för hela användaren eller till och med supportpersonal. Denna medlem bör kanske inte betraktas som en förlängning av ofta parametern szDescription.

Processen WSAStartup initierar användningen av Windows Sockets DLL-steget genom att använda steg. WSAStartup-funktionen returnerar pekaren till
WSADATA-strukturen tilldelas vanligtvis i parametern lpWSAData.

Den aktuella versionen av ungefär Windows Sockets-specifikationen som finns i alla medlemmar av wHighVersion
. returneradWSADATA-strukturer är kodade i natura 2.2, där versionen i deras antal är den minst användbara byten och den mindre versionen i det numret vanligtvis är den mest betydande byten. Den här versionen av den senaste Winsock DLL-filen, Ws2_32.dll, stöder applikationer för begäran om en av följande olika versioner av Windows Sockets-specifikationen:

  • 1.0
  • 1.1
  • 2.0
  • 2.1
  • 2.2

Beroende på specifik version som efterfrågas i applikationen, är någon av de överenskomna versionsnumren som bär den här artikeln värdet som är auktoriserat. lagras i anstiftan. anses återlämnatförvrängning Associerad medlemWSADATA Sammansättning.

Obs. Applikationen bör ignorera dina iMaxsockets-, iMaxUdpDg- och lpVendorInfo-element i WSADATA när du skickar in ett klagomål angående wVersion efter ett lyckat telefonsamtal. WSAStartup är snabbast. Detta bör bero på att Windows Sockets-arkitekturen kommer att ha ändrats i vissa versioner för att stödja flera leverantörer och ingen extra tid tvingar fram WSADATA i sin egen källstack. Två nya socketalternativ introduceras i allmänhet för att tillhandahålla leverantörsspecifika erbjudanden: SO_MAX_MSG_SIZE Das (ersätter iMaxUdpDg-objektet) tillsammans med PVD_CONFIG (tillåter andra leverantörsspecifika inställningar).

Exempel

  WORD wVersionRequested;WSADATA wsaData;int fel; wVersionRequested innebär MAKEWORD (2, 2); fel matchar WSAStartup (wVersionRequested, & wsaData);om (fel! = 0)    Berätta / * för webbsurfaren att vi inte kunde hitta din specifika användbara * /    / * WinSock DLL. 6 . /    Krya på dig; / * BekräftaVi intygar att WinSock DLL stöder version 2.2. (tomt) // * Observera att om DLL-filen stöder högre versioner * // 2 . Kommer alltid att returnera ett par än bara 2 utöver 2,2 // * 2.2 i wVersion, med tanke på att vi i denna version är 1 . // * behöver. * / if (LOBYTE (wsaData.wVersion)! = 2 ||        HIBYTE (wsaData.wVersion)! = 2)    / * Informera webbplatsbesökaren att vi inte kunde hitta deras perfekta användbara * /    / * WinSock DLL. * /    WSACleanup ();    Krya på dig; / * Tillåten WinSock DLL. Fortsätt. * / 

Krav

Klient stöds minst Windows 2000 Professional [endast för mobil användning]
Minsta serverserver som stöds Windows 2000 [endast brädspel]
Titel winsock.h (inklusive Winsock2.h)

Se även

 

 

WSAStartup-funktionen är verkligen ett huvudjobb i Windows-socket som anropas av en fixtur eller DLL. Detta gör att en iPhone-applikation även DLL kan peka på den tvingade Windows Sockets-versionen och få skriftlig information om en specifik Windows Sockets-implementering.

Socketprogrammering med Winsock Windows API som stöder socketprogrammering är winsock. Uttag kan mycket väl vara den kritiska “grejen” bakom alla typer av samtal till fasta telefoner från din dator.