[.net c++] explication sur la fonction CloseHandle

explication sur la fonction CloseHandle [.net c++] - C#/.NET managed - Programmation

Marsh Posté le 18-05-2006 à 10:01:50    

bonjour,
je prog sur visual studio.net c++
j'utilise la fonction createFile cette fonction me retourne un handle
HANDLE A;
A = createFile (....);
 
quand je coupe l'application j'utilise CloseHandle (A)
est ce que c'est obligeatoire de fermer le handle (pourquoi?)
et aussi est ce qu'il faut que je fasse :
A =NULL (pourquoi?)  
 
l'ordre doit être:
CloseHandle (A);
A =NULL ;
ou
A =NULL ;
CloseHandle (A);
 
je pose ses questions car je dois l' expliquer dans mon mémoire
 
merci de bien vouloir m'aider

Reply

Marsh Posté le 18-05-2006 à 10:01:50   

Reply

Marsh Posté le 18-05-2006 à 10:13:32    

C'est fortement conseillé de fermer les ressources allouées par ton programme lorsque celui-ci stoppe. Pourquoi ? Parce que sinon tu bouffes des ressources systèmes pour rien.
 

Citation :


l'ordre doit être:  
CloseHandle (A);  
A =NULL ;  
ou  
A =NULL ;  
CloseHandle (A);  


Oula, ça me semble logique pourtant non ? (tu as dit mémoire ? [:roane] )


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 18-05-2006 à 11:02:17    

Bah... Si tu ne fermes pas ton handle, windows va noter qu'il existe encore un process qui utilise la ressource (ici un fichier).
Donc, imagine que tu quittes ton programme, puis que tu veuilles effacer le fichier que t'as crées.
Logiquement tu vas te prendre une erreur "ce fichier est utilisé par un autre process".
Et puis il faut toujours rester propre chez soi. On ferme toujours la porte après son passage, non ?
 
Quant à l'ordre, je suis comme boulax. Comment veux-tu fermer du NULL ?


---------------
H. - 48h en fiat et j'ai déjà perdu la maitrise de mon argent
Reply

Marsh Posté le 18-05-2006 à 11:39:18    

ok merci ,je me suis trompé pour ( A = NULL )

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed