Accueil > Forum > > > > Avis des PROS!
Avis des PROS!
samedi 10 mai 2003 à 01:41:06 |
Avis des PROS!

UnExPeCtEdSpy
|
Bonjour, je suis plus familier du vb que du c++ alors j'vous d'mande de l'aide : J'utilise une Dll en c+ avec un prog en Vb qui manipule des fichiers. Quand j'execute une fonction de ma dll qui agit sur un fichier, par la suite il m'est impossible de suprimer le fichier en question (même aprés arret de vb6 il faut que je ferme vb6 pour pouvoir a nouveau supprimer le fichie, surement parce que la dll est encore en memoire) Voici briévement les fonctions que je suspecte dans la dll 1) j'effectue un : [...] hFile = CreateFile( filename, // filename GENERIC_READ, // access level FILE_SHARE_READ, // share mode NULL, // security attirubtes not needed OPEN_EXISTING, // don't create a new file FILE_FLAG_BACKUP_SEMANTICS, NULL ); // no template file [...] 2) BackupRead( hFile, // file handle Buf, // buffer to write the data sizeof( Buf ), // size of the buffer &read, // return value for bytes read FALSE, // used to clear the data TRUE, // back up the security descriptor &context )) [...] 3) et tout a la fin if( !BackupRead( hFile, // file handle NULL, // buffer to write the data 0, // size of the buffer &read, // return value for bytes read TRUE, // used to clear the data FALSE, // back up the security descriptor &context )) CloseHandle( hFile ); Est ce que mon probleme serait inhérent a cette parite? ou bien parce que dans une autre partie de ma dll je change les privilege du procees?? Help please, j'ai vraiment besoin de pouvoir suprimer les fichiers meme en leur ayant appliqué le traitement par la Dll UnExPeCTeDSpy ,.~*`'^~.(^.  .^),.~^'`*~.
|
|
samedi 10 mai 2003 à 01:44:32 |
Re : Avis des PROS!

