OVH Cloud OVH Cloud

Savoir si un fichier est ouvert

4 réponses
Avatar
Cyril COCQUEREL
Bonjour,

Je suis un débutant coté API Windows depuis bien des années.
Il faut dire que je bouffe des sacré doses de Windows, mais coté systèmes et
réseau (je suis administrateur/ingénieur/responsable matériel systèmes et
réseaux)

Cela fait longtemps que je n'étais pas venu sur ce forum (et que je n'avais
pas touché une ligne de code :-) ), et je salue tout ceux qui m'ont aidé
dans le passé...

Je cherches differentes infos si possible via l'API Win 32 ou l'API Native.
à défaut, en batch, ou en sript, ou à défaut en autre chose...
(que je chercherais à priori à utiliser en C++ tres C tout ce qu'il y a de
plus basique, probablement en mode console)

Je ne demande pas forcement de code, si il le faut, ça me prendra des mois
avant d'y arriver, mais déjà, rien que les fonctions seraient les
bienvenues.

Je cherche à savoir si un fichier est ouvert ou non.

Je voudrais pouvoir savoir quels thread/processus/appli accédent à un
fichier.
(un peu ce que fait unlocker avant de unlocker (ou comme l'une des
fonctionalités de process explorer de Sysinternals si il faut vraiment
passer par une énumération des handles process par process (doit on
effectivemet faire une énumération process par process?)).

Bon un peu hors du sujet de ma question, je souhaite aussi savoir de quelles
sessions viennent ces process dans le cas de serveurs TSE.

Dans le cas d'accès réseaux, je voudrais savoir quelles machines et quels
comptes windows sont utilisés pour acceder à ces fichiers (un peu comme ce
que l'on trouve dans compmgmt.msc (gestion systéme) dans la partie gestion
de l'ordinateur -> outils systèmes -> dossiers partagés -> fichiers ouverts
(ou ouvrir les fichiers sous 2000), mais en plus complet)

En tout cas, si quelqu'un a ça en magasin, je lui serais trés reconnaissant!

Merci, et à bientôt

Cyril

4 réponses

Avatar
Christian ASTOR
Cyril COCQUEREL a écrit :

Je cherche à savoir si un fichier est ouvert ou non.



Ouvrir en OF_SHARE_EXCLUSIVE

Je voudrais pouvoir savoir quels thread/processus/appli accédent à un
fichier.
(un peu ce que fait unlocker avant de unlocker (ou comme l'une des
fonctionalités de process explorer de Sysinternals si il faut vraiment
passer par une énumération des handles process par process (doit on
effectivemet faire une énumération process par process?)).



Lister la handle table (NtQuerySystemInformation())
Avatar
Cyril COCQUEREL
"Christian ASTOR" a écrit dans le message de
news:
Cyril COCQUEREL a écrit :

Je cherche à savoir si un fichier est ouvert ou non.



Ouvrir en OF_SHARE_EXCLUSIVE

Je voudrais pouvoir savoir quels thread/processus/appli accédent à un
fichier.
(un peu ce que fait unlocker avant de unlocker (ou comme l'une des
fonctionalités de process explorer de Sysinternals si il faut vraiment
passer par une énumération des handles process par process (doit on
effectivemet faire une énumération process par process?)).



Lister la handle table (NtQuerySystemInformation())

Merci :)

Et en ce qui concerne le fait de savoir si un fichier est ouvert depuis le
réseau et par quel utilisateur et quelle machine, y a des solutions
j'imagine puisqu'on le trouve dans le gestionnaire système.
Qu'en pensez vous?
Avatar
Christian ASTOR
Cyril COCQUEREL wrote:

Et en ce qui concerne le fait de savoir si un fichier est ouvert depuis le
réseau et par quel utilisateur et quelle machine, y a des solutions
j'imagine puisqu'on le trouve dans le gestionnaire système.
Qu'en pensez vous?



AfpAdminFileEnum() (complexe)
Avatar
Cyril COCQUEREL
"Christian ASTOR" a écrit dans le message de
news: 452aabf2$0$21142$
Cyril COCQUEREL wrote:

Et en ce qui concerne le fait de savoir si un fichier est ouvert depuis
le réseau et par quel utilisateur et quelle machine, y a des solutions
j'imagine puisqu'on le trouve dans le gestionnaire système.
Qu'en pensez vous?



AfpAdminFileEnum() (complexe)



Encore merci...
Dés que je trouve un moment je me penche là dessus...