Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

notification d'un repertoire

6 réponses
Avatar
Torri
Je voudrais savoir si, pour un répertoire donné, un sous répertoire (ou
un fichier) est ajouté, modifié ou supprimé.

J'ai réussi à trouver un code sur CodeProject : http://
www.codeproject.com/KB/system/Directory_Notification.aspx. Deux solutions
sont proposées.

Une est trop simple (celle qui utilise FindFirstChangeNotification() et
FindNextChangeNotification()). Trop simple dans le sens où je sais qu'il
y a eu une modification, mais je ne sais pas laquelle (ou en tout cas, je
n'ai pas trouvé comment dans msdn)

L'autre (qui utilise FsRtlNotifyFullChangeDirectory()) est celle qu'il me
faut : en fonction de ce que je veux monitorer, elle appelle un callback
dès que la modification correspondante a lieu. Par contre, quasiment rien
n'est donné concernant l'initialisation, la création des IRP ou des
IO_STACK_LOCATION, comment on les utilise dans ce cas particulier,
comment on utilise FsRtlNotifyFullChangeDirectory() (besoin ou non de
l'intégrer dans la boucle des messages ?) etc...

J'ai cherche sur google (rien) et msdn (pas assez clair pour cette partie
de la doc, je trouve)

Donc, j'aimerais savoir si quelqu'un a un petit exemple complet, ou bien
plus d'information a ce sujet, ou bien une autre méthode.

merci

6 réponses

Avatar
Christian ASTOR
On 24 juin, 10:03, Torri wrote:
Je voudrais savoir si, pour un répertoire donné, un sous répertoire (ou
un fichier) est ajouté, modifié ou supprimé.



Pour les directories, la solution standard est ReadDirectoryChangesW()
Avatar
Adrien Reboisson
Hello,

Donc, j'aimerais savoir si quelqu'un a un petit exemple complet, ou bien
plus d'information a ce sujet, ou bien une autre méthode.



La fonction que tu cites n'est pas une API Win32 standard. As tu regardé
dans le Windows DDK ? En général de toutes façon la création de drivers
pour Windows NT n'est pas un sujet aussi documenté que les autres et
nécessite une bonne vision du fonctionnement de Windows pour être achevé
avec succès.

A.R.
Avatar
torri
Christian ASTOR écrivait news:42d59290-0424-
:

On 24 juin, 10:03, Torri wrote:
Je voudrais savoir si, pour un répertoire donné, un sous répertoire


(ou
un fichier) est ajouté, modifié ou supprimé.



Pour les directories, la solution standard est ReadDirectoryChangesW()



En effet, vu la doc, ca a l'air defaire ce que je veux

merci
Avatar
torri
torri écrivait news:4861f458$0$26261
$:

Christian ASTOR écrivait news:42d59290-0424-
:

On 24 juin, 10:03, Torri wrote:
Je voudrais savoir si, pour un répertoire donné, un sous répertoire


(ou
un fichier) est ajouté, modifié ou supprimé.



Pour les directories, la solution standard est ReadDirectoryChangesW()



En effet, vu la doc, ca a l'air defaire ce que je veux



par contre, ca n'est que pour win xp au minimum. Il y a un moyen similaire
pour win 98 ?
Avatar
Christian ASTOR
torri wrote:

Christian ASTOR écrivait news:42d59290-0424-
Pour les directories, la solution standard est ReadDirectoryChangesW()



En effet, vu la doc, ca a l'air defaire ce que je veux





par contre, ca n'est que pour win xp au minimum. Il y a un moyen similaire
pour win 98 ?



Il y a SHChangeNotifyRegister() qui marchait pour Win 9x
Mais Win 98 n'est plus supporté par MS depuis 2003...
Avatar
torri
Christian ASTOR écrivait
news:4861fba7$0$21143$:

par contre, ca n'est que pour win xp au minimum. Il y a un moyen
similaire pour win 98 ?



Il y a SHChangeNotifyRegister() qui marchait pour Win 9x
Mais Win 98 n'est plus supporté par MS depuis 2003...



malheureusement, la lib que j'ecris peut tourner sur de vieilles
machines...

merci