UnExPeCtEdSpy
|
Apparement ça marche si je fait un CloseHandle( hFile ); inconditionel a la fin du fichier. Est ce que je peus suprimer carrement le test 3) ou est ce qu'il est mal fait... a vrai dire je sais pas a koi il sert . merci ,.~*`'^~.(^.  .^),.~^'`*~. ------------------------------- Réponse au message : ------------------------------- > Bonjour, > > je suis plus familier du vb que du c++ alors j'vous d'mande de l'aide : > > J'utilise une Dll en c+ avec un prog en Vb qui manipule des fichiers. > > Quand j'execute une fonction de ma dll qui agit sur un fichier, par la suite il m'est impossible de suprimer le fichier en question (même aprés arret de vb6 il faut que je ferme vb6 pour pouvoir a nouveau supprimer le fichie, surement parce que la dll est encore en memoire) > > Voici briévement les fonctions que je suspecte dans la dll > > 1) j'effectue un : > [...] > hFile = CreateFile( filename, // filename > GENERIC_READ, // access level > FILE_SHARE_READ, // share mode > NULL, // security attirubtes not needed > OPEN_EXISTING, // don't create a new file > FILE_FLAG_BACKUP_SEMANTICS, > NULL ); // no template file > [...] > 2) > BackupRead( hFile, // file handle > Buf, // buffer to write the data > sizeof( Buf ), // size of the buffer > &read, // return value for bytes read > FALSE, // used to clear the data > TRUE, // back up the security descriptor > &context )) > [...] > 3) et tout a la fin > > if( !BackupRead( hFile, // file handle > NULL, // buffer to write the data > 0, // size of the buffer > &read, // return value for bytes read > TRUE, // used to clear the data > FALSE, // back up the security descriptor > &context )) > > CloseHandle( hFile ); > > Est ce que mon probleme serait inhérent a cette parite? ou bien parce que dans une autre partie de ma dll je change les privilege du procees?? > > Help please, j'ai vraiment besoin de pouvoir suprimer les fichiers meme en leur ayant appliqué le traitement par la Dll > > UnExPeCTeDSpy > > > > ,.~*`'^~.(^.  .^),.~^'`*~.
|
|
samedi 10 mai 2003 à 08:16:08 |
Re : Avis des PROS!

BruNews
|
CloseHandle( hFile ); DOIT etre inconditionnel, sors le du test. Celui a effectuer est au debut sur CreateFile(), sortie directe si retourne -1. BruNews, ciao... ------------------------------- Réponse au message : ------------------------------- > Apparement ça marche si je fait un CloseHandle( hFile ); inconditionel a la fin du fichier. Est ce que je peus suprimer carrement le test 3) ou est ce qu'il est mal fait... a vrai dire je sais pas a koi il sert . > > merci > > ,.~*`'^~.(^.  .^),.~^'`*~. > > > ------------------------------- > Réponse au message : > ------------------------------- > > > Bonjour, > > > > je suis plus familier du vb que du c++ alors j'vous d'mande de l'aide : > > > > J'utilise une Dll en c+ avec un prog en Vb qui manipule des fichiers. > > > > Quand j'execute une fonction de ma dll qui agit sur un fichier, par la suite il m'est impossible de suprimer le fichier en question (même aprés arret de vb6 il faut que je ferme vb6 pour pouvoir a nouveau supprimer le fichie, surement parce que la dll est encore en memoire) > > > > Voici briévement les fonctions que je suspecte dans la dll > > > > 1) j'effectue un : > > [...] > > hFile = CreateFile( filename, // filename > > GENERIC_READ, // access level > > FILE_SHARE_READ, // share mode > > NULL, // security attirubtes not needed > > OPEN_EXISTING, // don't create a new file > > FILE_FLAG_BACKUP_SEMANTICS, > > NULL ); // no template file > > [...] > > 2) > > BackupRead( hFile, // file handle > > Buf, // buffer to write the data > > sizeof( Buf ), // size of the buffer > > &read, // return value for bytes read > > FALSE, // used to clear the data > > TRUE, // back up the security descriptor > > &context )) > > [...] > > 3) et tout a la fin > > > > if( !BackupRead( hFile, // file handle > > NULL, // buffer to write the data > > 0, // size of the buffer > > &read, // return value for bytes read > > TRUE, // used to clear the data > > FALSE, // back up the security descriptor > > &context )) > > > > CloseHandle( hFile ); > > > > Est ce que mon probleme serait inhérent a cette parite? ou bien parce que dans une autre partie de ma dll je change les privilege du procees?? > > > > Help please, j'ai vraiment besoin de pouvoir suprimer les fichiers meme en leur ayant appliqué le traitement par la Dll > > > > UnExPeCTeDSpy > > > > > > > > ,.~*`'^~.(^.  .^),.~^'`*~. >
|
|
samedi 10 mai 2003 à 12:45:18 |
Re : Avis des PROS!

UnExPeCtEdSpy
|
Salut BruNews Merci, et on en arrive directe a ma seconde question (eh oui tu n'a pas d'bol lol) j'ai transformé la fonction qui contenais ce code en procedure (void mafuntion etc) et donc avant pour sortir direct aprés le test de CreateFile() il y avait un 'return (-1)' mais maintenant que c'est une fonction comment faire une sortie directe? Sachant que si je mets un 'exit' pour ça il sort directe mais il tues aussi mon prog vb? Merci :) ,.~*`'^~.(^.  .^),.~^'`*~. ------------------------------- Réponse au message : ------------------------------- > CloseHandle( hFile ); DOIT etre inconditionnel, sors le du test. Celui a effectuer est au debut sur CreateFile(), sortie directe si retourne -1. > BruNews, ciao... > > > ------------------------------- > Réponse au message : > ------------------------------- > > > Apparement ça marche si je fait un CloseHandle( hFile ); inconditionel a la fin du fichier. Est ce que je peus suprimer carrement le test 3) ou est ce qu'il est mal fait... a vrai dire je sais pas a koi il sert . > > > > merci > > > > ,.~*`'^~.(^.  .^),.~^'`*~. > > > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > > Bonjour, > > > > > > je suis plus familier du vb que du c++ alors j'vous d'mande de l'aide : > > > > > > J'utilise une Dll en c+ avec un prog en Vb qui manipule des fichiers. > > > > > > Quand j'execute une fonction de ma dll qui agit sur un fichier, par la suite il m'est impossible de suprimer le fichier en question (même aprés arret de vb6 il faut que je ferme vb6 pour pouvoir a nouveau supprimer le fichie, surement parce que la dll est encore en memoire) > > > > > > Voici briévement les fonctions que je suspecte dans la dll > > > > > > 1) j'effectue un : > > > [...] > > > hFile = CreateFile( filename, // filename > > > GENERIC_READ, // access level > > > FILE_SHARE_READ, // share mode > > > NULL, // security attirubtes not needed > > > OPEN_EXISTING, // don't create a new file > > > FILE_FLAG_BACKUP_SEMANTICS, > > > NULL ); // no template file > > > [...] > > > 2) > > > BackupRead( hFile, // file handle > > > Buf, // buffer to write the data > > > sizeof( Buf ), // size of the buffer > > > &read, // return value for bytes read > > > FALSE, // used to clear the data > > > TRUE, // back up the security descriptor > > > &context )) > > > [...] > > > 3) et tout a la fin > > > > > > if( !BackupRead( hFile, // file handle > > > NULL, // buffer to write the data > > > 0, // size of the buffer > > > &read, // return value for bytes read > > > TRUE, // used to clear the data > > > FALSE, // back up the security descriptor > > > &context )) > > > > > > CloseHandle( hFile ); > > > > > > Est ce que mon probleme serait inhérent a cette parite? ou bien parce que dans une autre partie de ma dll je change les privilege du procees?? > > > > > > Help please, j'ai vraiment besoin de pouvoir suprimer les fichiers meme en leur ayant appliqué le traitement par la Dll > > > > > > UnExPeCTeDSpy > > > > > > > > > > > > ,.~*`'^~.(^.  .^),.~^'`*~. > > >
|
|
samedi 10 mai 2003 à 13:15:10 |
Re : Avis des PROS!

BruNews
|
idem: return -1; dans ta fonction si -1 te convient comme indicateur d'erreur. Entendu qu'on ne sort jamais par exit, de toutes les manieres il est a bannir dans un prog Win32. BruNews, ciao... ------------------------------- Réponse au message : ------------------------------- > Salut BruNews > > Merci, et on en arrive directe a ma seconde question (eh oui tu n'a pas d'bol lol) j'ai transformé la fonction qui contenais ce code en procedure (void mafuntion etc) et donc avant pour sortir direct aprés le test de CreateFile() il y avait un 'return (-1)' mais maintenant que c'est une fonction comment faire une sortie directe? Sachant que si je mets un 'exit' pour ça il sort directe mais il tues aussi mon prog vb? > > Merci :) > > > ,.~*`'^~.(^.  .^),.~^'`*~. > > > ------------------------------- > Réponse au message : > ------------------------------- > > > CloseHandle( hFile ); DOIT etre inconditionnel, sors le du test. Celui a effectuer est au debut sur CreateFile(), sortie directe si retourne -1. > > BruNews, ciao... > > > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > > Apparement ça marche si je fait un CloseHandle( hFile ); inconditionel a la fin du fichier. Est ce que je peus suprimer carrement le test 3) ou est ce qu'il est mal fait... a vrai dire je sais pas a koi il sert . > > > > > > merci > > > > > > ,.~*`'^~.(^.  .^),.~^'`*~. > > > > > > > > > ------------------------------- > > > Réponse au message : > > > ------------------------------- > > > > > > > Bonjour, > > > > > > > > je suis plus familier du vb que du c++ alors j'vous d'mande de l'aide : > > > > > > > > J'utilise une Dll en c+ avec un prog en Vb qui manipule des fichiers. > > > > > > > > Quand j'execute une fonction de ma dll qui agit sur un fichier, par la suite il m'est impossible de suprimer le fichier en question (même aprés arret de vb6 il faut que je ferme vb6 pour pouvoir a nouveau supprimer le fichie, surement parce que la dll est encore en memoire) > > > > > > > > Voici briévement les fonctions que je suspecte dans la dll > > > > > > > > 1) j'effectue un : > > > > [...] > > > > hFile = CreateFile( filename, // filename > > > > GENERIC_READ, // access level > > > > FILE_SHARE_READ, // share mode > > > > NULL, // security attirubtes not needed > > > > OPEN_EXISTING, // don't create a new file > > > > FILE_FLAG_BACKUP_SEMANTICS, > > > > NULL ); // no template file > > > > [...] > > > > 2) > > > > BackupRead( hFile, // file handle > > > > Buf, // buffer to write the data > > > > sizeof( Buf ), // size of the buffer > > > > &read, // return value for bytes read > > > > FALSE, // used to clear the data > > > > TRUE, // back up the security descriptor > > > > &context )) > > > > [...] > > > > 3) et tout a la fin > > > > > > > > if( !BackupRead( hFile, // file handle > > > > NULL, // buffer to write the data > > > > 0, // size of the buffer > > > > &read, // return value for bytes read > > > > TRUE, // used to clear the data > > > > FALSE, // back up the security descriptor > > > > &context )) > > > > > > > > CloseHandle( hFile ); > > > > > > > > Est ce que mon probleme serait inhérent a cette parite? ou bien parce que dans une autre partie de ma dll je change les privilege du procees?? > > > > > > > > Help please, j'ai vraiment besoin de pouvoir suprimer les fichiers meme en leur ayant appliqué le traitement par la Dll > > > > > > > > UnExPeCTeDSpy > > > > > > > > > > > > > > > > ,.~*`'^~.(^.  .^),.~^'`*~. > > > > > >
|
|
samedi 10 mai 2003 à 13:34:11 |
Re : Avis des PROS!

UnExPeCtEdSpy
|
Oups désolé il y a une faute de frappe dans mon text : "Merci, et on en arrive directe a ma seconde question (eh oui tu n'a pas d'bol lol) j'ai transformé la fonction qui contenais ce code en procedure (void mafuntion etc) et donc avant pour sortir direct aprés le test de CreateFile() il y avait un 'return (-1)' mais maintenant que c'est une procedure comment faire une sortie directe? Sachant que si je mets un 'exit' pour ça il sort directe mais il tues aussi mon prog vb?" En fait c'est d'une procedure qui ne renvoie rien que je ne sais pas sortir en cours d'execution, quand je met un return(-1); il me dit 'void function returning a value'? voila désolé ,.~*`'^~.(^.  .^),.~^'`*~. ------------------------------- Réponse au message : ------------------------------- > idem: > return -1; > dans ta fonction si -1 te convient comme indicateur d'erreur. Entendu qu'on ne sort jamais par exit, de toutes les manieres il est a bannir dans un prog Win32. > BruNews, ciao... > > > ------------------------------- > Réponse au message : > ------------------------------- > > > Salut BruNews > > > > Merci, et on en arrive directe a ma seconde question (eh oui tu n'a pas d'bol lol) j'ai transformé la fonction qui contenais ce code en procedure (void mafuntion etc) et donc avant pour sortir direct aprés le test de CreateFile() il y avait un 'return (-1)' mais maintenant que c'est une fonction comment faire une sortie directe? Sachant que si je mets un 'exit' pour ça il sort directe mais il tues aussi mon prog vb? > > > > Merci :) > > > > > > ,.~*`'^~.(^.  .^),.~^'`*~. > > > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > > CloseHandle( hFile ); DOIT etre inconditionnel, sors le du test. Celui a effectuer est au debut sur CreateFile(), sortie directe si retourne -1. > > > BruNews, ciao... > > > > > > > > > ------------------------------- > > > Réponse au message : > > > ------------------------------- > > > > > > > Apparement ça marche si je fait un CloseHandle( hFile ); inconditionel a la fin du fichier. Est ce que je peus suprimer carrement le test 3) ou est ce qu'il est mal fait... a vrai dire je sais pas a koi il sert . > > > > > > > > merci > > > > > > > > ,.~*`'^~.(^.  .^),.~^'`*~. > > > > > > > > > > > > ------------------------------- > > > > Réponse au message : > > > > ------------------------------- > > > > > > > > > Bonjour, > > > > > > > > > > je suis plus familier du vb que du c++ alors j'vous d'mande de l'aide : > > > > > > > > > > J'utilise une Dll en c+ avec un prog en Vb qui manipule des fichiers. > > > > > > > > > > Quand j'execute une fonction de ma dll qui agit sur un fichier, par la suite il m'est impossible de suprimer le fichier en question (même aprés arret de vb6 il faut que je ferme vb6 pour pouvoir a nouveau supprimer le fichie, surement parce que la dll est encore en memoire) > > > > > > > > > > Voici briévement les fonctions que je suspecte dans la dll > > > > > > > > > > 1) j'effectue un : > > > > > [...] > > > > > hFile = CreateFile( filename, // filename > > > > > GENERIC_READ, // access level > > > > > FILE_SHARE_READ, // share mode > > > > > NULL, // security attirubtes not needed > > > > > OPEN_EXISTING, // don't create a new file > > > > > FILE_FLAG_BACKUP_SEMANTICS, > > > > > NULL ); // no template file > > > > > [...] > > > > > 2) > > > > > BackupRead( hFile, // file handle > > > > > Buf, // buffer to write the data > > > > > sizeof( Buf ), // size of the buffer > > > > > &read, // return value for bytes read > > > > > FALSE, // used to clear the data > > > > > TRUE, // back up the security descriptor > > > > > &context )) > > > > > [...] > > > > > 3) et tout a la fin > > > > > > > > > > if( !BackupRead( hFile, // file handle > > > > > NULL, // buffer to write the data > > > > > 0, // size of the buffer > > > > > &read, // return value for bytes read > > > > > TRUE, // used to clear the data > > > > > FALSE, // back up the security descriptor > > > > > &context )) > > > > > > > > > > CloseHandle( hFile ); > > > > > > > > > > Est ce que mon probleme serait inhérent a cette parite? ou bien parce que dans une autre partie de ma dll je change les privilege du procees?? > > > > > > > > > > Help please, j'ai vraiment besoin de pouvoir suprimer les fichiers meme en leur ayant appliqué le traitement par la Dll > > > > > > > > > > UnExPeCTeDSpy > > > > > > > > > > > > > > > > > > > > ,.~*`'^~.(^.  .^),.~^'`*~. > > > > > > > > > >
|
|
samedi 10 mai 2003 à 13:43:47 |
Re : Avis des PROS!

