IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Problème Cancelio sur un readfile asynchrone


Sujet :

Windows

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 26
    Points : 19
    Points
    19
    Par défaut Problème Cancelio sur un readfile asynchrone
    Bonjour à tous,

    Je souhaiterai tester si mon driver a besoin d'une cancelroutine ou pas lorsque j'annule une IRP.

    Alors j'ai essayé de faire ceci côté appli :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
       HANDLE hld = CreateFile(_dlg->m_sName,
                                     GENERIC_READ,
                                     0,
                                     NULL,
                                     OPEN_EXISTING,
                                     FILE_FLAG_OVERLAPPED,
                                     NULL);
    
       _Overlapped.hEvent = _hEventR;
    
       _bRes = ReadFile(hld,
                            _dlg->m_InBuffer,
                            _ulBytesToRead,
                            &_ulByteCount,
                            &_Overlapped);
    
       //wait until the event is signaled 
       DWORD waitResult = WaitForSingleObject(_hEventR,5000);
    
       DWORD _dError = GetLastError();
       CString str;
       str.Format("%#x", _dError);
       _dlg->MessageBox(str);
       if (waitResult == WAIT_TIMEOUT)
       {
          CancelIo(hld);
       }
    
       WaitForSingleObject(_hEventR, INFINITE);
    Pour annuler mon IRP de lecture.

    Malheureusement l'exécution reste bloqué sur le cancelio sans jamais en sortir ...

    Est ce que quelqu'un comprend d'où vient le problème ?

    Merci de votre aide

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    Pour ceux que cela intéresse j'ai résolu mon problème en passant par un DeviceIoControl et dans le driver j'annule l'IRP.

    Si par hasard quelqu'un saurait quand même pourquoi cela n'a pas marché, n'hésitez pas .

    J'indique le sujet en résolu même si c'est une fausse résolution ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème droit sur un tablespace
    Par wazar dans le forum Administration
    Réponses: 11
    Dernier message: 05/01/2010, 15h12
  2. problème écriture sur un fichier
    Par drinkmilk dans le forum MFC
    Réponses: 4
    Dernier message: 24/06/2007, 00h08
  3. Problème innerHTML sur div !!!
    Par aburner dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/01/2005, 09h23
  4. [CR8] Problème tableau sur plusieurs pages???
    Par christophe28 dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 02/11/2004, 15h46
  5. [MFC] Problème pointeur sur une classe
    Par mick74 dans le forum MFC
    Réponses: 7
    Dernier message: 14/04/2004, 14h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo