dans la list des processus le service rsvp.exe croit constament jusqu'a atteindre des dimmention de 406M de memoir physique et 940M de memoire virtuel.


savez vous comment WSAIoctl gere son "input buffer" dans le code ci dessou la structure QOS.

l'ors de la transmition via UDP le code si dessous sera Appelé (+/-)10 par seconde ainsi si la structure QOS n'est pas ecraser a chaque fois !?? j,ai peut-etre un probleme

merci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
QOS qos;
 
      ZeroMemory((char *)&qos, sizeof(qos));
 
      //Set the Flow Spec              
      qos.ReceivingFlowspec.DelayVariation               = QOS_NOT_SPECIFIED;              
      qos.ReceivingFlowspec.Latency                      = QOS_NOT_SPECIFIED;                
      qos.ReceivingFlowspec.MaxSduSize                   = QOS_NOT_SPECIFIED;               
      qos.ReceivingFlowspec.MinimumPolicedSize           = QOS_NOT_SPECIFIED;              
      qos.ReceivingFlowspec.PeakBandwidth                = POSITIVE_INFINITY_RATE;                
      qos.ReceivingFlowspec.ServiceType                  = qosLevel | SERVICE_NO_QOS_SIGNALING ; 
      qos.ReceivingFlowspec.TokenBucketSize              = QOS_NOT_SPECIFIED;  
      qos.ReceivingFlowspec.TokenRate                    = 15000;  
 
      qos.SendingFlowspec.DelayVariation                 = QOS_NOT_SPECIFIED;
      qos.SendingFlowspec.Latency                        = QOS_NOT_SPECIFIED;
      qos.SendingFlowspec.MaxSduSize                     = QOS_NOT_SPECIFIED ;  
      qos.SendingFlowspec.MinimumPolicedSize             = QOS_NOT_SPECIFIED;
      qos.SendingFlowspec.PeakBandwidth                  = POSITIVE_INFINITY_RATE; 
      qos.SendingFlowspec.ServiceType                    = qosLevel | SERVICE_NO_QOS_SIGNALING ;              
      qos.SendingFlowspec.TokenBucketSize                = QOS_NOT_SPECIFIED;               
      qos.SendingFlowspec.TokenRate                      = 15000;
 
      qos.ProviderSpecific.len = 0;
      qos.ProviderSpecific.buf = NULL;
 
      QOS_DESTADDR QosDestaddr;
 
      if( iSocketType == SOCK_DGRAM && remoteaddr != NULL)
	   {
         // When SIO_SET_QOS is used to set QOS with QOS_DESTADDR for unconnected UDP, the 
		   // socket must be locally bound first, otherwise SIO_SET_QOS will fail with 10022.
         // CAVEATS : This is done before this method is called. 
 
         ZeroMemory((char *)&QosDestaddr, sizeof(QosDestaddr));
         QosDestaddr.ObjectHdr.ObjectType   = QOS_OBJECT_DESTADDR;
         QosDestaddr.ObjectHdr.ObjectLength = sizeof(QosDestaddr);
         QosDestaddr.SocketAddress = (SOCKADDR *)remoteaddr;
         QosDestaddr.SocketAddressLength = sizeof(SOCKADDR);
 
         qos.ProviderSpecific.len = QosDestaddr.ObjectHdr.ObjectLength;
         qos.ProviderSpecific.buf = (char *)&QosDestaddr;
      }
 
 
	   if (WSAIoctl(aSocket, SIO_SET_QOS, &qos, sizeof(QOS), NULL, 0, &dwBytesReturned, NULL, NULL) == SOCKET_ERROR) 
	   {	
         return FALSE;
      }