UnExPeCtEdSpy
|
Lol non c bon répond pas, j'suis vraiment une nouille y a pas de probleme je peus la déclarer comme étant int mafonction(...) dans la dll et lui faire un return(-1) tout en conservant une déclaration de type sub dans mon vb. Donc tout marche impecable now, c'est parfait pour moi Merci bcp @+ ,.~*`'^~.(^.  .^),.~^'`*~. ------------------------------- Réponse au message : ------------------------------- > > Oups désolé il y a une faute de frappe dans mon text : > > > "Merci, et on en arrive directe a ma seconde question (eh oui tu n'a pas d'bol lol) j'ai transformé la fonction qui contenais ce code en procedure (void mafuntion etc) et donc avant pour sortir direct aprés le test de CreateFile() il y avait un 'return (-1)' mais maintenant que c'est une procedure comment faire une sortie directe? Sachant que si je mets un 'exit' pour ça il sort directe mais il tues aussi mon prog vb?" > > En fait c'est d'une procedure qui ne renvoie rien que je ne sais pas sortir en cours d'execution, quand je met un return(-1); il me dit 'void function returning a value'? > > voila désolé > > > ,.~*`'^~.(^.  .^),.~^'`*~. > > > ------------------------------- > Réponse au message : > ------------------------------- > > > idem: > > return -1; > > dans ta fonction si -1 te convient comme indicateur d'erreur. Entendu qu'on ne sort jamais par exit, de toutes les manieres il est a bannir dans un prog Win32. > > BruNews, ciao... > > > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > > Salut BruNews > > > > > > Merci, et on en arrive directe a ma seconde question (eh oui tu n'a pas d'bol lol) j'ai transformé la fonction qui contenais ce code en procedure (void mafuntion etc) et donc avant pour sortir direct aprés le test de CreateFile() il y avait un 'return (-1)' mais maintenant que c'est une fonction comment faire une sortie directe? Sachant que si je mets un 'exit' pour ça il sort directe mais il tues aussi mon prog vb? > > > > > > Merci :) > > > > > > > > > ,.~*`'^~.(^.  .^),.~^'`*~. > > > > > > > > > ------------------------------- > > > Réponse au message : > > > ------------------------------- > > > > > > > CloseHandle( hFile ); DOIT etre inconditionnel, sors le du test. Celui a effectuer est au debut sur CreateFile(), sortie directe si retourne -1. > > > > BruNews, ciao... > > > > > > > > > > > > ------------------------------- > > > > Réponse au message : > > > > ------------------------------- > > > > > > > > > Apparement ça marche si je fait un CloseHandle( hFile ); inconditionel a la fin du fichier. Est ce que je peus suprimer carrement le test 3) ou est ce qu'il est mal fait... a vrai dire je sais pas a koi il sert . > > > > > > > > > > merci > > > > > > > > > > ,.~*`'^~.(^.  .^),.~^'`*~. > > > > > > > > > > > > > > > ------------------------------- > > > > > Réponse au message : > > > > > ------------------------------- > > > > > > > > > > > Bonjour, > > > > > > > > > > > > je suis plus familier du vb que du c++ alors j'vous d'mande de l'aide : > > > > > > > > > > > > J'utilise une Dll en c+ avec un prog en Vb qui manipule des fichiers. > > > > > > > > > > > > Quand j'execute une fonction de ma dll qui agit sur un fichier, par la suite il m'est impossible de suprimer le fichier en question (même aprés arret de vb6 il faut que je ferme vb6 pour pouvoir a nouveau supprimer le fichie, surement parce que la dll est encore en memoire) > > > > > > > > > > > > Voici briévement les fonctions que je suspecte dans la dll > > > > > > > > > > > > 1) j'effectue un : > > > > > > [...] > > > > > > hFile = CreateFile( filename, // filename > > > > > > GENERIC_READ, // access level > > > > > > FILE_SHARE_READ, // share mode > > > > > > NULL, // security attirubtes not needed > > > > > > OPEN_EXISTING, // don't create a new file > > > > > > FILE_FLAG_BACKUP_SEMANTICS, > > > > > > NULL ); // no template file > > > > > > [...] > > > > > > 2) > > > > > > BackupRead( hFile, // file handle > > > > > > Buf, // buffer to write the data > > > > > > sizeof( Buf ), // size of the buffer > > > > > > &read, // return value for bytes read > > > > > > FALSE, // used to clear the data > > > > > > TRUE, // back up the security descriptor > > > > > > &context )) > > > > > > [...] > > > > > > 3) et tout a la fin > > > > > > > > > > > > if( !BackupRead( hFile, // file handle > > > > > > NULL, // buffer to write the data > > > > > > 0, // size of the buffer > > > > > > &read, // return value for bytes read > > > > > > TRUE, // used to clear the data > > > > > > FALSE, // back up the security descriptor > > > > > > &context )) > > > > > > > > > > > > CloseHandle( hFile ); > > > > > > > > > > > > Est ce que mon probleme serait inhérent a cette parite? ou bien parce que dans une autre partie de ma dll je change les privilege du procees?? > > > > > > > > > > > > Help please, j'ai vraiment besoin de pouvoir suprimer les fichiers meme en leur ayant appliqué le traitement par la Dll > > > > > > > > > > > > UnExPeCTeDSpy > > > > > > > > > > > > > > > > > > > > > > > > ,.~*`'^~.(^.  .^),.~^'`*~. > > > > > > > > > > > > > > >
|
|
samedi 10 mai 2003 à 13:44:25 |
Re : Avis des PROS!

