Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [?]attesa cambiamenti con readdirectorychangesw

    salve,
    ho un problema con questa funzione windows,
    all'interno di un ciclo while di questo tipo:

    while(1)
    {
    readdirectorychanges(...);
    }

    dovrei attendere sia che ci siano cambiamenti sulla directory con HANDLE passato come primo argomento, sia che un altro thread segnali un evento.
    ho letto qualcosa sul passaggio della struttura OVERLAPPED e la completionroutine, ma non ne sono venuto a capo.
    questa è la pagina di riferimento della funzione:
    http://msdn2.microsoft.com/en-us/library/aa365465.aspx
    sapete illuminarmi? sono giorni che ci provo.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288

    Moderazione

    Linguaggio?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    la funzione è una primitiva di windows...

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da jurigagarin
    la funzione è una primitiva di windows...
    Ma ti hanno chiesto il linguaggio ... non che tipo di funzione devi usare ...

    Se scrivi

    codice:
    while(1)
    {
       readdirectorychanges(...);
    }
    non credo che tu stia usando VB ma, molto probabilmente il C ... e lo devi dire ...

    Detto questo, la funzione puo' essere eseguita in maniera sincrona o asincrona ... Perche' a te serve eseguirla in modo asincrono?

    In particolare, spendi qualche parola in piu' su quello che stai facendo o che vorresti fare ....

  5. #5
    allora il problema in particolare è il seguente...
    devo controllare i cambiamenti che avvengono su una directory riconoscendo quale è il file cambiato e fin qui niente di speciale, la readdirectorychangesw funziona e si presta allo scopo ritornando le info che mi servono nella struttura FILENOTIFYINFORMATION.
    il problema è che un altro thread che segnala un evento dovrebbe poter far ritornare la readdirectorychangesw(), per leggere i dati scritti da essa sul buffer di FILENOTIFYINFORMATION.
    spero di essere stato abbastanza completo stavolta
    saluti

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    No ... penso di non avere capito ancora il problema ... scusa, sara' un mio limite ...

  7. #7
    il problema in particolare è se è possibile con tale funzione controllare entrambi gli eventi, e quindi che argomenti passare

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    "Entrambi gli eventi" ... di quali eventi parli? Thread? Quali thread?

    Non si puo' rispondere se il quesito non e' chiaro ...

    In ogni caso, se ti puo' servire. dai un'occhiata a questo esempio

    http://www.codeproject.com/file/dire...ngewatcher.asp

  9. #9
    susa se non sono abbastanza chiaro ma sono in confusione completa...
    gli eventi per cui dovrebbe ritornare sono 2:
    il primo è quello nel caso in cui viene modificato un file nella directory (come nell'esempio del link da te postato)
    il secondo dovrebbe essere quello dovuto alla chiamata da parte di un altro thread della funzione setevent() che "segnala" l'evento.

    nella struttura OVERLAPPED passata alla readdirectorychangesw() c'è un campo hEvent...avevo pensato che inizializzando tale campo usando la openevent() con lo stesso nome utilizzato per l'evento dal'altro thread, potesse essere utile per il secondo caso, ma non sembra funzionare,anche specificando una completionroutine. In particolare se specifico questi due argomenti la readdirectorychangesw() esce subito anche se non è avvenuto niente e fa l'istruzione successiva senza fare la completion routine.

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288

    Moderazione

    Originariamente inviato da jurigagarin
    la funzione è una primitiva di windows...
    E che usi con quale linguaggio?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.