OVH Cloud OVH Cloud

Alors la je comprends pas...

3 réponses
Avatar
Joon
WORD wVersionRequested = MAKEWORD(1,1);
LPWSADATA lpWSAData;
int err;

err = WSAStartup(wVersionRequested, lpWSAData);

me retourne une erreur WSAEFAULT (The lpWSAData is not a valid pointer.)

alors que

WORD wVersionRequested = MAKEWORD(1,1);
WSADATA WSAData;
int err;
err = WSAStartup(wVersionRequested, &WSAData);

marche !

Quelqu'un peut m'expliquer ? J'utilise gcc et dans mon winsock.h il y a
#define WSADESCRIPTION_LEN 256
#define WSASYS_STATUS_LEN 128
typedef struct WSAData {
WORD wVersion;
WORD wHighVersion;
char szDescription[WSADESCRIPTION_LEN+1];
char szSystemStatus[WSASYS_STATUS_LEN+1];
unsigned short iMaxSockets;
unsigned short iMaxUdpDg;
char * lpVendorInfo;
} WSADATA;
typedef WSADATA *LPWSADATA;

3 réponses

Avatar
Quentin Pouplard
Joon wrote:
WORD wVersionRequested = MAKEWORD(1,1);
LPWSADATA lpWSAData;
int err;

err = WSAStartup(wVersionRequested, lpWSAData);

me retourne une erreur WSAEFAULT (The lpWSAData is not a valid
pointer.)

alors que

WORD wVersionRequested = MAKEWORD(1,1);
WSADATA WSAData;
int err;
err = WSAStartup(wVersionRequested, &WSAData);

marche !



lpWSAData pointe vers quoi?...


--
Quentin Pouplard (Tene/MyOE)
http://www.myoe.org | http://graff.alrj.org
Avatar
Benoit Dejean
Le Mon, 11 Aug 2003 13:49:48 +0200, Joon a écrit :

WORD wVersionRequested = MAKEWORD(1,1);
LPWSADATA lpWSAData;
int err;



[...]

je crois que c'est clair: tu t'es trompé de forum :oD va voir sur un
groupe spécifique au développement sous Windows

(tiens Pan me propos comme correction orthographique pour Windows: Dindons
... ;)

--
"Ne perdez pas de vue qu'un programme rapide
et incorrect est d'une utilité presque nulle."
Ce qui est loin d'être incompatible avec la notion d'Art.
Avatar
phat
"Joon" a écrit dans le message de news:
3f3782dd$0$1144$
WORD wVersionRequested = MAKEWORD(1,1);
LPWSADATA lpWSAData;
int err;

err = WSAStartup(wVersionRequested, lpWSAData);

me retourne une erreur WSAEFAULT (The lpWSAData is not a valid pointer.)

alors que

WORD wVersionRequested = MAKEWORD(1,1);
WSADATA WSAData;
int err;
err = WSAStartup(wVersionRequested, &WSAData);

marche !

Quelqu'un peut m'expliquer ? J'utilise gcc et dans mon winsock.h il y a
#define WSADESCRIPTION_LEN 256
#define WSASYS_STATUS_LEN 128
typedef struct WSAData {
WORD wVersion;
WORD wHighVersion;
char szDescription[WSADESCRIPTION_LEN+1];
char szSystemStatus[WSASYS_STATUS_LEN+1];
unsigned short iMaxSockets;
unsigned short iMaxUdpDg;
char * lpVendorInfo;
} WSADATA;
typedef WSADATA *LPWSADATA;




Jcomprends déjà que c'est de la prog Windows .... (erk), c'est pas ici que
ça se passe


PHAT