APIS NATIVES - GESTION FICHIERS

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 12 déc. 2004 à 16:09
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012 - 15 déc. 2004 à 20:37
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/28146-apis-natives-gestion-fichiers

cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
15 déc. 2004 à 20:37
c'est des comparaison de temps pour un même traitement. voir source de Brunews pour les traitements effectué quand il avait fait un comparatif entre fopen et win32
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
15 déc. 2004 à 20:27
C'est quoi ces chiffres que tu donnes exactement?
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
15 déc. 2004 à 20:00
petit comparatif entre CreateFile et zwCreateFile (natif).

CreateFile: 8544568703
ZwCreateFile : 6178437443

je ne parle même pas de fopen... pourtant j'ai fais les tests mais ca reste sans comment... et la réponse semble évidente.
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
15 déc. 2004 à 19:58
sur qu'il faut savoir quand s'en servir et tout dépend ou sera utiliser le logiciel... ceci dit pour le 64 bit faudra si on veut optimiser redévelopper les applications.
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
14 déc. 2004 à 16:35
Oui mais je voulais dire, si MS change les paramètres de ZwMachinBidule (pour une raison X ou Y, supposons que la version 64 bits diffère de la version 32 bits ou qu'ils rajoutent un paramètre à la fonction), le code ne fonctionnera plus sur 2000... D'ailleurs ton code ne tourne pas sur NT4 (2000 mini si j'en crois ton intro, j'ai pas testé), ce n'est pourtant pas un winbébé quand même (et surtout, il est encore pas mal utilisé sur les stations) !

Y'a t'il vraiment un intérêt à cela (je ne nie pas que ce soit intéressant, j'aime bien les optimisations dans ce genre) dans une application "généraliste" ? J'y verrais plutôt dans un driver, perso...
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
14 déc. 2004 à 14:33
Sur mais sur tout les system NT pas de problème. Suffit juste de pas tourner sur du Winbebe.
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
14 déc. 2004 à 13:41
j'appel diret la fonction ZwCreateFile du system donc beaucoup plus rapide.

=> mouais enfin l'api native est susceptible de changer alors que Win32 est marquée stable, non ?
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
13 déc. 2004 à 18:57
daccord
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
13 déc. 2004 à 18:49
Donc forcement ZwCreateFile est développé par Microsoft...
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
13 déc. 2004 à 18:46
Non je ne recrais point d'APIs justement. J'utilise directement les APIs interne de Windows. Ce qui évite de passer par plein de couche (CreateFile) la j'appel diret la fonction ZwCreateFile du system donc beaucoup plus rapide.
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
13 déc. 2004 à 10:00
et moi j'ai une autre petite question, tu es en train de réécrire une api writefile en somme en utilisant ZwCreateFile.

Pourquoi la tienne serait plus rapide (si c'est là l'interet d'utiliser ZwCreateFile) que celle développée par Microsoft ?
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
12 déc. 2004 à 20:05
Je viens de modifier le code. Désormais l'allocation mémoire est égalemen réalisée via les APIs Natives.
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
12 déc. 2004 à 17:47
D'accord
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
12 déc. 2004 à 17:43
CreateFile appelera ZwCreateFile plus tard. L'avantage de bosser avec api native c'est que tu bosses direct avec ntdll.dll donc beaucoup plus rapide.
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
12 déc. 2004 à 16:09
J'ai plusieurs questions sur les API natives:
Quel est la différence entre ZwCreateFile et CreateFile par exemple? Qu'est ce qu'une API native? Et pourquoi les utiliser?
Rejoignez-nous