BruNews
|
Y a pas de procedure en C, c'est une illusion VB. Tout est fonction, void indique seulement au prog appelant que valeur de EAX est indefinie en sortie. si tu laisses void alors: return; // tout sec BruNews, ciao... ------------------------------- Réponse au message : ------------------------------- > > Oups désolé il y a une faute de frappe dans mon text : > > > "Merci, et on en arrive directe a ma seconde question (eh oui tu n'a pas d'bol lol) j'ai transformé la fonction qui contenais ce code en procedure (void mafuntion etc) et donc avant pour sortir direct aprés le test de CreateFile() il y avait un 'return (-1)' mais maintenant que c'est une procedure comment faire une sortie directe? Sachant que si je mets un 'exit' pour ça il sort directe mais il tues aussi mon prog vb?" > > En fait c'est d'une procedure qui ne renvoie rien que je ne sais pas sortir en cours d'execution, quand je met un return(-1); il me dit 'void function returning a value'? > > voila désolé > > > ,.~*`'^~.(^.  .^),.~^'`*~. > > > ------------------------------- > Réponse au message : > ------------------------------- > > > idem: > > return -1; > > dans ta fonction si -1 te convient comme indicateur d'erreur. Entendu qu'on ne sort jamais par exit, de toutes les manieres il est a bannir dans un prog Win32. > > BruNews, ciao... > > > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > > Salut BruNews > > > > > > Merci, et on en arrive directe a ma seconde question (eh oui tu n'a pas d'bol lol) j'ai transformé la fonction qui contenais ce code en procedure (void mafuntion etc) et donc avant pour sortir direct aprés le test de CreateFile() il y avait un 'return (-1)' mais maintenant que c'est une fonction comment faire une sortie directe? Sachant que si je mets un 'exit' pour ça il sort directe mais il tues aussi mon prog vb? > > > > > > Merci :) > > > > > > > > > ,.~*`'^~.(^.  .^),.~^'`*~. > > > > > > > > > ------------------------------- > > > Réponse au message : > > > ------------------------------- > > > > > > > CloseHandle( hFile ); DOIT etre inconditionnel, sors le du test. Celui a effectuer est au debut sur CreateFile(), sortie directe si retourne -1. > > > > BruNews, ciao... > > > > > > > > > > > > ------------------------------- > > > > Réponse au message : > > > > ------------------------------- > > > > > > > > > Apparement ça marche si je fait un CloseHandle( hFile ); inconditionel a la fin du fichier. Est ce que je peus suprimer carrement le test 3) ou est ce qu'il est mal fait... a vrai dire je sais pas a koi il sert . > > > > > > > > > > merci > > > > > > > > > > ,.~*`'^~.(^.  .^),.~^'`*~. > > > > > > > > > > > > > > > ------------------------------- > > > > > Réponse au message : > > > > > ------------------------------- > > > > > > > > > > > Bonjour, > > > > > > > > > > > > je suis plus familier du vb que du c++ alors j'vous d'mande de l'aide : > > > > > > > > > > > > J'utilise une Dll en c+ avec un prog en Vb qui manipule des fichiers. > > > > > > > > > > > > Quand j'execute une fonction de ma dll qui agit sur un fichier, par la suite il m'est impossible de suprimer le fichier en question (même aprés arret de vb6 il faut que je ferme vb6 pour pouvoir a nouveau supprimer le fichie, surement parce que la dll est encore en memoire) > > > > > > > > > > > > Voici briévement les fonctions que je suspecte dans la dll > > > > > > > > > > > > 1) j'effectue un : > > > > > > [...] > > > > > > hFile = CreateFile( filename, // filename > > > > > > GENERIC_READ, // access level > > > > > > FILE_SHARE_READ, // share mode > > > > > > NULL, // security attirubtes not needed > > > > > > OPEN_EXISTING, // don't create a new file > > > > > > FILE_FLAG_BACKUP_SEMANTICS, > > > > > > NULL ); // no template file > > > > > > [...] > > > > > > 2) > > > > > > BackupRead( hFile, // file handle > > > > > > Buf, // buffer to write the data > > > > > > sizeof( Buf ), // size of the buffer > > > > > > &read, // return value for bytes read > > > > > > FALSE, // used to clear the data > > > > > > TRUE, // back up the security descriptor > > > > > > &context )) > > > > > > [...] > > > > > > 3) et tout a la fin > > > > > > > > > > > > if( !BackupRead( hFile, // file handle > > > > > > NULL, // buffer to write the data > > > > > > 0, // size of the buffer > > > > > > &read, // return value for bytes read > > > > > > TRUE, // used to clear the data > > > > > > FALSE, // back up the security descriptor > > > > > > &context )) > > > > > > > > > > > > CloseHandle( hFile ); > > > > > > > > > > > > Est ce que mon probleme serait inhérent a cette parite? ou bien parce que dans une autre partie de ma dll je change les privilege du procees?? > > > > > > > > > > > > Help please, j'ai vraiment besoin de pouvoir suprimer les fichiers meme en leur ayant appliqué le traitement par la Dll > > > > > > > > > > > > UnExPeCTeDSpy > > > > > > > > > > > > > > > > > > > > > > > > ,.~*`'^~.(^.  .^),.~^'`*~. > > > > > > > > > > > > > > >
|
|
Cette discussion est classée dans : buffer, file, dll, read, hfile
Répondre à ce message
Sujets en rapport avec ce message
File Mapping entre 2 programmes [ par Arkadias ]
Bonjour,Je développe une application ou il sera nécessaire à 2 programmes différents (mais éxecuté sur la même machine) d'échanger les données d'un bu
(win32)Fichier et buffer en lecture seule [ par mogwai93 ]
Bonjour Je voudrais lire un fichier, placer le contenu de ce fichier dans un buffer et modifier ce buffer (mais pas le fichier). J'arrive bien à ou
Readfile et access denied [ par sran_isback ]
Bonjour ! J'aimerai récupérer le contenu d'un fichier texte et le coller dans un tableau de char afin de pouvoir l'utiliser dans une autre partie du
Manipuler des caracteres un par un avec la fonction read... [ par ROW_PyRo ]
Bonjour, Je suis actuellement sur un projet, BSQ. [quote] Il s'agit de trouver le plus grand carré possible sur un plateau en évitant des obstacles.
verification de code [ par dyroj ]
salut a tous,je voudrai savoir si il y a des faute au niveu de la fonction select() et si je suis obliger de metre sock+1 au lieu de sock dans se peti
Envoi de fichier non complet [ par trafounet ]
bonjour à tous,je cherche à envoyer un fichier par socket et ca marche pour les fichiers de petite taille (quelques ko) mais malheuresement dès que le
Binaire Hexa :-S Un petit soutient svp [ par MrDimanche ]
Bonjour, voila ce qui m'amène.Je dois lire un fichier de données binaire, et le convertir. Mais si j'ai une petite expérience en c, c'est la première
ecrire ds un fichier [ par 69lion69 ]
Salut a tous alor voila dans une application en api windows je créér un fichier et je copie le contenu dun tableau de float le fichier mais il ma'affi
pb acces avec createfile et ReadDirectoryChangesW [ par kts_system ]
bonjour,voila mon probleme : j'ai une classe qui permet de reperer les changement dans un dossier (ajout / modif /suppression)poutr cela je lance un t
Charger des fonctions depuis une dll [ par HeXa2 ]
Bonjour!Je viens de finir de compiler une DLL: H2BUSDLL.dllcette dll a pour but de gerer une communication sur le port com (que je vais interfacer ave
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : WIN APIRE : WIN API par racpp
Cliquez pour lire la suite par racpp WIN APIWIN API par omarino_007
Cliquez pour lire la suite par omarino_007
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|